Új hozzászólás Aktív témák
-
Fáraó
őstag
Üdv!
Bár a megoldás működik, nem tartom elegánsnak. Ha esetleg valaki tudna egy szebb megoldást, megköszönném.
Gyakorolgatom SE tudásomat és egy táblajátékot írok. 1, 2, 3, 4-el (plusz enter) lehet lépkedni a négy irányba, a lépés előtt vizsgálom a lehetséges lépésirányokat, amit beleteszek egy négy elemű boolean tömbbe (minden lépés előtt frissülő statikus tömb). A tömb alapján listázódnak ki a lehetséges lépésirányok. A kiíráshoz használom a tömb indexeit. A feldobott lehetséges irányokból az int movementDirection adja meg egy másik metódusnak a lépés irányát. Viszont arra is kell figyelnem, hogy csak 0-3 közötti szám legyen értéke, nehogy tömbindexelési kivételbe fussak (kivételkezelés alapfokon). A kódom:
public static int listPossibleSteps() {
//indexes of possibleSteps: 0: left; 1: up; 2: right; 3: down
int movementDirection = 0;
System.out.println("");
for (int i = 0; i < possibleSteps.length; i++) {
if (possibleSteps[i]) {
System.out.print((i + 1) + " - ");
switch (i) {
case 0:
System.out.print("Move left\n");
break;
case 1:
System.out.print("Move up\n");
break;
case 2:
System.out.print("Move right\n");
break;
case 3:
System.out.print("Move down\n");
break;
}
}
}
do {
do {
movementDirection = extra.Console.readInt("Please select: ");
} while (movementDirection < 1 || movementDirection > 4);
movementDirection--;
} while (!possibleSteps[movementDirection]);
return movementDirection;
}Működik, de ez a két do-while a végén nekem elég szar megoldásnak tűnik. Esetleg lenne rá szebb kód?
Köszi!
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Nem indul és mi a baja a gépemnek topik
- Genshin Impact (PC, PS4, Android, iOS)
- iPhone topik
- Nokia N8 - vajon elég lesz-e?
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Futás, futópályák
- Sweet.tv - internetes TV
- The Crew sorozat
- Milyen TV-t vegyek?
- Google Pixel topik
- További aktív témák...
- MacBook Pro 16" M1 16GB RAM 27%-os áfás számla (0231)
- Lenovo ThinkCentre/ Dell OptiPlex/ Hp EliteDesk mini, micro PC/ 8.-9.-10.gen/ Számla/garancia
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Lenovo ThinkPad T460s - i5-6GEN I 12GB I 256GB SSD I 14" FHD I Cam I W11 I Garancia!
- iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS4052, 94% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

