Welcome, Guest. Please login or register.


Author Topic: Ugribugri Sundibundi (Read 3191 times)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9926
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Ugribugri Sundibundi
« Reply #45 on: 2024.April.01. 15:42:30 »
Faragtam a DEF EPI rutinból ami 771 bájt.
Most 663 bájt INFO-val.
És még ezen is lehet faragni pár bájtot:
Code: [Select]
4410   SET #98:INK 1:PRINT #98,AT 1,1:"EN      SE"
 4420   SET #98:INK 2:PRINT #98,AT 1,1:"  TE  RI"
 4430   SET #98:INK 3:PRINT #98,AT 1,1:"    RP"
Ha így átírjuk. :D
Code: [Select]
4410   SET #98:INK 1:PRINT #98,AT 1,1:"EN      SE"
 4420   SET #98:INK 2:PRINT #98,AT 1,3:"TE  RI"
 4430   SET #98:INK 3:PRINT #98,AT 1,5:"RP"
Ha így folytatjuk, előbb-utóbb betöltés után nagyobb lesz a szabad hely, mint előtte. :D
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: 9926
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Ugribugri Sundibundi
« Reply #46 on: 2024.April.01. 20:14:31 »
Ezen is lehet faragni:
Code: [Select]
4410   SET #98:INK 1:PRINT #98,AT 1,1:"EN      SE"
 4420   SET #98:INK 2:PRINT #98,AT 1,3:"TE  RI"
 4430   SET #98:INK 3:PRINT #98,AT 1,5:"RP"
Így. (Bár lehet, te is erre utaltál.)
Code: [Select]
4410   PRINT #98,AT 1,1:I$(1)&"EN      SE"
 4420   PRINT #98,AT 1,3:I$(2)&"TE  RI"
 4430   PRINT #98,AT 1,5:I$(3)&"RP"
Nem ellenőriztem, de gondolom, kisebb helyet foglal az utóbbi verzió, mint az előbbi. Nem tudom, az & és a ; között van-e bármi különbség PRINT-es sztringeknél (működésben, helyfoglalásban). Ebben az esetben talán el is hagyhatók és szóköz is jó (mivel csak vezérlőkarakterekről van szó), de ebben nem vagyok biztos.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 980
  • Country: hu
Re: Ugribugri Sundibundi
« Reply #47 on: 2024.April.01. 20:29:26 »
Code: [Select]
4410   PRINT #98,AT 1,1:I$(1)&"EN      SE"
 4420   PRINT #98,AT 1,3:I$(2)&"TE  RI"
 4430   PRINT #98,AT 1,5:I$(3)&"RP"
Nem rossz, de hibás helyesen
Code: [Select]
4410   PRINT #98,AT 1,1:I$&CHR$(1)&"EN      SE"
 4420   PRINT #98,AT 1,3:I$&CHR$(2)&"TE  RI"
 4430   PRINT #98,AT 1,5:I$&CHR$(3)&"RP"
Mindjárt megnézem.

Offline Ferro73

  • EP lover
  • *
  • Posts: 980
  • Country: hu
Re: Ugribugri Sundibundi
« Reply #48 on: 2024.April.01. 20:54:28 »
Mindjárt megnézem.
Terjedelemben nincs változás 657 bájt
Viszont rövidebb idő alatt végez.

Ha így folytatjuk, előbb-utóbb betöltés után nagyobb lesz a szabad hely, mint előtte. :D

Tovább faragtam. 611 bájtra  a kezdeti 771 bájtról.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9926
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Ugribugri Sundibundi
« Reply #49 on: 2024.April.02. 19:52:19 »
Nem rossz, de hibás helyesen
Persze deklarálni kell majd úgy az I$()-t, hogy utána egyből csak a színkódot kelljen megadni, ne kelljen külön CHR-ezni. Ezt nemrég ki is kísérleteztem, hogy hogyan, de talán nem ennél a programnál, de valahol tuti megvan.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 980
  • Country: hu
Re: Ugribugri Sundibundi
« Reply #50 on: 2024.April.02. 20:42:47 »
Itt is megtalálod.
Kódban kevesebb de lassabb. /4./
1. SET INK x                            BASIC 00:03:21    ZZZiP 00:01:07
2. CHR$(27)&"I"&CHR$(x)   BASIC 00:03:24    ZZZiP 00:01:03
3. I$&CHR$(x)                       BASIC 00:03:07    ZZZiP 00:01:02
4. IS$(x)                    hibás   BASIC 00:03:07    ZZZiP 00:01:02
4. IS$(x)                                 BASIC 00:03:32
5. ISD$(x)      def                   BASIC 00:05:01

Az "epi def"-t fel rakhatnád a "Hasznos kis Basic programok"-hoz

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9926
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Ugribugri Sundibundi
« Reply #51 on: 2024.April.05. 12:17:13 »
Tovább faragtam. 611 bájtra  a kezdeti 771 bájtról.
Most nézem, a SET VIDEO MODE stb. utasításokat átírtad simán SET 23,x-re és hasonlókra, kisebb helyet foglalnak így. Ez kevésbé felhasználóbarát, de ha belegondolok még talán könnyebb is megjegyezni, hogy egy szám, vagy pedig az X vagy Y utal-e a vízszintes és a függőleges felbontásra. Ez is belekerül az új verzióba.

Nosza, közben a Zzzippes topikban előkerült a téma, hogy a színváltós vezérlőkódos megoldás másképp is kivitelezhető. Leteszteltem, és a rövidebb sorokat eredményező megoldás gyorsabb is, ami talán picit meglepő lehet. A tesztprogram:

Code: [Select]
   5 STRING *3 I$(0 TO 8)
    6 FOR I=0 TO 8
    7   LET I$(I)=CHR$(27)&"I"&CHR$(I)
    8 NEXT
   10 GRAPHICS ATTRIBUTE
   13 TIME "00:00:00"
   15 FOR A=1 TO 1000
   20   PRINT #101,AT 2,2:I$(1)&"TEXT "&I$(2)&"ENTER"&I$(3)&"PRISE"
   30   PRINT #101,AT 4,2:I$(4)&"128"&I$(5)&" kilobytes"
   35 NEXT
   36 PRINT TIME$
   43 TIME "00:00:00"
   45 FOR A=1 TO 1000
   50   PRINT #101,AT 2,2:CHR$(27)&"I"&CHR$(1)&"TEXT "&CHR$(27)&"I"&CHR$(2)&"ENTER"&CHR$(27)&"I"&CHR$(3)&"PRISE"
   60   PRINT #101,AT 4,2:CHR$(27)&"I"&CHR$(4)&"128"&CHR$(27)&"I"&CHR$(5)&" kilobytes"
   75 NEXT
   76 PRINT TIME$

Az eredmény:
I$(x): 02:34
CHR$(27)&"I"&CHR$(x): 02:55

A programot Zzzippel lefordítva mindkét módszer 01:02 idő alatt futott le.
Így most már a SET INK utasítást is elfelejthetjük, és könnyebben válthatunk színt szöveg közben is, és mindez még kevesebb helyet is foglal a programban.

Az új dolgokat be is építettem a játékba:
[ Guests cannot view attachments ]
A fenti pályán az elsüllyesztő mocsár színeit/animációit még meg kéne csinálni.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 980
  • Country: hu
Re: Ugribugri Sundibundi
« Reply #52 on: 2024.April.05. 19:02:30 »
Ha a
Code: [Select]
  260 CALL EPI:CALL CHARS:CALL VAR_INI:CALL VIDEO_INI:CALL DEKOR:CALL PALCHANGEsort felcserélnéd
Code: [Select]
  260 CALL VAR_INI:CALL EPI:CALL CHARS:CALL VIDEO_INI:CALL DEKOR:CALL PALCHANGEra akkor már az EPI ben is használhatnád a "I$(x)" változót.

De mivel csak egyszer fút le mindegy, nem olyan hosszú a progi.