ENTERPRISE KLUB
2021. október 2., 1055 Budapest, Nyugati tér 9. 14-19 óráig
Belépés kizárólag klubtagok részére! (Klubkártyával vagy előfizetéssel!)
Welcome, Guest. Please login or register.


Author Topic: Escape (TVC) (Read 420 times)

Offline szipucsu

  • EP addict
  • *
  • Posts: 9123
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Escape (TVC)
« on: 2021.January.03. 21:14:11 »
Mostanában írtak egy másik basic programot is TVC-re, Escape a címe. Fut Geco szoftveres TVC emulátorán. A menüben benne van az irányítás:
* Escape.ep128s (62.12 kB - downloaded 127 times.)
* escape.txt (10.63 kB - downloaded 125 times.)
Gondolkodtam, hogy át lehetne írni EP-re, a program listája alapján szinte át se kell írni. Van benne néhány poke, a 2896-os címre ír értékeket, ezzel azt lehet állítani, hogy az egymásra printelt karakterek felülírják egymást, vagy átlátsszon a később printelt karakter. EP-n a grafikus módokban alapból egymásra rakja a karaktereket, attribútum módban felülírja. (Tényleg, azt el lehet érni attribútum módban valahogy, hogy egymásra kerüljenek a karakterek? Vagyis ne törölje le ott az előző karaktert, ahol 0 a karakter pixelének az értéke?) Ha törölni akarjuk, tintaszínnel kell felülírni előbb, szóval ez nem lenne probléma.
Még a TVC-hez hasonló, 32 karakter széles videolapot kell megnyitni a játék átírásakor a 42 helyett, de ez is ujjgyakorlat. Így elsőre más átírni valót nem láttam, az egy sorba zsúfolt utasítások szétszedésén kívül.
Utána lehet extrásítani a hangot és a grafikát, pl. soronként változó palettával, gyűrűmodulációs színekkel.

Érdekes fogást használ arra a program, hogy egy karakteren belül több szín legyen. Ugyanabba a pozícióba printel egymásra két karaktert, de a második printelése előtt megváltoztatja a színt.

A program átírásának hátránya az lehet, hogy a karakterek egy picit kisebbek lesznek, mivel az EP-s karakterek egy pixellel alacsonyabbak. Nem tudom, hogyan lehet megcsinálni, hogy EP-n az összes karakter egy pixellel magasabb legyen. Valahogy tuti meg lehet, hiszen a szoftveres emulátorban is ilyen. Ha ez is meglenne, akkor a színeket leszámítva (bias) tökéletesen lehetne szinte emulálni a TVC-s 4 színű módot, hiszen a 32 karakter széles TVC-s videolapot előállítani gyerekjáték.

Geco, azt mennyire lenne bonyolult megcsinálni, hogy basic program is kirajzolja a képernyő aljára a már jól ismert ENTERPRISE feliratot a szép színes vonalakkal? Gondolom, jó sok PLOT kellene hozzá egy 16 színű videólapra.
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline geco

  • EP addict
  • *
  • Posts: 6280
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 87.0.4280.101 Chrome 87.0.4280.101
    • View Profile
Re:Escape (TVC)
« Reply #1 on: 2021.January.03. 21:42:07 »
basicben nem lehet 10 pixel magas karaktereket elerni, mert a karakterkeszlet merete az ff szegmensen 9x8-as meretre van szabva, ha ez nem lenne,akkor is meg kene kuzdeni az EXOS LPT frissitesevel.
Az ENTERPRISE feliratot ugy tudnad legegyszerubben megcsinalni, hogy a 26. sorra nyitsz egy karakteres modot, 10 nem hasznalt karaktert atdefinialsz, es kiprinteled, a 27 sorra meg egy 16 szinu grafikus modot, es megrajzolod a vonalakat.

Offline szipucsu

  • EP addict
  • *
  • Posts: 9123
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Escape (TVC)
« Reply #2 on: 2021.January.04. 17:44:23 »
Na, ez azért durva TVC-n:

930 IF EL=1 THEN PRINT#0,AT EX,EY:MONSTER$:IF MOVE=1 THEN IF MAP(EX,EY)<>0 THEN EL=0:GOSUB3100:IF ENEMYLIVE(MAP(EX,EY))=1 THEN ENEMYLIVE(MAP(EX,EY))=0:GOSUB3120

A sorban a következő IF-et akkor nézi meg, ha az előző IF feltétele teljesült. EP-n valami ilyesmi lenne, de az END IF-ek hova kerülnek? Jól tippelem, hogy a végére? Már nem tudom követni:
Code: [Select]
930 IF EL=1 THEN
 931   PRINT #10,AT EX,EY:MONSTER$
 932   IF MOVE=1 THEN
 933     IF MAP(EX,EY)<>0 THEN
 934       EL=0:GOSUB 3100
 935       IF ENEMYLIVE(MAP(EX,EY))=1 THEN ENEMYLIVE(MAP(EX,EY))=0:GOSUB 3120
 936     END IF
 937   END IF
 938 END IF
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Tomato77

  • EP user
  • *
  • Posts: 335
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 87.0.4280.88 Chrome 87.0.4280.88
    • View Profile
Re:Escape (TVC)
« Reply #3 on: 2021.January.04. 21:12:03 »
TVC-n nem tudom, de EP-n kipróbáltam: ha egy feltétel teljesül, akkor a kettőspont utáni parancsokat is végrehajtja, mintha az IF THEN - END IF szerkezeten belül lennének. Ha TVC-n is így van, márpedig rokon a két Basic, akkor jó a kódod, és az END IF-ek is jó helyen vannak.

Ezzel a sorral próbáltam ki, az "a"-t és "b"-t is kiírta:
Code: [Select]
10 IF 1=1 THEN PRINT "a":PRINT "b"
« Last Edit: 2021.January.04. 21:15:50 by Tomato77 »
Kotasoft

Offline szipucsu

  • EP addict
  • *
  • Posts: 9123
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Escape (TVC)
« Reply #4 on: 2021.January.14. 17:54:26 »
Megcsináltam EP-re a TVC-s Escape játékot, és teleraktam EP-s extrákkal, amennyire tudtam. Ez mondjuk elég sokáig tartott, mert Geco 2 nap alatt írta át az Atic Atacot, és TVC-re is pár nap alatt írták át Spectrumról az International Karatét. Ez meg nekem majdnem két hét volt. Egyébként maga a játék nagyon jó, egy kicsit logikázni kell benne. Amíg kék a keret, addig nem lehet lépni még. Zzzippel lefordítottam, így várakozni se nagyon kell.
* Escape.ep128s (51.56 kB - downloaded 105 times.)
* Escape.zip (15.32 kB - downloaded 98 times.)
Ehhez kellett két envelope az escape szekvenciából. (A Zzzip nem szereti a törteket, envelope numbernél pedig törtet akartam megadni, így csak az escape szekvenciás módszer maradt, vagy a külön fájlból betöltése az envelope-nek, de ezt nem akartam.)
Elvileg ha 100-nál több ellenfél van a képernyőn, akkor leáll hibaüzenettel, de nem tudom, addig el lehet-e jutni. (Szerk: Most a 29. szintig jutottam el, ott 87 ellenfél volt.) A tömb mérete szerint kb. 768 ellenfél lehet, viszont a tömb összes elemének kezdeti értéknek 0-át kell adni, amit TVC-n meg lehet úszni, EP-n viszont sokat kell emiatt várakozni, így csak 100 elemnek adtam értéket a játék indulásakor.
Itt van egy régebbi változat, ami azért tetszik, mert valamit elszúrtam benne, de pont ezért lett kicsit más a szemük az ellenfeleknek, és néha piros lesz az egész ellenfél, ami elég jól áll nekik. Viszont itt nincs soronként változó paletta meg ilyenek, és a pálya utáni elszámolás is grafikus képernyőn történik még, így nem írják felül egymást az egymásra írt számok, ezt később attribútum képernyőre tettem.
* Escape old.ep128s (48.99 kB - downloaded 96 times.)
* Escape old.zip (12.1 kB - downloaded 94 times.)
« Last Edit: 2021.January.14. 18:34:08 by szipucsu »
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14015
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
    • http://enterprise.iko.hu/
