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

 

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
1890 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
4014 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+15
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
15. 1. 2018   #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
4014 příspěvků
15. 1. 2018   #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

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×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, 2 hosté

Podobná vlákna

Piškvorky — založil verunka.41

Piškvorky — založil cacnejka

Piškvorky — založil rundll32.exe

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

Moderátoři diskuze

 

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