Diskuze: Adventura hra GUI - ročníkovka
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 15 zpráv z 15.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Takže děláš textovou hru která se větví na 3 možnosti ?
Jinak bych si udělal jiný systém než s poli ... např dát tomu nějaké
id .. 112132112213, 23121321 atp ... a podle daného id vykreslit dané texty
No... dělal bych to v konzoli a ne v gui. Ale co se týče tvého problému vůbec bych to neřešil přes nějaké pole, listy myslím že by byl idealní enum a tahat si data třeba z nějaké jednoduché databáze. V db by to mohlo vypadat třeba takhle "otazka;odpoved1;odpoved2;odpoved3;" můžeš použít třeba CSV nebo XML.
Ano, ve hře budou tři možnosti. Potom bych tam měl taky přidat obrázek.
HoBi - nerozumím tomu id..1121321...
Wintrixi, Bohužel, GUI už mám zadané. Jak přibližně by to vypadalo s tím
enumem + databází (typuji v .txt) ? Děkuji
to s tim id by bylo že si ty tři odpovědi očísluješ 1,2,3 a po zmáčknutí tlačítka se ti připíše 1, 2 nebo 3 ... a následně se vykreslí další část příběhu ...
a podle toho id budeš mít uložené někde že k tomu patří příběh, popisek na tl. 1, 2 a 3 ....
Vytvořit pěknou úplnou textovou hru, která se větví s každým krokem na tři další, je celkem velké sousto. Osobně bych se nejdříve zaměřil na ten příběh a zkusil ho nějak zacyklit. Klidně pár kroků, zkus třeba přidat i prvky náhody. Gui bych řešil až nakonec....
Ano, jako první by měl člověk vytvořit příběh ... je pak hodně
jednoduší udělat GUI ..
No heleť něco málo jsme sepsal, není to nic extra, doufám že soubory
číst umíš a databázi si vytvořit taky umíš, udělal jsem ti takovou
ukázku jak by to mohlo fungovat. Doufám že ti to pomůže a hodně štěstí.
Já teď mám svých starostí až až
// question.java
class Question implements ControlQuestion {
public String GetString(int idx){
return MyQuestion[idx];
}
private final String[]
MyQuestion = {
"Jsi v lese... co udelas? :",
"Uz nejsi v lese co udelas? :",
};
}
// ControlQuestion.java
interface ControlQuestion{
String GetString(int idx);
}
enum Strings{
Str_q1,
Str_q2,
};
// main soubor
public class cs {
public static void main(String args[]){
ControlQuestion lc = new Question();
System.out.println(lc.GetString(0));
}
}
Celkově se vypíše jen první otázka tzn " jsi v lese co udelas?" Teď už si to snad odvodíš sám a databáze nebude třeba ani potřeba... více jazykové aplikace dělám hard coded taky pokud tam není moc textu takže pár otázek nemusí být problém.. neřeknu kdyby otázek bylo třeba 300 to už bych to hard coded nedělal.
Ne! První by se měl naučit pracovat s jazykem a až pak dělat hru.
Tak samozřejmě začneš třídami, budeš mít třídy jako Predmet, Prostor, Batoh atd. David Dostal tu udělal super engine na textovky v Javě, když ho poprosíš, třeba ho zde publikuje a můžeš se inspirovat.
Spíš:
Mapa hry se dá velmi jednoduše udělat jako stavový automat. Jednotlivé stavy a texty se dají uložit do databáze, aby bylo možné hru za běhu modifikovat. Ve hře samotné by se neměl vyskytovat žádný výstupní text.
Také by bylo dobré, kdybys ten program napsal objektově. V Javě je to tak lepší.
Ještě to nemám úplně hotové, <a href="https://www.dropbox.com/s/lm8c8z25o86yaqr/Text_game_Salatik.zip">zde</a> ke stažení jedna ze starších verzí (novější zatím není až tak příkladná, až jí dodělám tak jí zde publikuju).
Zobrazeno 15 zpráv z 15.