Re:Escape (TVC)
« Reply #5 on: 2021.January.14. 19:20:40 »
Le kéne kérdezni a gép nyelvét, hogy az Y az Y legyen vagy Z :oops:

Offline Ferro73

  • EP lover
  • *
  • Posts: 819
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re:Escape (TVC)
« Reply #6 on: 2021.January.14. 19:38:01 »
Lehetséges javaslatok?
Code: [Select]
  230 RESTORE 3060
  240 READ T1$,T2$,T3$,T4$,T5$

 3060 DATA "**** **** **** **** ***  ****"
 3070 DATA "*    *    *    *  * *  * *   "
 3080 DATA "**** **** *    **** **** ****"
 3090 DATA "**** **** *    **** **** ****"
 3100 DATA "**** **** **** *  * *    ****"
236 byte helyett 215 byte
Code: [Select]
230 LET T1$= "**** **** **** **** ***  ****"
231 LET T2$= "*    *    *    *  * *  * *   "
232 LET T3$= "**** **** *    **** **** ****"
233 LET T4$= "**** **** *    **** **** ****"
234 LET T5$= "**** **** **** *  * *    ****"

Code: [Select]
310 DATA 63,63,63,199,199,199,7,7,7,248,248,248,56,56,192,192a
Code: [Select]
  260 RESTORE 310sor helyére

340 sorig csak egyszer fút le.

Offline szipucsu

  • EP addict
  • *
  • Posts: 9123
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Escape (TVC)
« Reply #7 on: 2021.January.14. 19:51:14 »
Le kéne kérdezni a gép nyelvét
Azt hogyan lehet frappánsan? A WHEN... EXT "HELP BRD"... HANDLER kezdőknek való megoldás. :D Van valami rendszerváltozó, vagy valami, amiből könnyen kiolvasható?

Lehetséges javaslatok?
Persze, ezeket meg is csinálhatom majd a gép nyelvének lekérdezésével együtt. Az eredeti TVC programban volt így, én meg annak a szerkezetén nem igazán változtattam. Jöhetnek további javaslatok, ha vannak.
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 819
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re:Escape (TVC)
« Reply #8 on: 2021.January.14. 20:00:13 »
További:
Code: [Select]
5000 DEF VIDEOINI
 5010   SET VIDEO X 32:SET VIDEO Y 1:SET VIDEO MODE 15
 5020   OPEN #1:"video:"
 5030   OPEN #2:"video:"
 5040   SET #1:PALETTE 32,254,111:SET #2:PALETTE 96,182,109
 5050   RESTORE 5110
 5060   FOR I=33 TO 54
 5070     OPEN #I:"video:"
 5080     READ J,K
 5090     SET #I:PALETTE J,K,217,123
 5100   NEXT
 5110   DATA 32,1,32,1
 5120   DATA 176,211,176,1
 5130   DATA 48,186,48,1
 5140   DATA 160,1,160,1,32,1
 5150   DATA 104,221
 5160   DATA 104,1,40,1
 5170   DATA 40,1,64,1
 5180   DATA 148,190
 5190   DATA 148,1,20,1,20,1
 5200   DATA 84,1,28,2
 5210   DATA 84,1,0,1
 5220   SET VIDEO MODE 1:SET VIDEO COLOR 1
 5230   FOR I=3 TO 24
 5240     OPEN #I:"video:"
 5250   NEXT I
 5260 END DEF
A DATA sorokat vagy a DEF-en kívül vagy a 5041-5059 sorba áthelyezni

Milyen "video:" a játék mező ATTRIBUTOM ?

