Enterprise Forever

:HUN => Programozás => BASIC => Topic started by: Lacika on 2022.May.16. 17:46:09

Title: Eddie the Exterminator
Post by: Lacika on 2022.May.16. 17:46:09
Ez lefordítható Zzzip-pel, de nem indul el...
Tipp?
Title: Re:Eddie the Exterminator
Post by: Ferro73 on 2022.May.16. 18:46:05
Ez lefordítható Zzzip-pel, de nem indul el...
Tipp?

A DEF rutinok a DATA sorok nem igazán a "WHEN EXCEPTION USE PROGRAM_STOP" ciklusba kellene rakni.
Helyezd át 6100- és 9790 közé
Title: Re:Eddie the Exterminator
Post by: szipucsu on 2022.May.16. 19:08:34
A DEF rutinok a DATA sorok nem igazán a "WHEN EXCEPTION USE PROGRAM_STOP" ciklusba kellene rakni.
Helyezd át 6100- és 9790 közé
Basic utasítás nem lehet változónév, ez is okozhat hibát. Bár a PROGRAM_STOP nem feltétlen okozhat hibát, de kicsit gyanús.
Title: Re:Eddie the Exterminator
Post by: Ferro73 on 2022.May.16. 19:17:53
Ezeket át kéne rakni a BASIC részhez.

Basic utasítás nem lehet változónév, ez is okozhat hibát. Bár a PROGRAM_STOP nem feltétlen okozhat hibát, de kicsit gyanús.
Amúgy annak nincs jelentősége.
Inkább a program van össze kutyulva.
Hirtelenjében átláthatatlan, rendszertelen számomra legalábis.
Title: Re:Eddie the Exterminator
Post by: szipucsu on 2022.May.16. 19:18:44
Talán az egész WHEN-HANDLER dolgot meg lehetne szüntetni. Csak annyi a funkciója, ha jól látom, hogy a STOP megnyomásakor szövegel. Helyette lehetne az elején egy SET INTERRUPT STOP OFF - Szerk. Ja, az már ott van.
Ahol ! (megjegyzés) van a programban, azokat mind lehet törölni. Tapasztalat, hogy ezek is okozhatnak hibát a Zzzip számára. (Azt azért meg kell nézni, nincs-e GOTO a !-es sorra.)
Valahol volt egy NUMERIC egy DEF-en belül - a lokális változók is okozhatnak gondot.

Hirtelen ennyi, talán még kísérletezek vele.
Title: Re:Eddie the Exterminator
Post by: Ferro73 on 2022.May.16. 19:27:25
Valahol volt egy NUMERIC egy DEF-en belül - a lokális változók is okozhatnak gondot.

Hirtelen ennyi, talán még kísérletezek vele.

Inkább a program van össze kutyulva.

Ha végeztél vele esetleg én is átnézem.
Title: Re:Eddie the Exterminator
Post by: szipucsu on 2022.May.16. 19:39:33
Az első sor ez:

10 PROGRAM "EDDIE"(SCHAN,ECHAN)

Néhány sorral lejjebb már a FOR ciklusnál hivatkozik a SCHAN és ECHAN változóra is, de sehol nem kapnak ezek a változók értéket a programban. Honnan szedi az értéküket? Függ esetleg a géptípustól, hogy a PROGRAM után megadott változók értéke mennyi lesz? Lehet, hogy emiatt akad ki a Zzzip.

Szerk: A schan és az echan értéke is 0 volt. Valószínű, programozáskor odarittyentették valahonnan egy másik programból a változóneveket. Itt talán vehetjük 0-nak mindkettőt. Egy gonddal kevesebb, de még mindig nem indul el a Zzzippel fordított változat.
Title: Re:Eddie the Exterminator
Post by: Lacika on 2022.May.16. 20:00:43
Az első sor ez:
10 PROGRAM "EDDIE"(SCHAN,ECHAN)

A program első file-ja a 110, 113 értékekt adja át a programnak.
Title: Re:Eddie the Exterminator
Post by: Ferro73 on 2022.May.16. 20:14:00
A program első file-ja a 110, 113 értékekt adja át a programnak.
És valóban át adja ZZZZIP ben nem csak BASIC EDIT-nél?
Title: Re: Eddie the Exterminator
Post by: Lacika on 2022.May.16. 20:19:50
Az SCHAN és ECHAN változó csak azért kell, hogy a program lezárja az első file által megnyitott videócsatornákat, de ne álljon le hibával, ha a leállított játékot újraindítjuk. Ilyenkor ugyanis mindkét változó a 0 kezdőértéket fogja felvenni, és a videolap-lezáró ciklus 0-tól 0-ig (egyszer sem) fog lefutni.
Title: Re: Eddie the Exterminator
Post by: szipucsu on 2022.May.16. 20:31:32
Kicsit szerkesztgettem rajta, de most sem indul el. A hibaüzenet miatt az gyanús, hogy túl nagy érték keletkezik (16380-nál nagyobb?), amire a Zzzipben korlátozás van.
A program elejéről eltüntettem a schan-ékat. Ha sikerülne életet lehelni a programba, akkor esetleg vissza lehet rakni. Bár a legegyszerűbb letiltani a STOP-ot és a reset-et is teljesen, és akkor nem lesz gond.
A program legvégén van egy DEF blokk, ami lokális változót használ, és azon belül is fura, nagy számokat tartalmazó SPEEK-ek vannak, és azokon belül van BAND is, ami nekem furának tűnik. De lehet, hogy a BAND is belefér...
Pár helyen lehetne egyszerűsíteni a programon. A sok DATA mind törölhető lenne, és az utánuk megadott bináris értékek helyett decimálissal lehetne hivatkozni rájuk. Gondolom, karakterdefiníciók, mind mehetne SET CHARACTER x,y,z... alakba, sokkal kevesebb helyet foglalna. (Esetleg ki lehetne menteni a karakterkészletet külön fájlba és azt töltené vissza, a program jóval kisebb lenne.) De talán nem is ez okozza a hibát.
[attach=1]
Title: Re: Eddie the Exterminator
Post by: Ferro73 on 2022.May.16. 20:46:32
Hát ez még mindig zagyvaság.
És még rosszabb talán.
Az eredeti ...
Title: Re: Eddie the Exterminator
Post by: szipucsu on 2022.May.16. 22:55:08
Hát ez még mindig zagyvaság.
Nem mélyedtem nagyon bele, csak pár !-es sort töröltem, meg a WHEN-HANDLER-t, és a program elejéről, amiről beszéltünk. És a set interrupt key off utasítást is.

Most töröltem a program végéről a clear_status nevű eljárást, és azt, ami meghívja, de semmit nem változtatott a helyzeten, pedig erre gyanakodtam.
Title: Re: Eddie the Exterminator
Post by: Zozosoft on 2022.May.16. 22:56:12
Az a baj, hogy a karakter definiáló DATA sorokban több milliós értékek vannak, amelyek nyilván nagyobbak mint a ZIP által elfogadott 32767-es érték.
Szépen át kéne számolni őket rendes értékre, és aztán karakter definiáló sorban törölni a BIN utasításokat.
Vagy akkor már a DATA-s hülyeség helyett egyből egy pár SET CHARACTER-rel letudni a dolgot.
Title: Re: Eddie the Exterminator
Post by: Zozosoft on 2022.May.17. 10:19:07
Na a fenének se volt kedve annyi számot kézzel átkonvertálni, ezért kiszedtem a kérdéses részt, és csináltam belőle program író programot :ds_icon_cheesygrin:
Ezt már belehetett MERGE-elni a törölt DATA-k helyére, és így már elindul a lefordított játék. Képernyő törléssel még vannak gondok :oops:
Title: Re: Eddie the Exterminator
Post by: Zozosoft on 2022.May.17. 10:31:58
Képernyő törléssel még vannak gondok :oops:
Megoldva, úgy tűnik egy ZIP bug: a CLEAR SCREEN nem törli a grafikus lapot.
Javítás: minden CLEAR SCREEN-ből CLEAR SCREEN:CLEAR GRAPHICS lett.

És így már száguld az Eddie :ds_icon_cheesygrin:
Némi hanggal még fel lehetne dobni... :oops:
Title: Re: Eddie the Exterminator
Post by: gflorez on 2022.May.17. 11:33:05
A "Hall of Fame" képernyőn jobb lenne a 8 karakteres nevet elemezni az INPUT parancs használata helyett.

-

In the "Hall of Fame" screen  it could be better to parse the 8 character name instead of using an INPUT command.
Title: Re: Eddie the Exterminator
Post by: szipucsu on 2022.May.17. 18:45:50
Na a fenének se volt kedve annyi számot kézzel átkonvertálni, ezért kiszedtem a kérdéses részt, és csináltam belőle program író programot :ds_icon_cheesygrin:
Jó kis módszer! Én elindítottam volna a programot, elmentettem volna egy másik programmal az átdefiniált karakterkészletet, és ezt töltettem volna be a játékban.
Gyanús volt az a sok DATA sor. Az nem tudatosult, hogy decimális számként értelmezi az 11111111-et. Szóval az ilyen binárisokkal is vigyázni kell a Zzzippel. Akkor a Zzzip nem is tudja kezelni a BIN függvényt, ha 5-nél több 0/1 érték van benne?
Jó, hogy a clear screen bug is kiderült.
Hangot, zenét majd rakhatok a játékba.
Title: Re: Eddie the Exterminator
Post by: Zozosoft on 2022.May.17. 18:52:43
Akkor a Zzzip nem is tudja kezelni a BIN függvényt, ha 5-nél több 0/1 érték van benne?
Tudja, de csak akkor ha közvetlenül a BIN-ben van megadva (erre lett kivétel beépítve).
Title: Re: Eddie the Exterminator
Post by: szipucsu on 2022.May.18. 22:18:01
Kell a program elejére egy TEXT 40, mert ha 80-as módban töltjük be, akkor játék közben lent a kijelző 80-as módú lesz, ami nem szép. (De lehetne attribútum képernyőn is a lenti kijelző, több szín lehetne így benne.)
Annak van valami értelme, hogy az elején van egy set interrupt stop off, majd kicsit később set interrupt stop on? Maradhatna off végig, mert zzzppelt programból nincs értelme kilépni, ráadásul a continue sem működik. A set interrupt key off-nak sem tudom, van-e itt valami értelme, lehetne törölni. (Ha most még fejlesztgetjük a programot, maradhat a stop on, a végleges verzióból törölhető.)

A nehezebb szinteken két kulcs felvételekor újabb ellenfelek robbannak be a képernyőre, de a régi ellenfelek is ottmaradnak, pedig valójában nincsenek ott. Még a pontszámtáblánál az eight szót csúnyán szétszedi, nem fér ki a sor végére.

Egyelőre a set interrupt key off helyett betettem egy text 40-et, mást nem módosítottam, ez lett az e3 verzió.

Zzzippel szép gyorsan fut!
(Felhagytam a Zzzippel lefordított program .zip kiterjesztésével, .com lett inkább, mert a tömörített PC-s mappa is zip, és itt pont mindkettő előfordul. Most kezdem sejteni, Laci miért rak mindent .rar-ba.)

[attach=1]
[attach=2]
Title: Re: Eddie the Exterminator
Post by: Zozosoft on 2022.May.19. 09:12:05
Annak van valami értelme, hogy az elején van egy set interrupt stop off, majd kicsit később set interrupt stop on?
Volt eredetileg az a WHEN blokkos STOP figyelés, annak a maradványa.

Quote
A nehezebb szinteken két kulcs felvételekor újabb ellenfelek robbannak be a képernyőre, de a régi ellenfelek is ottmaradnak, pedig valójában nincsenek ott.
Itt az lehetett a szándék, hogy az időközben meghalt robotok támadjanak fel. Figyelést kéne belerakni, hogy csak ezekből generáljon újat.
Title: Re: Eddie the Exterminator
Post by: Ferro73 on 2022.May.19. 17:51:17
Rendeztem egy kicsit az "e3"

A változókat nem kellene definiálni?
Title: Re: Eddie the Exterminator
Post by: szipucsu on 2022.May.19. 20:27:55
A változókat nem kellene definiálni?
Lehetne, de fut anélkül is. Szerintem érdemesebb inkább más dolgokkal foglalkozni, pl. amit írt Zozo, hogy csak a kinyiffant szörnyeket rakja vissza a képernyőre a 2. kulcs felvételekor. (Egyébként nem is feltétele a pálya teljesítésének mindkét kulcs felvétele, mert az első felvétele után megjelenik a kijárat.)

Közben rájöttem, az eredeti programban a PROGRAM "eddie"(x,y) változóátadásnak se volt sok értelme, mert egy TEXT 40 paranccsal minden esetben jól indul a játék...

Majd meg lehetne csinálni 4 színű gracha módúra is a játékot. Kisebb felbontásúak lennének a pályaelemek, de színesebbek. De lehetne 8 színű is, és soronként változó paletta is lehetne. Soronként változó palettánál nem működne az a folyamatos vibrálás, vagy legalábbis biztos jó sokat lassítana, gondolom.
Title: Re: Eddie the Exterminator
Post by: Zozosoft on 2022.May.19. 21:26:28
Meg valami hang is jó lenne... :oops:
Title: Re: Eddie the Exterminator
Post by: Ferro73 on 2022.May.20. 08:03:15
Ha lesz hozzá írás utána még javítgatok ha igény lesz rá.

Találtam pár dolgot.
Title: Re: Eddie the Exterminator
Post by: szipucsu on 2022.May.20. 18:27:35
Ha lesz hozzá írás utána még javítgatok ha igény lesz rá.
Javíthatsz rajta. Ha kész vagy, majd teszek bele hangokat, vagy aki akar, majd tehet bele mást is, ha van ötlet.
Title: Re: Eddie the Exterminator
Post by: Ferro73 on 2022.May.21. 06:50:20
Itt van megint egy kicsit kigubancolt darab.

ez még működik.