Enterprise Forever

:HUN => Programozás => BASIC => Topic started by: szipucsu on 2019.August.22. 19:28:31

Title: Entersnake 2 - scrollos gracha kígyós játék
Post by: szipucsu on 2019.August.22. 19:28:31
A grafikai topikban már úgyis lebuktattam magam, így itt van, ami eddig kész van a játékból. Az Entersnake játékot kezdtem átdolgozni. Az első 3 pálya kész van, ezen kívül még sok apró és kevésbé apró dolgon kell majd még finomítani. Például nem tudom, hogy amikor a játéktér széle is megjelenik a képernyőn fent vagy lent, akkor is scrollozzon-e tovább és a játék szempontjából lényegtelen terület is jelenjen meg, vagy akkor már ne legyen scroll, hanem a kígyó mozogjon a pályán, ne a pálya a kígyó alatt. Ha ott nem lenne scroll, több IF kellene a programba, ami lassítana, de Zzzipnél talán nem lényeges.
Még nincs mindegyik korábbi pálya ehhez a képernyőhöz igazítva, így a magasabb számú szinteknél a falak egy része a játéktér felett jelenhet meg. Viszont ha mindenki arra szavaz, hogy ne legyen scroll, amikor a játéktér széle is megjelenik, akkor vissza kell alakítani az eddigi pályákat is, mert így a 12. sorban kezdődnek a pályaelemek, mert az első 11 sorba a játék szempontjából nem kerül semmi, de érdekes és vicces feliratokat vagy ábrákat oda is lehetne tenni, ahogy most is van már ott valami.
Elvileg 182 karakter magas is lehetne a pálya, majd később tervezek ilyen pályát is hozzá.

Ez most nem soronként változó palettás, mert úgy nem tudnám scrollozni a pályát a hagyományos módszerrel, az egész játéktéren ugyanaz a paletta. De így se csúnya.
Endi, ha van kedved, csinálhatnál jó sok palettát a játékhoz! Úgy tervezem, hogy bizonyos powerupok is megváltoztatnák a palettát.
Lenne majd csúnya meglepi is, ahol a 3 színből 2 szín a háttér színére vált, és úgy kell átvészelni, amíg fel nem tud venni a játékos valami színváltó tablettát.
A menühöz is jó lenne normális paletta. Amit sokadjára belőttem, az nem az igazi szerintem.
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: geco on 2019.August.22. 22:23:10
Tetszik a zenéje, és a játék is gyors :)
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: Ferro73 on 2019.August.24. 20:41:13
Javaslatok:
Code: [Select]
8510   PRINT #3,AT 1,3:"LIVES:" ELET:PRINT #3,AT 1,18:DIF$:PRINT #3,AT 1,30:"LEVEL:" SZINT
Kettő PRINT utasítást megtakarítasz.
Code: [Select]
8510   PRINT #3,AT 1,3:"LIVES:" ELET;TAB(18) DIF$;TAB(30) "LEVEL:" SZINT;

Code: [Select]
  880       FOR IDO=120+PLUSIDO TO 0 STEP-1
  890         CALL LEPES
  900         SET CHARACTER 42,0,100,246,183,249,222,246,98,0
  910         CALL IRANY
  920         SET CHARACTER 42,0,0,96,70,102,38,96,0,0
  930         IF VEGE THEN EXIT FOR
  940       NEXT IDO
  945       SET CHARACTER 42,0,100,246,183,249,222,246,98,0
  950       LET PUT$=" "
Ha a 900 és a 920-as sort felcseréled akkor törölheted a 945. sort
Code: [Select]
  880       FOR IDO=120+PLUSIDO TO 0 STEP-1
  890         CALL LEPES
  900         SET CHARACTER 42,0,0,96,70,102,38,96,0,0
  910         CALL IRANY
  920         SET CHARACTER 42,0,100,246,183,249,222,246,98,0
  930         IF VEGE THEN EXIT FOR
  940       NEXT IDO
  950       LET PUT$=" "
Ja meg SPEEK végre megoldottam.
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: Ferro73 on 2019.August.24. 21:10:47
Javaslat:
Ha már maradtál a sajátodnál
Code: [Select]
6390   DO
 6400     LET A$=INKEY$
 6410     IF A$="" THEN GOTO 6400
 6420     IF (A$>="a" AND A$<="z") OR(A$>="A" AND A$<="Z") OR(A$>="0" AND A$<="9") OR(A$=" " AND LEN(NAME$)<>0) THEN
 6430       LET A$=UCASE$(A$)
 6435       CLEAR SOUND
Ha a 6430. sort berakod 6415 re akkor megspórolhatsz egy logikai párt.
Code: [Select]
6390   DO
 6400     LET A$=INKEY$
 6410     IF A$="" THEN GOTO 6400
 6415     LET A$=UCASE$(A$)
 6420     IF (A$>="A" AND A$<="Z") OR(A$>="0" AND A$<="9") OR(A$=" " AND LEN(NAME$)<>0) THEN
 6435       CLEAR SOUND
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: Ferro73 on 2019.August.24. 21:40:31
Javaslat
Code: [Select]
4872   LET I1=0:LET STICK=3
 4875   RESTORE 6852
 4880   FOR I=1 TO 93
 4881     READ G,H,J
 4882     SOUND PITCH G,DURATION H,SYNC 2,STYLE 16,RIGHT 48,LEFT 96
 4883     SOUND PITCH G+7,DURATION H,SYNC 2,SOURCE 2,STYLE 144,RIGHT 105,LEFT 96
 4884     SOUND SOURCE 3,STYLE J,ENVELOPE 20,DURATION H,SYNC 2,LEFT 255-(12*J),RIGHT(16*J)-1
 4890     GET A$
 4900     IF A$="1" THEN LET DIF$=" EASY ":LET DIF=0:PRINT #1,AT 16,28:DIF$:SOUND ENVELOPE 6,PITCH 25,INTERRUPT,SOURCE 1,STYLE 64
 4910     IF A$="2" THEN LET DIF$="MEDIUM":LET DIF=3:PRINT #1,AT 16,28:DIF$:SOUND ENVELOPE 6,INTERRUPT,SOURCE 1,STYLE 64
 4920     IF A$="3" THEN LET DIF$=" HARD ":LET DIF=4:PRINT #1,AT 16,28:DIF$:SOUND ENVELOPE 6,PITCH 49,INTERRUPT,SOURCE 1,STYLE 64
 4930     IF JOY(0)=16 THEN LET STICK=0:EXIT FOR
 4940     IF JOY(1)=16 THEN LET STICK=1:EXIT FOR
 4950     IF JOY(2)=16 THEN LET STICK=2:EXIT FOR
 4955     LET I1=I1+1
 4956     IF I1<21 THEN GOTO 4890
 4957     LET I1=0
 4960   NEXT
Ha a 4957. sort 4885 re átrakod akkor 4872. sorból törölheted.
Code: [Select]
4872   LET STICK=3
 4875   RESTORE 6852
 4880   FOR I=1 TO 93
 4881     READ G,H,J
 4882     SOUND PITCH G,DURATION H,SYNC 2,STYLE 16,RIGHT 48,LEFT 96
 4883     SOUND PITCH G+7,DURATION H,SYNC 2,SOURCE 2,STYLE 144,RIGHT 105,LEFT 96
 4884     SOUND SOURCE 3,STYLE J,ENVELOPE 20,DURATION H,SYNC 2,LEFT 255-(12*J),RIGHT(16*J)-1
 4885     LET I1=0
 4890     GET A$
 4900     IF A$="1" THEN LET DIF$=" EASY ":LET DIF=0:PRINT #1,AT 16,28:DIF$:SOUND ENVELOPE 6,PITCH 25,INTERRUPT,SOURCE 1,STYLE 64
 4910     IF A$="2" THEN LET DIF$="MEDIUM":LET DIF=3:PRINT #1,AT 16,28:DIF$:SOUND ENVELOPE 6,INTERRUPT,SOURCE 1,STYLE 64
 4920     IF A$="3" THEN LET DIF$=" HARD ":LET DIF=4:PRINT #1,AT 16,28:DIF$:SOUND ENVELOPE 6,PITCH 49,INTERRUPT,SOURCE 1,STYLE 64
 4930     IF JOY(0)=16 THEN LET STICK=0:EXIT FOR
 4940     IF JOY(1)=16 THEN LET STICK=1:EXIT FOR
 4950     IF JOY(2)=16 THEN LET STICK=2:EXIT FOR
 4955     LET I1=I1+1
 4956     IF I1<21 THEN GOTO 4890
 4960   NEXT
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: szipucsu on 2019.August.25. 15:56:03
Ha a 900 és a 920-as sort felcseréled akkor törölheted a 945. sort
Eredetileg úgy is volt. Azért cseréltem meg, mert ha képernyőmentést csináltunk a játékból, akkor vagy a gombócoknak volt éppen a nyomi fázisuk, vagy a kígyónak nem jelent még meg a feje.
De már gondolkodtam, hogy máshogy kéne megcsinálni a bogyók villogását. Ha maximális a sebesség, akkor bénán néz ki a vibrálás. Lehet, csak egy SET CHARACTER kellene a cikluson belül, az pedig mindig arra a fázisra váltana, ami éppen jön, egy IF-fel kiegészítve. Akkor viszont a nyomin kinéző fázis is tovább látszana, az se lenne jó. Lehet, a bogyó összes színét váltogatni kéne valami másra a két fázisban, kivéve a háttérszínt.
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: Ferro73 on 2019.August.25. 16:18:18
Ja, hogy ez a CHARACTER a bogyok én azt hittem a kígyó része.

Ez is ZZZIP re lesz ?
Akkor esetleg a DEF CHAR rutint bele helyezhető lenne így több helyre lehetne rakni CHAR változtatást.
Most még van hely.
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: endi on 2019.August.25. 16:45:46
ha már scrollos, lehetne valamennyire más a game.
nekem pl eléggé kaotikus már amikor marha sok felszedendő van, és azt se tudom melyik mi.
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: szipucsu on 2019.August.25. 17:25:55
Ja, hogy ez a CHARACTER a bogyok én azt hittem a kígyó része.
Ez a bogyókat vibráltatja. A kígyó gerezdjei négy fázisban váltakoznak, azt valamelyik DEF rutinba tettem bele, már nem tudom fejből, melyikbe.

Quote
Ez is ZZZIP re lesz ?
Igen.
De Zzzip nélkül is egész elfogadható sebességgel működik, ha kiveszünk belőle pár dolgot. Talán majd lehetne egy Zzzip nélküli, egyszerűsített változat is, de az még ráér. Gondolom, nem sok más retro számítógépen lehet ilyen scrollos játékot írni basic-ben, de lehet, hogy tévedek.

Quote
Akkor esetleg a DEF CHAR rutint bele helyezhető lenne így több helyre lehetne rakni CHAR változtatást.
Igen, én is úgy gondolom, hogy az a gyorsabb rutin, amit írtál, azt be lehetne tenni a SET CHARACTER-ek helyett.
Nem sokára megcsinálom a javaslataidat, és utána beleteheted a SET CHARACTER rutinodat, azt te tudod jobban, hogyan kell.

ha már scrollos, lehetne valamennyire más a game.
nekem pl eléggé kaotikus már amikor marha sok felszedendő van, és azt se tudom melyik mi.
Pont az benne a poén, hogy nagy a játéktér, és úgy a hosszú kígyó még inkább ki tudja tölteni, meg a sok cucc is. A lényeg, hogy van két powerup, amik kulcsfontosságúak, hogy több legyen a gombóc a pályán ill. kevesebbet kelljen összeszedni, ezeket kell felvenni a megfelelő időben. Az a powerup, ami megfelezi az összeszedendő gombócok számát (de csak ha már összeszedtél legalább 16-ot), cseles, mert az időt is a harmadára csökkenti. Viszont van olyan powerup, ami mindig megduplázza az időt, ha 100-nál kevesebb már.
De tényleg lehetne még ezt-azt módosítani. Olyan pályára is gondoltam, ahol nagyobb a pálya, és nem méri az időt. Majd a sokadik szint ilyen lesz. Lehet, hogy ahogy megyünk előre, egyre magasabbak lesznek a pályák. De ha van ötleted, akár pályát tudnál tervezni, az jöhetne. Olyasmit is tervezek, hogy a korábbi "kisképernyős" változatból venni pl. 3 pályát és azokat tenni egymás alá.
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: Ferro73 on 2019.August.25. 17:54:39
Igen, én is úgy gondolom, hogy az a gyorsabb rutin, amit írtál, azt be lehetne tenni a SET CHARACTER-ek helyett.
Nem sokára megcsinálom a javaslataidat, és utána beleteheted a SET CHARACTER rutinodat, azt te tudod jobban, hogyan kell.

DEF CHARACTER (https://enterpriseforever.com/programozas/hasznos-kis-basic-programok/msg76238/#msg76238)

ha már scrollos, lehetne valamennyire más a game.
nekem pl eléggé kaotikus már amikor marha sok felszedendő van, és azt se tudom melyik mi.

Esetleg valami labirintusos mászkálós 42x182  1x1 karakter 21x91 2x2 karakter
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: szipucsu on 2019.August.25. 18:01:51
21x91 2x2 karakter
Egyelőre ez most 1x1 karakteresre van kihegyezve. A 2x2 karaktereshez újra kéne rajzolni a pályaelemeket, és jó pár dolgot át kell írni a programban, pl. az ütközésvizsgálatot, mert akkor már két karakterre kell figyelni, hogy mivel ütközik. De ennek sincs akadálya, de én most egyelőre maradok az 1x1 karakteresnél. Viszont tényleg vagányul nézne ki 2x2 karakterekből álló kígyó a 2x2 karakterekből álló, scrollozó pályaelemekkel!
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: szipucsu on 2019.August.25. 18:07:45
ha már scrollos, lehetne valamennyire más a game.
182 karakter magas pálya, és kulcsokat is kellene gyűjtögetni, amikkel ajtókat lehetne kinyitni, és csak úgy lehetne eljutni a kijárathoz. És közben a kígyó hossza is számítana, tehát nem lehetne az ajtókat az eredeti kígyóhosszal kinyitni, hanem minden újabb kulcs csak újabb 20 gombóc felvétele után lenne használható. Kígyós labirintusos kalandjáték, egyre jobb! :D

De egyelőre maradhatunk az alap felállásnál, később még lehet fejleszteni kulcsos irányba is. Vagy most is lehet akár, csak győzzük követni, melyik játék írása épp hol tart. :D
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: Ferro73 on 2019.August.25. 18:14:43
Te döntesz a te projekted.
Én csak javaslatokat teszek.
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: szipucsu on 2019.August.25. 19:44:48
Megcsináltam az összes javaslatod, kivéve a gombócos-fázisosat, hogy a screenshot szép legyen. (Tehát nem cseréltem vissza a két karakterdefiníciót.) De a karakteres SPEEK-es dolgokat is beletettem, a kígyó gerezdjeinek animjához is..
Volt egy korábbi verzió, amit nem tettem ide fel. Már nem tudom, miben volt más, mint amit feltettem. Azt módosítottam most. Talán csak ott más, amikor a kukac a játék végén kimegy a játéktérből, más a hang olyankor.
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: Ferro73 on 2019.August.25. 20:25:54
Basic 510. leáll
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: szipucsu on 2019.August.25. 21:17:33
Basic 510. leáll
A Zzzip meg elfogadta, és még ráadásul jól is működik vele. :shock:
Fordítva adtam meg a 360. sor végén a tömb két elemét. A 3 helyett 4, a 4 helyett 3 kell. Így már basicben is működik. Csak azt nem értem, a Zzzip hogyhogy elfogadta rosszul is, és még ráadásul pont úgy működött vele, ahogy képzeltem.
Kijavítottam, és a főmenüben módosítottam a címet, hogy Entersnake 2:
[attach=1]
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: Ferro73 on 2019.August.25. 22:10:34
Belerakva a SPEEK.
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: szipucsu on 2019.August.25. 22:48:34
Belerakva a SPEEK.
Kipróbáltam, Zzzippel, működik! :smt041
Most már talán csak a pályák tervezése van hátra és esztétikai javítások, meg néhány apróság. Ja, meg más zenéket akarok majd tenni bele. Most ugyanazok vannak benne, mint az 1. verzióban.
Ha vannak javaslatok, jöhetnek, akár zenékre, akár bármire.
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: Ferro73 on 2019.August.26. 21:37:05
Zenében nem.
Grafika talán.
Javaslatok igen.

Javaslat:
A feleslegesé vált  ! sorokat törölni kellene és egy RENUMBER, már ha nem túl sok a kód.

Utána pásztázom további javaslatokért.
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: szipucsu on 2019.August.27. 17:23:47
A feleslegesé vált  ! sorokat törölni kellene és egy RENUMBER
Megcsináltam.
[attach=1] (A "hivatkozás mentésével" menthető, nem kép.)
[attach=2]
TXT-be is kilistáztam, hátha úgy könnyebb nézni.
Amire most rájöttem, a DEF CLS eljárás nem kell már, mert semmi nem hívja meg. A nem scrollos változatnál kellett a soronként változó paletta miatt, mert mindegyik sor külön videolap volt, és a képernyőtörlés emiatt nem volt olyan egyszerű.
A DEF FALAK eljárásnak főleg a második fele még csak helyfoglaló funkciójú, mert a scrollos változathoz még a csatornaszámokat is át kell írni. Jelenleg még talán hibát is okoz, ha a sokadik szintre érünk.
A játéktér majd bizonyos szinteken nagyobb lesz. Már most is 182-es a videolap magassága. Egyelőre úgy van belőve a program, hogy egy bizonyos játéktér nagyságot kezeljen, de majd ezeket megadó számok is változók lesznek, és majd a FALAK eljárásban fogom megadni minden egyes pályánál külön-külön, hol legyen az alsó fal.
A DEF SIR eljárásban a SET CHARACTER utasítás van a kukac összeomlasztásánál, nem a SPEEK-et meghívó függvény, de ez maradhatna is így, mert az összeomlasztáshoz ez a sebesség pont jó, nem kell gyorsítani.
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: Ferro73 on 2019.August.27. 18:58:38
Javaslat:
A DEF VIZS -ben a CASE "v".. és a DEF INVERT is feleslegesek szerintem.

Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: szipucsu on 2019.August.27. 20:03:38
CASE "v".. és a DEF INVERT is feleslegesek szerintem.
A CASE "v" kell, a tárgy felvételére bogyókat szór a képernyőre. De most már nem állítja fejre a képernyőt.
Még volt egy tárgynál !CALL INVERT, azt is kivettem.
Az még a gond, hogy a "t" és az "u" is ugyanaz az plusz időt jelentő powerup, elég lenne csak az egyik, és a másikra valami más powerupot találni ki. A nem scrollos verzióban is elvileg több plusz időt adó powerup jelenhetett meg, mint más powerup. Eredetileg régen úgy akartam, hogy az egyik elveszi az időt, a másik plusz időt ad, ezt végül valamiért nem csináltam meg.

Lehetne mondjuk olyan "powerup", amely lecsökkenti a látható területet. Most a kukac fejéhez képest fölötte is és alatta is 11 karakternyi látszik a játéktérből. Egy powerup ezt módosíthatná monduk 5-re vagy 6-ra. Ezzel egyidejűleg akár kétszer is kirakná ugyanazt a videolapot egymás alá, a vicc kedvéért.
Gondolkodtam olyanon is, hogy kisebb terület lenne látható a kukac feje körül, és a kukac vége meg egy másik videolapon lenne, alatta, mindig a kukac utolsó karaktere lenne középen.
Lehetne trükközni, hogy ugyanazt a videolapot egymás alá akár 3 példányban is kitegyük, ami sajnos semmilyen játéknál nem nagyon célszerű, viszont nagyon látványos.
Ha két játékos játszana egyszerre két kukaccal, akkor két részre lehetne osztani a képernyőt, és a felsőben az egyik, az alsóban a másik kukac feje lenne középen. Ilyesmi van azt hiszem, a Spy vs Spy játékban. Tron játékot így nagyon egyszerű lenne írni a kukacból.
Title: Re: Entersnake 2 - scrollos gracha kígyós játék
Post by: szipucsu on 2019.October.08. 23:59:04
Majdnem 10 éve írtam ilyet ide a fórumba. Érdekes, nem is emlékeztem már rá:
Az jutott eszembe, a kígyós játékot tovább lehetne fejleszteni kalandjáték szerûre. Hamika vagy Gombócfaló kígyóval kéne haladni, bonyolult labirintusban, persze egyszerre csak kis része látszana a labirintusnak. Lehetne pl. a Wriggler pályáját "importálni" ilyen játékba és versenyezni is lehetne. Az ütközés nem lenne halálos, de fogyna tõle az energia, amit bogyókkal növelni lehetne, de attól meg egyre hosszabb lesz a kígyó, ami bonyolítja a játékot. Jó kis ellenségeket kéne kitalálni.
De az is érdekes lehet, ha Tron szerû játékot játszunk Wriggler szerû labirintusban és célba kell érni.
Biztos megint nagyon pihent voltam... :D
Ha a Wriggler szerű pálya nem is, de ez-az megvalósulhat ebből még.
Vicces, hogy szinte csak a pályák megtervezése lenne hátra ebből az egyjátékos scrollos kígyós játékból, de inkább a kétjátékos verziót kezdtem el. Lehet, ezt kéne inkább előbb befejezni, követni is könnyebb lenne.
A 183 karakter magas pálya sem kizárt, de nem férne bele a basic programba úgy, hogy a Zzzip is lefordítsa még. Lehet, utántöltősre kéne majd megcsinálni, és külön fájlokban lenne sok 183 karakter magas pálya.
Vagy/és ki kéne találni valami eljárást, ami magától generál ilyen nagy pályákat. Végül is ez se lenne talán olyan nehéz. Néhány fal-variáció váltakozhatna, ismétlődhetne véletlenszerűen, csak az meg nem lenne túl változatos. (Abban a létrás-scrollos játékban is ez van.)
Igaz, előbb a nem túl nagy pályás, nem utántöltős verziót kéne befejezni.