Enterprise Forever

:HUN => Programozás => Topic started by: endi on 2016.April.14. 15:49:15

Title: Hasznos kis Basic programok
Post by: endi on 2016.April.14. 15:49:15
Kisebb hasznos programokat ide gyűjthetnénk, amik beépíthetők más fejlesztésekbe.
Pl itt van mindjárt ez a nagy szám kiíró.

Title: Re: Hasznos kis Basic programok
Post by: szipucsu on 2019.March.11. 23:23:03
Játékok pontszámtábláját sorba rendező program: [attach=1]
Szobatiszta input rutinnal (csak betűket fogad el, valamint az erase, enter billentyűket), pontszámtábla kimentéssel, betöltéssel.
32000 a maximális pontszám, a Zzzip által kezelhető legnagyobb szám miatt.
A Felhasználói kézikönyvben lévő, 10 számot nagyság szerint sorba rendező program elvén működik. A pontszámot stringgé alakítja úgy, hogy 5 számjegyű legyen, az elején nullákkal kiegészítve, ha kell. Ehhez hozzáfűzi a beírt nevet. Ennek az egész stringnek egyben 20 karakter hosszúnak kell lennie, mert a sorbarendezés a karakter hosszát is figyelembe veszi. Ha nincs meg a 20 karakternyi hossz, a végére pontokat tesz (így mutat jól a pontszámtáblában). A pontszámtábla kiírásánál szétszedi a stringet, az elején lévő pontszámot a végére teszi és külön írja ki.
Biztos meg lehet csinálni szebben, egyszerűbben is. Akinek van ötlete, módosíthatja.

UI: A pontszámtábla betöltése után még ki kellene adni, hogy
LET MIN_SCORE=VAL(TOP$(10))
(Tudni kell, mennyi a legrosszabb eredmény a pontszámtáblán, mert ha annál kevesebbet érünk el, akkor nem hívja meg a névbeírós-sorbarendezős eljárást.)
Title: Re: Hasznos kis Basic programok
Post by: szipucsu on 2019.July.05. 23:47:57
Endi négyszínű grafikus karakterei (nagybetűk, számok):
[attach=1]
Title: Re: Hasznos kis Basic programok
Post by: Ferro73 on 2019.July.06. 14:37:01
ZZZIP-hez
SET CHARACTER gyorsító.
Haszsnálat pl.: SET CHARACTER 33,1,2,3,4,5,6,7,8,9 helyett
   CALL  CHAR_DEF(33,1,2,3,4,5,6,7,8,9)
Title: Re: Hasznos kis Basic programok
Post by: Ferro73 on 2019.July.06. 19:20:25
Módosítottam az előző rutint.
Használata GOSUB-bal meghívjuk a változókat egyszer.
Ez gondoskodik a múlt és jövőbeli EXOS kompatibilitásról.

Minden más maradt.
Title: Re: Hasznos kis Basic programok
Post by: Ferro73 on 2019.July.10. 09:52:17
Bövítettem egy CALL CHAR_INV(kar szám)

Kis demót is tartalmaz.
Title: Re: Hasznos kis Basic programok
Post by: Ferro73 on 2019.July.10. 12:05:18
Tovább bővítettem.
Ezek inkább ZZZIP programoknál hatékonyak.

Így:
CALL CHAR_FLIPH(karakter szám)    karakter billentése vízszintesen
CALL CHAR_INV(karakter szám)        karakter inverzálása
CALL CHAR_DEF(karsz,lin1,line2...)    karakter definiálása

némi demó
Title: Re: Hasznos kis Basic programok
Post by: Ferro73 on 2019.July.12. 14:03:32
Játékok pontszámtábláját sorba rendező program: (Attachment Link)
Kicsit módosítottam.
Elfogadja a szóközt a számokat nagybetűsít ha nem betölthető a tábla csak akkor tölti fel.
Az eredeti 2216 bájt ez már csak 1883 bájt körül. Még finomítható.
Title: Re: Hasznos kis Basic programok
Post by: endi on 2019.July.12. 22:58:35
ez a program random seed-et állít be, azaz a random szám generátor számlálóját állítja be a megfelelő értékre.
a haszna az hogy így fixen tudunk random számsorokat generálni megadott értékkel, például játékokhoz hasznos.
nem tudom hogy más exos verzióval is jó-e, mert poke-al állítja be.
persze ha a basic programunkban nem adjuk ki a randomize parancsot, akkor is fix sorrendben jönnek a számok, viszont mindig ugyanazok, és ezt nem is tudjuk befolyásolni. ezzel a programmal bármikor (futás közben is).
Title: Re: Hasznos kis Basic programok
Post by: Ferro73 on 2019.July.15. 07:38:47
Kicsit módosítottam.
Elfogadja a szóközt a számokat nagybetűsít ha nem betölthető a tábla csak akkor tölti fel.
Az eredeti 2216 bájt ez már csak 1883 bájt körül. Még finomítható.
Finomítottam.
Rejtet hiba./Szipucsu/ nem szabad szóközzel kezdeni. Mentés - vissza olvasás hiba.

És még faragtam belőle.
Title: Re: Hasznos kis Basic programok
Post by: Ferro73 on 2019.July.27. 17:23:26
Kettő kis progi:
joys.bas: olyan gépikód ami ugyan azt az értéket adja vissza mint a BASIC JOY(x) csak nem kell, hogy legyen "KEYBOAR:" csatorna sem POKE 56,245. Ezek nélkül is működik.

pressjoy.bas: szintén nem igényel 50hz megszakítást.
A "PRESS TO FIRE" program részhez alkottam.
Title: Re: Hasznos kis Basic programok
Post by: Ferro73 on 2019.July.27. 17:42:06
És akkor i-re a pontot.

INAB5.BAS

teljesen függetlenül.
Title: Re: Hasznos kis Basic programok
Post by: Ferro73 on 2019.July.29. 18:21:03
Újabb  darab.
CHARS_RD   A komplett karakter mátrixot olvassa be fájlból.
CHARS_WR  A komplett karakter mátrixot írja ki fájlba.
Title: Re: Hasznos kis Basic programok
Post by: endi on 2019.September.16. 18:54:07
ez a program beállítja azt a modot, ahol text40 módban 4 színpár van. a színpár kiválasztása a karakter sorszámától függ!
ki is rajzolja 32-128-ig a karaktereket. mondjuk most hogy így nézem, furcsa... :)
az lpt cím számolás csak be van írva, lehetne azt szebben is :)
Title: Re: Hasznos kis Basic programok
Post by: szipucsu on 2019.September.24. 09:09:39
Attribútum képernyőn szöveg írásához vízszintes színátmeneteket lehet használni. Ha soronként új attribútum képernyőt jelenítünk meg, más paletta használható.
A DATA sorban először meg kell adni a szöveget, utána 7 számban a palettát (az első általában 0, a háttér), utána 1-7-ig a számokkal hivatkozni kell arra, hogy az adott betű hányadik színű legyen a palettából.
Néhány példa is van a programban. A legelső pont egy 16 színű grafikus képernyőn mutatja be a szöveget, a többi attribútum képernyős.
A szöveget lehet más elv alapján is színezni. A példákban oda-vissza "hullámzanak" a színátmenetek.
[attach=1]
[attach=2]
Title: Re: Hasznos kis Basic programok
Post by: Zozosoft on 2019.September.24. 09:18:07
Nagyon jól néz ki!