NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s podporou uplatnění od 0 Kč. Více informací.

Diskuze: AI pro piškvorky

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Martin Štěpánek :24.12.2016 11:23

Ahoj,
právě si pro zábavu programuji piškvorky a potřeboval bych poradit s AI.
Potřebuji udělat metodu, která ověří jestli za sebou, nad sebou nebo diagonálně není určitý počet stejných prvků.

Přesněji piškvorky ukládám jako pole stringů, kde prázdná pole jsou # a protivníka O. Potřebuji metodu, která to pole projde a zjisti jestli se tímto způsobem neopakují O tolikrát kolik je x. (x se bude předávat jako argument te metodě)

Předem děkuji za pomoc :)

Odpovědět
24.12.2016 11:23
Všechno jde naprogramovat, chce to jen čas a chuť...
Avatar
Nahoru Odpovědět
24.12.2016 12:16
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na Luboš Běhounek Satik
Martin Štěpánek :24.12.2016 13:40

Tak to je jasné, že cyklem, nebo možná spíše rekurzí, ale jak. Můj mozek to trochu nedokáže pobrat :-D

Nahoru Odpovědět
24.12.2016 13:40
Všechno jde naprogramovat, chce to jen čas a chuť...
Avatar
Odpovídá na Martin Štěpánek
Luboš Běhounek Satik:24.12.2016 16:06

Nejdřív bych to spíš předělal na dvourozměrné pole.

Pak jen postupně projedeš nejdřív řádky, pak sloupce a pak diagonály, dokud narážíš na stejný znak.

Rekurzi na tuhle část nepotřebuješ :)

Nahoru Odpovědět
24.12.2016 16:06
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na Luboš Běhounek Satik
Martin Štěpánek :24.12.2016 20:14

Mám dvourozměrné a vím jak to najít. Spíše jde o to, že nevím, jak indentifikovat jestli jdou za sebou v určitém směru, jestli jich je daný počet a pokud ano tak za další dodat svůj tah, ale zároveň už nehledat dále. :-)

Nahoru Odpovědět
24.12.2016 20:14
Všechno jde naprogramovat, chce to jen čas a chuť...
Avatar
Odpovídá na Martin Štěpánek
Luboš Běhounek Satik:24.12.2016 20:38

To právě identifikujeme tím, že to najdeš... :D

Nahoru Odpovědět
24.12.2016 20:38
https://www.facebook.com/peasantsandcastles/
Avatar
Martin Skalík
Tvůrce
Avatar
Odpovídá na Martin Štěpánek
Martin Skalík:27.12.2016 10:50

No, to máš v celku jednoduché stačí procházet to pole po řádků, po sloupcích a pak do kříže. Čteš řádky pomocí for cyklu a zaznamenáváš aktuální znak a minulý znak a budeš zvětšovat int dokud nepotkáš jiný znak nebo int není 5. Pak to samé uděláš ve všech sloupcích a pak ty sloupce přečteš ještě naopak, pak budeš číst řádky a pak do kříže. Nevím co na tom je tak složitého.

 
Nahoru Odpovědět
27.12.2016 10:50
Avatar
Martin Skalík
Tvůrce
Avatar
Martin Skalík:27.12.2016 15:44

Oprava: nemusíš to dělat opačně

 
Nahoru Odpovědět
27.12.2016 15:44
Avatar
Štefan Melich:27.12.2016 20:08

Presne ako píše polemes nie je to nič zložité, ale dá sa to ešte zjednodušiť nemusíš prechádzať všetko ale vždy kontroluješ len od najnovšieho znaku ktorý pribudne na hracej ploche v každom smere. Ušetrí to dosť času a je to aj o dosť efektívnejšie. Dalo by to dosť práce keby si mal napr. hracie pole 100x100.
Ale ak ti to nepôjde, napíš mi správu môžem ti hodiť zdroják, prednedávnom som to tiež robil.

Editováno 27.12.2016 20:11
 
Nahoru Odpovědět
27.12.2016 20:08
Avatar
Martin Skalík
Tvůrce
Avatar
Martin Skalík:28.12.2016 8:49

Štefan Melich máš pravdu, šlo by to i by to urychlilo, ale pro toho co nechápe jak udělat to co jsem psal je to pro něho skoro nemožné ;-)

 
Nahoru Odpovědět
28.12.2016 8:49
Avatar
Štefan Melich:28.12.2016 11:24

No neviem veľký rozdiel medzi tým nebude. Ak to dokáže spraviť jedným spôsobom dokáže to aj druhým. :)

 
Nahoru Odpovědět
28.12.2016 11:24
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.