Prvních 8 příspěvků je věnováno staré verzi enginu .
pracovní podnázev: Jak jsem na Amigu kladivem šel
Tak jsem se rozhodl zveřejnit video, jak pracuje můj nedokončený engine pro textovou hru. Je na něm ještě hodně práce.
1. spuštění je při výkonu A1200, v 2. spuštění Python zahlásil chybu, tak jsem to restartnul a 3. spuštěmí je u výkonu A3000, co je Amiga s turbokartou. Pamět je cca na 2 MB po startu systému co je u Pythonu minimum.
Použil jsem proporcionální font (různá šířka písma), líbí se mi. To zavádí pár problémů. Vozík, nebo kurzor se po obrazovce posouvá tak, jako by používal font s pevně danou šířkou. To znamená, že nám od zobrazeného písma "utíká", protože u proporcionálního fontu ma celkový text menší šířku než má font s pevně danou šířkou. Typickým příkladem je třeba písmeno "I". V současné době jsou vidět v zobrazení textu mezery. Je to dané tím, že tabulka, která nese informace o tom, kolik má které písmeno pixelů neni zcela hotova (takové vyplňování mne děsně nebaví). Předpokladám, že po její kompletizaci budu moci text napasovat na sebe přesně. Další problém je v jednotlivém zadávaní příkazů. Jak je na videu vidět, pokud zobrazuji větší úsek textu příkazu "POM" jako pomoc (když text vytánu z paměti a nezadávám ho jednotlivým stiskem kláves "P", "O" a "M"), je zobrazen v pořádku, ale u jednotlivého stisku kláves je již problém. Zde nedokážu kurzor vracet, na to musím předat aktivitu samotnému programu a ta vzniká až po zmačknutí klávesy Enter. Nastavit šířku o kterou se má vozík posunout umím, je to ale parametr společný pro všechny písmena. Tohle chci řešit nějakým kompromisem pro malá písmena s tím, že je doporučím používat pro psaní textu.
Teď něco málo o asi největším problému samotného enginu. Krom toho, že je napsaný v Pythonu, samotná pomalost Pythonu mne donutila udělat jistý kompromis. Tím, že používam pro text proporcionální font, musím, jak jsem již psal vracet kurzor zpět, aby jsem mohl psát po celé šířce obrazovky, jinak se mi v cca polovine sámotný text automaticky zalomil (přešel na 2. řádku).
Vracení vozíku o konkrétní pixely jsou ale výpočty navíc... .
Nejdříve jsem měl vracení vozíku po každém slovu. Rychlost vypisování textu na holé A1200 se pro mne stala neúnosná. Rozhodl jsem se tedy zvýšit rychlost vypisování textu na úkor komfortu zadávaní textu pro místnost v samotném programu. Jednoduše řečeno vypisuji text po větších částech, než je 1 slovo. Pokud ale tahle část je větší, než by měla, zalomí se mi text třeba v polovině obrazovky a pokračuje se ve vypisování textu na dalším řádku. V tomhle případe je již pozdě vracet kurzor, když už je samotný text napsán. Musí se tedy odzkoušet úsek textu, který ještě dokáže Workbench zobrazit na 1 řádku a to je opruz. Tímhle jsem ale docílil zkrácení již tak pomalého vypisování textu na polovinu.
zde uvedu jak to v současné chvíly funguje v jedné místnosti:
- prvních 6 trojek říká, že po zadání Severu (1.trojka), Jihu (2.trojka) a ostatních smerů (i nahoru a dolů) se skočí na místnost č.3. U Prince Jasoňe to tak u výchozí místnosti je.
- 03 - text začne vypisovat na 3. znaku
- mezi "; ;" je úsek textu pro zobrazení (pak posun vozíku zpět)
- "_" zalomení textu, "2" - přeskoč 1 řádek
- "....Koloděje.;"_203 - "_" - zalom řádek, "2" - přeskoč 1 řádek, "03" - začni text na 3. znaku.
- "0 0" - konec textu místnosti.
- "_pom" - text pro příkaz "pom" jako pomoc, "201" - z toho první číslo "2" - pomoc má 3 části (0,1,2), pak "0" - po 1. zadání "pom" se vypíše 1. část (0), pak se přejde na část 2. (1)....
.... _ 2první řádek .... (2. část příkazu "pom"), ";" další řádek 2. části, ";" 3. řádek 2. části. .....
.... pokud místo čísla 0-9 dám cokoliv jiného, ja tam mám mezeru (3....;_ (mezera) smažu... ) , ale je jedno co tam bude, říkám programu aby všechen text pro příkaz "pom" z místnosti smazal, mohl by jsem ho ale nasměrovat na kteroukoliv část příkazu "pom". Můžu klidně začít od posledí části "pom", přecházet k 1. části a pak pořád cyklovat pouze 1. část "pom" dokola. Pokud bude "pom" smazán, bude použita univerzální věta pro všechny místnosti.
- za dalším "0 0" jsou věci, které místnost obsahuje. V tomhle případě je to papír.
Vše co zatím engine umí je na videu, ostatní je třeba dodělat.
programování zdar .
pracovní podnázev: Jak jsem na Amigu kladivem šel
Tak jsem se rozhodl zveřejnit video, jak pracuje můj nedokončený engine pro textovou hru. Je na něm ještě hodně práce.
1. spuštění je při výkonu A1200, v 2. spuštění Python zahlásil chybu, tak jsem to restartnul a 3. spuštěmí je u výkonu A3000, co je Amiga s turbokartou. Pamět je cca na 2 MB po startu systému co je u Pythonu minimum.
Použil jsem proporcionální font (různá šířka písma), líbí se mi. To zavádí pár problémů. Vozík, nebo kurzor se po obrazovce posouvá tak, jako by používal font s pevně danou šířkou. To znamená, že nám od zobrazeného písma "utíká", protože u proporcionálního fontu ma celkový text menší šířku než má font s pevně danou šířkou. Typickým příkladem je třeba písmeno "I". V současné době jsou vidět v zobrazení textu mezery. Je to dané tím, že tabulka, která nese informace o tom, kolik má které písmeno pixelů neni zcela hotova (takové vyplňování mne děsně nebaví). Předpokladám, že po její kompletizaci budu moci text napasovat na sebe přesně. Další problém je v jednotlivém zadávaní příkazů. Jak je na videu vidět, pokud zobrazuji větší úsek textu příkazu "POM" jako pomoc (když text vytánu z paměti a nezadávám ho jednotlivým stiskem kláves "P", "O" a "M"), je zobrazen v pořádku, ale u jednotlivého stisku kláves je již problém. Zde nedokážu kurzor vracet, na to musím předat aktivitu samotnému programu a ta vzniká až po zmačknutí klávesy Enter. Nastavit šířku o kterou se má vozík posunout umím, je to ale parametr společný pro všechny písmena. Tohle chci řešit nějakým kompromisem pro malá písmena s tím, že je doporučím používat pro psaní textu.
Teď něco málo o asi největším problému samotného enginu. Krom toho, že je napsaný v Pythonu, samotná pomalost Pythonu mne donutila udělat jistý kompromis. Tím, že používam pro text proporcionální font, musím, jak jsem již psal vracet kurzor zpět, aby jsem mohl psát po celé šířce obrazovky, jinak se mi v cca polovine sámotný text automaticky zalomil (přešel na 2. řádku).
Vracení vozíku o konkrétní pixely jsou ale výpočty navíc... .
Nejdříve jsem měl vracení vozíku po každém slovu. Rychlost vypisování textu na holé A1200 se pro mne stala neúnosná. Rozhodl jsem se tedy zvýšit rychlost vypisování textu na úkor komfortu zadávaní textu pro místnost v samotném programu. Jednoduše řečeno vypisuji text po větších částech, než je 1 slovo. Pokud ale tahle část je větší, než by měla, zalomí se mi text třeba v polovině obrazovky a pokračuje se ve vypisování textu na dalším řádku. V tomhle případe je již pozdě vracet kurzor, když už je samotný text napsán. Musí se tedy odzkoušet úsek textu, který ještě dokáže Workbench zobrazit na 1 řádku a to je opruz. Tímhle jsem ale docílil zkrácení již tak pomalého vypisování textu na polovinu.
zde uvedu jak to v současné chvíly funguje v jedné místnosti:
Code:
"3_3_3_3_3_3_03Ocitl jste se ve;strědověkuv hustém;lese.;_2Jako statečný princ Jasoň;hrdě vyrážíte;osvodit;_1princeznu Zlatovlásku ze;zakletí zlého;_1obra Koloděje.;_203...mnoho štěstí!0 0_pom201Zbývá jen vyrazit;_ 2první řádek;2....;3....;_ smažu text pro pomoc;0 0 papír;",
- 03 - text začne vypisovat na 3. znaku
- mezi "; ;" je úsek textu pro zobrazení (pak posun vozíku zpět)
- "_" zalomení textu, "2" - přeskoč 1 řádek
- "....Koloděje.;"_203 - "_" - zalom řádek, "2" - přeskoč 1 řádek, "03" - začni text na 3. znaku.
- "0 0" - konec textu místnosti.
- "_pom" - text pro příkaz "pom" jako pomoc, "201" - z toho první číslo "2" - pomoc má 3 části (0,1,2), pak "0" - po 1. zadání "pom" se vypíše 1. část (0), pak se přejde na část 2. (1)....
.... _ 2první řádek .... (2. část příkazu "pom"), ";" další řádek 2. části, ";" 3. řádek 2. části. .....
.... pokud místo čísla 0-9 dám cokoliv jiného, ja tam mám mezeru (3....;_ (mezera) smažu... ) , ale je jedno co tam bude, říkám programu aby všechen text pro příkaz "pom" z místnosti smazal, mohl by jsem ho ale nasměrovat na kteroukoliv část příkazu "pom". Můžu klidně začít od posledí části "pom", přecházet k 1. části a pak pořád cyklovat pouze 1. část "pom" dokola. Pokud bude "pom" smazán, bude použita univerzální věta pro všechny místnosti.
- za dalším "0 0" jsou věci, které místnost obsahuje. V tomhle případě je to papír.
Vše co zatím engine umí je na videu, ostatní je třeba dodělat.
programování zdar .
Komentovat