Jen taková otázečka. Nemá někdo na skladě piškvorky v Pythonu?
Fórum › Python
Piskvorky v Pythonu
![](img/forum_vlakno_help_vyreseno.png)
hej lidi, to bych bral taky, a? se p?iu??m...
u? v tom zvl?d?m r?zn? v?ci, ted sem se zrovna dal na generov?n? frakt?l?, docela hust? v?c, takov? zaj?mav? tvary a ??kal jsem si, jak nejsem dobrej.. tak sem na?el n?kde na webu sotu?? o nejlep?? frakt?ly v Pythonu (blenderu) no a ty jo, co sem nevid?l.... To moje by se dalo p?i?adit k ?kod? 120 v jej? dob? a ty sout??n? v?ci k dne?n?m ferrari..
?koda v jej? dob? byla auto, ale dnes u? se nos? jin? v?ci... ikdy? i ta ?kodovka se cen? :)
Hodis ty fraktaly do skriptarny? Treba i s odkazama na dokumentaci a tak?
2freeman-half: Piskvorky zkusim nekde pohledat...ale to vlastne muzes i ty. Google musi najit vsechno...
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Google naslo ***** :( Tak pisu sem, v Tkinteru by to byla asi hracka... ale ja ho neumim... :( Neco do shellu by se hodilo, sli by i udelat ty piskvorky, jen nevim jak to udelat aby se vymazala celej shell a zacalo se psat od zacatku neco jako v dosu CLS. Chci to cely proto, protoze se s kamose ve skole nudime a chctel bych tam mit jednoduchou kravinku na hrani po siti. Sesotovat je to hracka ale to graficky provedeni mi dela problem... :( Nenapada vas nejaka jina hra co by sla udelat do shellu, a dala se parit po siti ??
Farundel napsal:
Hodis ty fraktaly do skriptarny? Treba i s odkazama na dokumentaci a tak?
ty jo já nevim... ono to zase tolik propracované neni, třeba ten kod je hroznej, jen když se kouknu na mé úkoly z pythonu.. nic moc známky...
takže by to ani nesloužilo jako úkol... navíc s pythonem teprv začínám, tak musím po krůčkách, a první co bylo u tutoriálu na python bylo grafické vykreslení, tak sem si o tom zjistil víc... fraktály jsou fakt zajímavá věc, ale možná pozdějc, ať to aspoň malinko nějak upravím....
ale tu dokumentaci bych mohl, kde jsem to našel a tak, to jsi myslel, že ? :)
pi?kvorky se anglicky ?ekne tic-tac-toe. V z?kladn?m proveden? je to ale jen takov? tup? hra pro ameri?any na 3 k???ky (3 vyhr?vaj? a ?achovnice je 3x3). Pak se taky ??k? Five-in-a-row. Ani ji? nev?m, kter? z t?ch odkaz? mi hodil v?ce v?sledk?, odkazy nem?m, m?m jen p?r sta?en?ch her. Ale ani jedna nen? p?esn? to co chce?, ale snad jako uk?zka. Snad je ji? najde? s?m. V?tr?inou jsou v pygame nebo konzolovky.
morpyon
pyTre
2XenoCIDa: ok, rozumim ti. Sam bych asi nechtel rozsirovat moje nedokonaly dila...mohl bys mi to alespon poslat na mail? Opravdu by me zajimalo, jak to zhruba vypada...
Jo, tou dokumentaci myslim to...
UPDATE: Wow! Ja jsem boss! :o)))
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
# -*- coding: utf-8 -*-
from livewires import *
c=1
begin_graphics(300,300)
s=0.25
f=0
k=0
m=1
g=[0,0,0,0,0,0,0,0,0,0]
line(0,0,0,300)
line(100,0,100,300)
line(200,0,200,300)
line(300,0,300,300)
line(0,0,300,0)
line(0,100,300,100)
line(0,200,300,200)
line(0,300,300,300)
while not f==1:
k=keys_pressed()
if '1' in k:
m=1
if '2' in k:
m=2
if '3' in k:
m=3
if '4' in k:
m=4
if '5' in k:
m=5
if '6' in k:
m=6
if '7' in k:
m=7
if '8' in k:
m=8
if '9' in k:
m=9
if ('1' in k) and (c==1) and (g[m]<>1):
circle(50,50,50)
c=0
g[m]=1
sleep(s)
elif ('2' in k) and (c==1) and (g[m]<>1):
circle(150,50,50)
c=0
g[m]=1
sleep(s)
elif ('3' in k) and (c==1) and (g[m]<>1):
circle(250,50,50)
c=0
g[m]=1
sleep(s)
elif ('4' in k) and (c==1) and (g[m]<>1):
circle(50,150,50)
c=0
g[m]=1
sleep(s)
elif ('5' in k) and (c==1) and (g[m]<>1):
circle(150,150,50)
c=0
g[m]=1
sleep(s)
elif ('6' in k) and (c==1) and (g[m]<>1):
circle(250,150,50)
c=0
g[m]=1
sleep(s)
elif ('7' in k) and (c==1) and (g[m]<>1):
circle(50,250,50)
c=0
g[m]=1
sleep(s)
elif ('8' in k) and (c==1) and (g[m]<>1):
circle(150,250,50)
c=0
g[m]=1
sleep(s)
elif ('9' in k) and (c==1) and (g[m]<>1):
circle(250,250,50)
c=0
g[m]=1
sleep(s)
elif ('1' in k) and (c==0) and (g[m]<>1):
line(0,0,100,100)
line(100,0,0,100)
c=1
g[m]=1
sleep(s)
elif ('2' in k) and (c==0) and (g[m]<>1):
line(100,0,200,100)
line(200,0,100,100)
c=1
g[m]=1
sleep(s)
elif ('3' in k) and (c==0) and (g[m]<>1):
line(200,0,300,100)
line(300,0,200,100)
c=1
g[m]=1
sleep(s)
elif ('4' in k) and (c==0) and (g[m]<>1):
line(0,100,100,200)
line(100,100,0,200)
c=1
g[m]=1
sleep(s)
elif ('5' in k) and (c==0) and (g[m]<>1):
line(100,100,200,200)
line(200,100,100,200)
c=1
g[m]=1
sleep(s)
elif ('6' in k) and (c==0) and (g[m]<>1):
line(200,100,300,200)
line(300,100,200,200)
c=1
g[m]=1
sleep(s)
elif ('7' in k) and (c==0) and (g[m]<>1):
line(0,200,100,300)
line(100,200,0,300)
c=1
g[m]=1
sleep(s)
elif ('8' in k) and (c==0) and (g[m]<>1):
line(100,200,200,300)
line(200,200,100,300)
c=1
g[m]=1
sleep(s)
elif ('9' in k) and (c==0) and (g[m]<>1):
line(200,200,300,300)
line(300,200,200,300)
c=1
g[m]=1
sleep(s)
elif 'q' in k:
f=1
end_graphics()
Tak napr. toto su piškvorky cez livewires, nieje to ešte dotiahnuté, ale čo chcete za pol hodiny.
Ak? ve?k? m? by? to pole?
Ko?ko pi?kvoriek ved?a seba m? znamena? v??azstvo?
K tej my?i: r?d by som ju tam dal, ale s tou to e?te neviem, uvid?m zajtra, m?m de? volna, sk?sim si to pozrie?.
Si nehrál nikdy piškvorky? :-)
Jo a být tebou, tak již opustím Livewires - to je jen na seznámení se s gui pod Pythonem a přešel bych na jiný, lepší. Chvýli to bude trvat, než do novýho pronikneš, ale pak ti to ušetří mnoho starosti a mnoho kodu.
Tak som sa s tým zase trocha bavil a dospel som k tomuto:
# -*- coding: utf-8 -*-
from livewires import *
begin_graphics(300,300)
typ=0
f=0
g=range(301*301)
for m in range(0,300*300,1):
g[m]=0
for m in range(0,300,25):
line(m,0,m,300)
line(0,m,300,m)
begin_mouse()
while not f==1:
if mouse_wait('click') is None:
c = mouse_position()
if c is not None:
c1=c[0]
c2=c[1]
for x in range(0,300,25):
if c1>x and c1<(x+25):
for y in range(0,300,25):
if c2>y and c2<(y+25):
xy=x*y
if g[xy]==0:
if typ==0:
typ=1
circle(x+12,300-y-12,12)
g[xy]=1
elif typ==1:
typ=0
line(x,300-y,x+25,300-y-25)
line(x,300-y-25,x+25,300-y)
g[xy]=1
end_mouse()
end_graphics()
Sů tam ale problémy, za 1. po kliknutí musí človek pohnúť mierne myšou aby sa zaregistrovala pozícia myši. Za 2. Neviem prečo, ale vždy blbne zadávanie znakov(niektorý proste nejdů, ani náhodou) a nezdá sa mi že by bola nejaká chyba v kóde.
Do kódu jsem zatim moc nekoukal, ale háže to chybu a na některé místo mi to kolečko nebo kroužek nešel dát:(
A presne to je problém, neviem prečo to robí!!!
btw: mám verziu, kde nieje ošetrený vstup a v tej to ide zadávať vřade:
# -*- coding: utf-8 -*-
from livewires import *
begin_graphics(300,300)
typ=0
f=0
for m in range(0,300,25):
line(m,0,m,300)
line(0,m,300,m)
begin_mouse()
while not f==1:
if mouse_wait('click') is None:
c = mouse_position()
if c is not None:
c1=c[0]
c2=c[1]
for x in range(0,300,25):
if c1>x and c1<(x+25):
for y in range(0,300,25):
if c2>y and c2<(y+25):
if typ==0:
typ=1
circle(x+12,300-y-12,12)
elif typ==1:
typ=0
line(x,300-y,x+25,300-y-25)
line(x,300-y-25,x+25,300-y)
end_mouse()
end_graphics()
A nevadí vám, že můžete zadávat na jedno a to isté políčko aj křižik aj guličku a aj niekolko krát?
no to by bylo dobré ošetřit :))
Lenže ten predposlední kód to má mať aj ošetrené, ale z nejakého mne neznámeho důvodu to tam funguje blbo(blokuje aj políčka, na ktorých nič nieje).
Co takhle skladovat data (x a 0) v nejakem dvourozmernem poli? Moc jsem si ten program neprohlizel, tak nevim jestli to tam nahodou nemas...pak bys mohl dodelat i tu umelou inteligenci...
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Tak kone?ne sa mi podarilo o?etri? to zad?vanie(kone?ne som pri?iel na to, ako sa zad?vaj? 2D zoznami)!!! M?m e?te 2 ot?zky, na ko?ko v??azn?ch ved?a seba sa hr?(4 ?i 5), pozn?m toti? ve?a verzi? pi?kvorok a fakt neviem, ktor? ste mali na mysli a ?i sa hra kon?? ak nazbiera 1 z hr??ov tie 4 alebo 5 pol??ok, alebo pokra?uje(do ko?ko?)?.
Tu je k?d:
# -*- coding: utf-8 -*-
from livewires import *
begin_graphics(300,300)
typ=0
f=0
for m in range(0,300,25):
line(m,0,m,300)
line(0,m,300,m)
p=range(300)
p1=range(300)
for m in range(0,300,1):
p[m]=range(300)
p1[m]=range(300)
for m in range(0,300,1):
for n in range(0,300,1):
p[m][n]=0
p1[m][n]=0
begin_mouse()
while not f==1:
if mouse_wait('click') is None:
c = mouse_position()
if c is not None:
c1=c[0]
c2=c[1]
for x in range(0,300,25):
if c1>x and c1<(x+25):
for y in range(0,300,25):
if c2>y and c2<(y+25):
if p[x][y]==0 and p1[x][y]==0:
if typ==0:
typ=1
p[x][y]=circle(x+12,300-y-12,12)
elif typ==1:
typ=0
p1[x][y]=line(x,300-y,x+25,300-y-25)
p2=line(x,300-y-25,x+25,300-y)
end_mouse()
end_graphics()
Zdravím všechny ! (můj 1. příspěvek :))
Tahle zálezitost jak naprogramovat piškvorky mě zaujala, což takhle vyhlásit nějakou soutěž o nejlepší program? Vyhrou by bylo ... mno obdiv celé programátorské obce :) Vzpomínám si, že jsem před lety udělal piškvorky v Basicu, to byly časy, takže teď to zkusím v Pythonu.
No já nejsem proti, možná že i naopak. Již jsem přemýšlel i o hodnocení:
1. funkčnost 50%
2. přehlednost kodu 20%
3. design 20%
4. délka kodu 10%
Bylo by to zatím jen asi Python, gui jakékoliv, včetně textového gui (ale ne textovku). Ceny jak jsi říkal, porota nevím kdo, asi jí a ještě někdo. Ale kdo by se zůčastnil (abychom to nedělali pro 3 lidi)
Takže dotaz:
* kdo by se zúčastnil, přihlaste se
* zároveň napište komentář k hodnocení
:cz:
Já bych se klidně zúčastnil...
Tak dejte kdyžtak vědět kam posílat řešení... a dokdy
:skunk:
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
Zajimavy namet na soutez, vskutku... bohuzel ted asi nebudu mit moc casu na nejake velke kodeni... mam na nejakou dobu trochu jine plany (C a GTK na Liuxu).
Ale pokud by to byla nejaka dlouhodobejsi zalezitost, tak bych se rad pripojil...
2D1ce: Tak to jsem jeste nikdy nikde nestudoval, prave proto me ta potencialni soutez zajima, ale resil bych to asi pres hodnoceni jednotlivych policek a vybirani nejlepsi varianty podle prave toho bodoveho ohodnoceni... ale to jsem asi zadnou novinku nevymyslel, jinak to totiz nepujde :o))) Konkretne bych to zacal rozebirat az pri navrhu... ted se mi premyslet nechce a vim, ze vymyslet to by nebyla takova sranda...
EDIT: A koukal jsi [url=http://www.red3d.com/cwr/games/]sem[/url]? To vypada na docela slusnou zasobu webu na tema AI...
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Náhodou jsem narazil na seriál - http://www.linuxsoft.cz/article.php?id_article=1109, který se mi zdá jako další možná studnice inspirace pro AI jak u piškvorek, tak i jiných stolních her.
Uvazoval jsem o tom, ze ti sem ten serial postnu, ale pak jsem si rekl, ze vzhledem k tomu, ze jsi se v kodu tamtech piskvorek nevyznal, tak ti to ani nabizet nebudu...ono to totiz vubec neni nejak trivialni... ale ten serial je super, i kdyz jsem ho poradne jeste nestudoval.
Vim o nem, protoze jsem byl jednim z tech, kdoz si ho kdysi "vyprosili" primo u autora :o)
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Já bych se přidal k té soutěži..
mimochodem:
dnes sem našel řešení...Nějak sem se poslední dobou rozjel v programování v Q-basicu. Zkusil sem vytisknout ascii tabulku a ejhle! Vždycky to začalo až třináckou...No nebudu se rozepisovat.Prostě:neco jako v dosu CLS
print chr(12)
:skunk2:Tak ja sa hlásim, kód je na 2. strane.
Piškvorky v Pythonu pomocí Tkinter dělám, jako dlouhodobku. :-) Má to se síťovou hru, ale jen po LANu, nebo pomocí Hamachi(to jsem netestoval) Jestli ti nejde o kód, tak ti můžu poslat exe soubor ;-) Michal1.9.9.2@seznam.cz
Medzi rečou, táto téma je cez 5 rokov stará :D
![](img/forum_nove_psp_new.png)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
![](/img/smile/1.gif)
![](/img/smile/2.gif)
![](/img/smile/3.gif)
![](/img/smile/4.gif)
![](/img/smile/5.gif)
![](/img/smile/6.gif)
![](/img/smile/7.gif)
![](/img/smile/8.gif)
![](/img/smile/9.gif)
![](/img/smile/10.gif)
![](/img/smile/11.gif)
![](/img/smile/12.gif)
![](/img/smile/13.gif)
![](/img/smile/14.gif)
![](/img/smile/15.gif)
![](/img/smile/16.gif)
![](/img/smile/17.gif)
![](/img/smile/18.gif)
![](/img/smile/19.gif)
![](/img/smile/20.gif)
![](/img/smile/21.gif)
![](/img/smile/22.gif)
![](/img/smile/23.gif)
![](/img/smile/24.gif)
![](/img/smile/25.gif)
![](/img/smile/26.gif)
![](/img/smile/27.gif)
![](/img/smile/28.gif)
![](/img/smile/29.gif)
![](/img/smile/30.gif)
![](/img/smile/31.gif)
![](/img/smile/32.gif)
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Piškvorky — založil rundll32.exe
GUI piškvorky — založil Luxfer
Piškvorky v PHP — založil pc_manik
Moderátoři diskuze