Offline szipucsu

  • EP addict
  • *
  • Posts: 9123
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Escape (TVC)
« Reply #9 on: 2021.January.14. 20:38:35 »
Milyen "video:" a játék mező ATTRIBUTOM ?
4 színű grafikus képernyő a játékképernyő. A menü képernyője is ugyanaz. Pontosabban soronként külön-külön videolap.
Amikor a szintek után "végelszámolás" van, az attribútum képernyő, ez van a DATA sorokban, amit idéztél. (DEF PALGAME - a játékmező palettája; DEF PALMENU - a menü palettája; a szintek közötti elszámolós képernyő palettája meg a VIDEOINI-ben van.)
Ez azért van így, mert a krampuszok szemének a villódzását úgy oldják meg (meg a lövést is), hogy nem írja felül egyik karakter a másikat, hanem ráír. Ezt csak grafikus módban lehetett EP-n megcsinálni, attribútum képernyőn nem. (Vagy ha meg is lehetett volna, az biztos jó bonyolult lehet, amiről lövésem sincs.)
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14015
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
    • http://enterprise.iko.hu/
Re:Escape (TVC)
« Reply #10 on: 2021.January.14. 21:14:27 »
Azt hogyan lehet frappánsan? A WHEN... EXT "HELP BRD"... HANDLER kezdőknek való megoldás. :D Van valami rendszerváltozó, vagy valami, amiből könnyen kiolvasható?
144-es EXOS változó, de azt is WHEN blokkba kell rakni :-)
Ha nem létezik a változó, akkor angol.
Ha létezik, és értéke 0, akkor német, egyébként angol.

Offline szipucsu

  • EP addict
  • *
  • Posts: 9123
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Escape (TVC)
« Reply #11 on: 2021.January.14. 21:44:05 »
144-es EXOS változó
Köszi! Még az jutott eszembe, hogy megnézni ott, ahol a hibaüzenetek tárolódnak, hogy mi van. Pl. a Not understood / Nicht verstanden második betűjén megnézni, milyen bájt van. Ha "o", akkor angol, ha "i", akkor német. Vagy ez nem ilyen egyszerű? (Spanyol vagy magyar nyelvű gépnél megint más van ott, az biztos érdekes.)
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline szipucsu

  • EP addict
  • *
  • Posts: 9123
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Escape (TVC)
« Reply #12 on: 2021.January.14. 23:05:30 »
Ferro73 apró javaslatait megcsináltam, és most már elméletileg jó az irányítás is a Z és Y billentyűkkel angol és német gépen:
* Escape.ep128s (51.68 kB - downloaded 102 times.)
* Escape.zip (15.52 kB - downloaded 99 times.)
Én régen alapból úgy állítottam be az emulátort, hogy megcseréltem magamnak az y és z betűket, mert úgy kényelmesebb. Most aztán jól megjártam, mert most meg nekem nem jó sehogy sem a jó beállításokkal a játék. Ha minden igaz, de már teljesen belezavarodtam. Leellenőriztem uk és brd konfiggal is, elméletileg működik (nekem fordítva), de azért nézzétek meg, nálatok jól működik-e.
UI.: Közben eszembe jutott, az emulátorban is lehet betölteni/kimenteni keyboard configot az Options - Keyboard map menüpontban. Így visszaállítható az elállítgatás. A Clear All minden gomb működését törli, ez még nem tudom, miért lehet jó.
« Last Edit: 2021.January.14. 23:15:03 by szipucsu »
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline geco

  • EP addict
  • *
  • Posts: 6280
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re:Escape (TVC)
« Reply #13 on: 2021.January.15. 09:34:34 »
Jópofa kis játék, és jók lettek az extrák, pláne a press space-nél a hang.

Offline szipucsu

  • EP addict
  • *
  • Posts: 9123
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Escape (TVC)
« Reply #14 on: 2021.January.15. 11:33:08 »
Nem lassú kicsit, pl. a játék indításakor? Vagy belefér? Igaz, nem is tudom, hogyan lehetne még gyorsítani.
Elég, ha 100 ellenség a maximum? A 30-as szint fölé nem tudom, el lehet-e jutni. Tényleg ciki lenne, ha az izgalmas játék 100 ellenség fölött hibával leállna. :D
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos