Welcome, Guest. Please login or register.


Author Topic: Entersnake - gracha kígyós játék (Read 46118 times)

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: Entersnake - gracha kígyós játék
« Reply #60 on: 2019.July.10. 21:31:51 »
Felesleges sorba rendezni az egészet, mert úgyis rendezett.

Amúgy is lusta vagyok olyan sok kódot meg írni.

Mennyivel egyszerűbb pár tiz sort megírni mint több százat.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Entersnake - gracha kígyós játék
« Reply #61 on: 2019.July.11. 11:27:54 »
A sorbarendezős részt lecseréltem az újra. A toplistát kiíró rész is egyszerűbb lett így.
Majd még talán próbálok zenét betenni a főmenübe, meg talán az életek elfogyásakor és a játék teljesítésekor is lehetne valami zene, csak nem tudom, belefér-e még a zzzippelhető változat méreteibe.
[ Guests cannot view attachments ]
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: Entersnake - gracha kígyós játék
« Reply #62 on: 2019.July.11. 12:58:39 »
Hol a határ ZZZIP nél?

A felesleges sorokat ki szedhetők majd.

Esetleg rendezni kellene.
Például:
 a DEF ... rutinokat a program végére helyezni
 a DATA sorokat eléjük

vagyis:

INI rész
Főprogram
DATA rész
DEF ... rész

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: Entersnake - gracha kígyós játék
« Reply #63 on: 2019.July.11. 13:45:34 »
Javaslatok:
a DEF FOCIM-ben:

SET BORDER,0
áthelyezése 300-400 sorba úgyis csak egyszer használod.

a DO ... LOOP sorokba be lehetne rakni zenét.
Esetleg a kukacfejeket változtatni másodpercenként?

A 4900,4910,4920 sorokban a DIF$="..." mi célt szolgál?
Esetleg a sorban levő PRINT-nél lehetne még használni.
Így helyet spórolhatunk. PRINT #16,AT 1,18:DIF$

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Entersnake - gracha kígyós játék
« Reply #64 on: 2019.July.11. 14:02:19 »
a DEF ... rutinokat a program végére helyezni
 a DATA sorokat eléjük
A Hetedhéten túl című könyvben is meglepő módon a DEF blokkok egyik fele a főprogram előtt van, a másik fele meg utána. Nem tudom, miért.

Quote
SET BORDER 0
áthelyezése 300-400 sorba úgyis csak egyszer használod.
Játék közben is változik a keret színe, ha megvan a 16 bogyó összeszedése. Később visszaáll 0-ra a keret színe. Ezért kell mindig 0-ra állítani a menühöz, mert a játék teljesítése vagy az összes élet elvesztése után is vissza kell állítani.

Quote
A 4900,4910,4920 sorokban a DIF$="..." mi célt szolgál?
Három nehézségi fokozatot lehet állítani. Az elsőnél nem gyorsul a kukac, ahogy fogy az idő. A második fokozatban gyorsul (ez az alapbeállítás). Nehéznél még gyorsabban gyorsul, ha jól emlékszem.
A DIF$-ba írja a nehézségi fokozat nevét. Ez azért jó, mert játék közben is ott van a játéktér felett. Könnyebb nehézségi fokozaton kevesebb pontot kapunk egy bogyó elfogyasztásáért, a legnehezebb fokozatban meg a legtöbbet. (A DIF változó értékét is figyelembe veszi bogyó megevésekor a pontszám növelésénél.)

Quote
Esetleg a sorban levő PRINT-nél lehetne még használni.
Így helyet spórolhatunk. PRINT #16,AT 1,18:DIF$
Ennek lehet jelentősége? Pl. "EASY   " helyett DiF$-t használni? Az a baj, a menüben a szóközök a végén vannak, a játékban az elején. Különben a játékban nem lenne teljesen középen, a menüben meg elé rakná a szóközöket, ami ronda lenne. A végükre azért kell szóköz, mert különben ott maradna a "MEDIUM" utolsó két betűje az EASY és a HARD után.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: Entersnake - gracha kígyós játék
« Reply #65 on: 2019.July.11. 14:23:02 »
Ennek lehet jelentősége? Pl. "EASY   " helyett DiF$-t használni? Az a baj, a menüben a szóközök a végén vannak, a játékban az elején. Különben a játékban nem lenne teljesen középen, a menüben meg elé rakná a szóközöket, ami ronda lenne. A végükre azért kell szóköz, mert különben ott maradna a "MEDIUM" utolsó két betűje az EASY és a HARD után.
És ha
Code: [Select]
" EASY "
"MEDIUM"
" HARD "
Használnál ?
Akár az "easy" és a "hard" nál PRINT AT 1,17:
Ez nem szőrszál hasogatás. Felőlem maradhat. Ezek csak javaslatok. Építő kritikák.
A Mester-től sem az alapokat kapod.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Entersnake - gracha kígyós játék
« Reply #66 on: 2019.July.11. 15:27:51 »
Ez nem szőrszál hasogatás.
Nincs ezzel gond, jó ezekre is kitérni. Megcsináltam, bár nem pont olyan lett, mint gondoltam, de nincs igazán jelentősége (beljebb rakja a menüben az easy-t és a hard-ot, de kb. mindegy).
[ Guests cannot view attachments ]

A program elején van sok NUMERIC sor. Azokat nem lenne érdemes egyetlen sorba összevonni? Meg egy DIM-es sort is betettél:
360 DIM GETAN(1 TO 27)
Itt szerintem:
360 DIM GETAN(27)
is jó lenne. Vagy még jobb, valamelyik NUMERIC sor végére tenni be, hogy GETAN(1 to 27). Úgy tudom, a DIM és a NUMERIC helyettesíthetők egymással.
A STRING soroknak külön kell maradniuk, mert az elejükön mindegyiknek más hossz van megadva (Pl. STRING *6), és ezt csak soronként lehet, ahogy tudom. Még a sorbarendezős programodban (rendez.bas) volt egy sor:   DIM TOP$(10). Ehelyett célszerűbb lenne: STRING *20 TOP$(1 to 10). Így eleve meghatározza, hogy csak 20 karakter lehet a hossza, és ezzel helyet lehet megtakarítani állítólag, mert alapból 256 karaktert foglalna le egy szöveges változó bedobásakor.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Entersnake - gracha kígyós játék
« Reply #67 on: 2019.July.11. 15:36:39 »
Ez a sor így jó lesz?

Code: [Select]
6230 IF PONT>=VAL(TOP$(10)(16:20)) THEN
Vagyis a játék végén, ha az elért pontszám nagyobb vagy egyenlő a toplista legutolsó pontszámával, akkor... (akkor lesz névbeírás és sorba rendezés, különben átugorja azt a részt).
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: Entersnake - gracha kígyós játék
« Reply #68 on: 2019.July.11. 15:41:29 »
Ez a sor így jó lesz?

Code: [Select]
6230 IF PONT>=VAL(TOP$(10)(16:20)) THEN
Vagyis a játék végén, ha az elért pontszám nagyobb vagy egyenlő a toplista legutolsó pontszámával, akkor... (akkor lesz névbeírás és sorba rendezés, különben átugorja azt a részt).
Nem
Code: [Select]
6230 IF PONT>VAL(TOP$(10)(16:20)) THEN
Nagyobbnak kell lennie.
mert csak így előzheti meg a 10. helyezettet.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Entersnake - gracha kígyós játék
« Reply #69 on: 2019.July.11. 15:57:06 »
Nagyobbnak kell lennie.
mert csak így előzheti meg a 10. helyezettet.
Ezen én is gondolkoztam. Szerintem általában a játékok is eltérően kezelik ezt. Ha pont ugyanannyi pontszámot ér el valaki, mint egy korábbi játékos, akkor melyik kerül be a toplistába? Mindkét játékost megilletné. De hirtelen belegondolva logikusabbnak tűnik, amit írsz.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: Entersnake - gracha kígyós játék
« Reply #70 on: 2019.July.11. 16:05:41 »
Logikus.
Ha ugyan annyit érsz el akkor csak beállsz a sorba aki előbb érte el az áll a sor elején.

Akkor hogy oldanád meg a top 10. listát lenn 2 1. helyezett 4 db 2. 1db 3. ......?

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Entersnake - gracha kígyós játék
« Reply #71 on: 2019.July.11. 16:25:33 »
Akkor hogy oldanád meg a top 10. listát lenn 2 1. helyezett 4 db 2. 1db 3. ......?
Igen, ez szerintem örök probléma, szerencsére nem túl gyakori. Úgy kell a programot megírni, hogy sokszor adjon pontszámot, de ne sokat, így kisebb az esély, hogy többen érnek el ugyanannyi pontszámot. De ha mondjuk az utolsó 4 játékosnak a toplistában mindnek ugyanannyi a pontszáma, és a következő játékos is pont annyit ér el, akkor nem igazságos, hogy nem kerül be, de erre nincs jó megoldás. Meg az sem igazságos, hogy ha az 1. és a 2. helyezettnek is ugyanannyi a pontszáma, mégis csak az egyik lehet az 1. helyen. De ezzel nem nagyon lehet mit kezdeni.
Valamelyik játékban az alapból beépített pontszámok is olyan magasak, hogy eleve a pontszámtáblára felkerülni is nehéz. Ennél még mindig sokkal jobb, ahogy mi csináltuk meg itt. :D
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: Entersnake - gracha kígyós játék
« Reply #72 on: 2019.July.11. 16:34:29 »
Nem baj ha azonos a pont szám.
Azért top 10 mert nem az első 10. helyezést ítja ki.
Hanem az elő 10 helyezettet ebbe bele tartozik a holt verseny

Így voltam budapesti matematikai versenyen a 22. pont helyen végeztem de csak 72-73 voltam az idő rendezésben.

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: Entersnake - gracha kígyós játék
« Reply #73 on: 2019.July.11. 18:25:03 »
Ez a sor így jó lesz?

Code: [Select]
6230 IF PONT>=VAL(TOP$(10)(16:20)) THEN
Vagyis a játék végén, ha az elért pontszám nagyobb vagy egyenlő a toplista legutolsó pontszámával, akkor... (akkor lesz névbeírás és sorba rendezés, különben átugorja azt a részt).

Code: [Select]
6230 IF PONT>VAL(TOP$(10)(16:20)) THEN
És akkor az MYN változó már nem is kell.
Meg akkor a MITY$ változó is felesleges, helyette A$ használhatsz 460-470 sor
Nem találkoztam máshol vele.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Entersnake - gracha kígyós játék
« Reply #74 on: 2019.July.11. 20:14:16 »
Kivettem belőle a MYN, MITYI$ változót, meg amik már nem kellettek, meg kicsit szépítettem rajta. A képernyőtörlés érdekesebb lett kicsit, pl. a pályák végén.
[ Guests cannot view attachments ]
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos