Java-piškvorky – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Java-piškvorky – Java – Fórum – Programujte.comJava-piškvorky – Java – Fórum – Programujte.com

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín

Vlákno bylo úspěšně vloženo.
Pokud sám přijdeš na řešení, nezapomeň ho sem přidat!
Spuštěný nový filmový web Filmožrouti.cz — vše o Avengers, Pacific Rim, Thor, Star Wars…
Tpartl460
Duch
31. 12. 2017   #1
-
0
-

Ahoj, v knížce bylo zadání na  naprogramování hry piškvorky, bohužel kniha je bez klíče.

Piškvorky: vygenerujte a vytiskněte herní plán. Následně umožněte zadávání a provádění tahů vždy s odpovědí stroje a s tiskem nové herní situace.

Matice např. 10x10, zobrazení na konzoli, zadávání tahu, kontrola tahu, provedení tahu, analýza situace a odpověď stroje, zobrazení…

Zjistil jsem, že mám problém s tou maticí, a celkově. Jsem samouk a s tímto už nevím jak dál. Kdyby někdo  věděl co  s tím, byl bych vděčný za každou radu. Chtěl bych vědět jak to vypadá abych se mohl posunout. Rád bych věděl jak to funguje.

Díky  

Nahlásit jako SPAM
IP: 178.255.170.–
gna
~ Anonymní uživatel
479 příspěvků
1. 1. 2018   #2
-
0
-

Matice je dvourozměrné pole. Po zadání souřadnic zkontroluješ, jestli jsou v mezích pole a pozice je volná a po vložení značky zkontroluješ, jestli jsi vytvořil řadu. Je to jen operování s indexy pole.

int velikost = 10;
char[][] matice = new char[velikost][velikost];

for (int y = 0; y < velikost; y++)
	for (int x = 0; x < velikost; x++)
		matice[y][x] = '.';

matice[4][4] = 'X';
matice[5][5] = 'O';

for (int y = 0; y < velikost; y++) {
	System.out.print("|");
	for (int x = 0; x < velikost; x++)
		System.out.print(matice[y][x]);
	System.out.println("|");
}
Nahlásit jako SPAM
IP: 213.211.51.–
Tpartl46
~ Anonymní uživatel
3 příspěvky
1. 1. 2018   #3
-
0
-

#2 gna
Paráda , díky moc.   

Nahlásit jako SPAM
IP: 178.255.170.–
Tpartl46
~ Anonymní uživatel
3 příspěvky
1. 1. 2018   #4
-
0
-

#2 gna
Šťastný Nový rok, a hodně štěstí a zdraví

Nahlásit jako SPAM
IP: 178.255.170.–
peter
~ Anonymní uživatel
3086 příspěvků
2. 1. 2018   #5
-
0
-

Dalo by se pouzit i jednorozmerne pole, ale pak je treba mit funkce pro prepocitavani souradnic (pro jine casti programu).

char[] matice = new char[velikost * velikost];

int z = 0;
for (int y = 0; y < velikost; y++) for (int x = 0; x < velikost; x++, z++) matice[z] = '.';

Nahlásit jako SPAM
IP: 2001:718:2601:258:edab:22...–
Kit+13
Guru
2. 1. 2018   #6
-
0
-

#5 peter
Ano, jednorozměrné pole je v takové aplikaci mnohem praktičtější.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Moped0
Duch
Včera   #7
-
0
-

Ahojte,

Prosím o radu. Tiež riešim piškvorky a neviem si poradiť už pár dní... Potrebujem aby mi po nesplnení podmienky za IF, znovu spustilo zadávanie hodnoty x a y. Skúšal som to cez boolean ale nejak to nefunguje...

while (!tah1) 
                System.out.println("Na rade je hrac s X:");
                System.out.println("Zadaj poziciu x:");
                int pozxX = Integer.parseInt(sc.nextLine());
                System.out.println("Zadaj poziciu y:");
                int pozyX = Integer.parseInt(sc.nextLine());

                if (pozxX < 9 && pozyX < 9 && pole[pozxX][pozyX] == 0) {
                    pole[pozxX][pozyX] = 1;
                    
                } else {
                    tah1=false;
                    System.out.println("Neplatna pozicia, zadaj znovu:");
                    
                }

Nahlásit jako SPAM
IP: 217.64.4.–
peter
~ Anonymní uživatel
3086 příspěvků
Včera   #8
-
0
-

Nove zadani, nove tema!

'Potrebujem aby mi po nesplnení podmienky za IF, znovu spustilo zadávanie hodnoty x '
Podle kodu by to mohlo delat.
Zkus si vypsat stav jednotlivych podminek na obrazovku.

Zkus misto pozxX,pozyX pouzivat x,y.

Nemas tam tah1=true, takze ten cyklus pojede do nekonecna?

System.out.println - je podle mne vypis text, ale v kodu nevidim precti text. Mozna, ze to dela sc.nextLine()?

Nahlásit jako SPAM
IP: 2001:718:2601:258:58d1:c1...–
Zjistit počet nových příspěvků

Přidej příspěvek

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 42 hostů

Podobná vlákna

Piškvorky — založil verunka.41

Piškvorky — založil rundll32.exe

Piskvorky v dev-c++ — založil kamil

Piškvorky-vyhodnocovanie — založil Peter

GUI piškvorky — založil Luxfer

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032018 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý