Welcome, Guest. Please login or register.


Author Topic: Basic programok átírása bármilyen gépről (Read 10679 times)

Offline Ferro73

  • EP lover
  • *
  • Posts: 819
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: Basic programok átírása bármilyen gépről
« Reply #45 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: 8861
  • 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: Basic programok átírása bármilyen gépről
« Reply #46 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: 13887
  • 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: Basic programok átírása bármilyen gépről
« Reply #47 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: 8861
  • 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: Basic programok átírása bármilyen gépről
« Reply #48 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: 8861
  • 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: Basic programok átírása bármilyen gépről
« Reply #49 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 51 times.)
* Escape.zip (15.52 kB - downloaded 48 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: 5975
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: Basic programok átírása bármilyen gépről
« Reply #50 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: 8861
  • 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: Basic programok átírása bármilyen gépről
« Reply #51 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

Offline Ferro73

  • EP lover
  • *
  • Posts: 819
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: Basic programok átírása bármilyen gépről
« Reply #52 on: 2021.January.15. 18:19:52 »
Javaslat:
Code: [Select]
5440 DEF PALGAME !LET C0=0:LET C1=10:LET C2=91:LET C3=41
 5450   RESTORE 5500
 5460   FOR I=3 TO 24
 5470     READ J0,J1,J3
 5480     SET #I:PALETTE J0,J1,C2,J3
 5490   NEXT I
 5500   DATA 0,130,121
 5510   DATA 64,130,233
 5520   DATA 8,130,105
 5530   DATA 72,18,41
 5540   DATA 8,18,97
 5550   DATA 64,18,41
 5560   DATA 0,146,105
 5570   DATA 32,146,233
 5580   DATA 96,146,121
 5590   DATA 40,146,233
 5600   DATA 104,146,105
 5610   DATA 40,210,41
 5620   DATA 96,210,97
 5630   DATA 32,210,41
 5640   DATA 0,210,105
 5650   DATA 64,154,233
 5660   DATA 8,154,121
 5670   DATA 72,154,233
 5680   DATA 8,154,105
 5690   DATA 64,218,41
 5700   DATA 0,218,97
 5710   DATA 32,218,33
 5720 END DEF
helyette:
Code: [Select]
5440 DEF PALGAME !LET C0=0:LET C1=10:LET C2=91:LET C3=41
 5450   RESTORE 5500
 5460   FOR I=3 TO 24
 5470     READ J0,J1,J3
 5480     SET #I:PALETTE J0,J1,C2,J3
 5490   NEXT I
 5495 END DEF
 5500 DATA 0,130,121
 5510 DATA 64,130,233
 5520 DATA 8,130,105
 5530 DATA 72,18,41
 5540 DATA 8,18,97
 5550 DATA 64,18,41
 5560 DATA 0,146,105
 5570 DATA 32,146,233
 5580 DATA 96,146,121
 5590 DATA 40,146,233
 5600 DATA 104,146,105
 5610 DATA 40,210,41
 5620 DATA 96,210,97
 5630 DATA 32,210,41
 5640 DATA 0,210,105
 5650 DATA 64,154,233
 5660 DATA 8,154,121
 5670 DATA 72,154,233
 5680 DATA 8,154,105
 5690 DATA 64,218,41
 5700 DATA 0,218,97
 5710 DATA 32,218,33
 5720 REM
Rengeteg felesleges memóriát használ fel és felesleges idő pocsékolás.

Offline szipucsu

  • EP addict
  • *
  • Posts: 8861
  • 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: Basic programok átírása bármilyen gépről
« Reply #53 on: 2021.January.15. 20:35:07 »
Javaslat:
Ennek tényleg lehet jelentősége, hogy a DATA sorok a DEF-en belül vannak-e vagy nem? Tudom, hogy külön a program végére illene tenni az összes DATA sort. Csak azért teszem oda, ahol a READ is van hozzá, mert úgy át tudom látni, mihez mi tartozik.
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: 296
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 87.0.4280.141 Chrome 87.0.4280.141
    • View Profile
Re: Basic programok átírása bármilyen gépről
« Reply #54 on: 2021.January.15. 20:53:05 »
Ennek tényleg lehet jelentősége, hogy a DATA sorok a DEF-en belül vannak-e vagy nem?
Mivel a Basic egy interpreter, időbe telik, amíg a DATA sorokat végigcsámcsogja a szubrutin végén és nem csinál velük semmit. Le lehetne tesztelni, mennyivel fut gyorsabban, ha nem a rutinon belül vannak. Zzzipnél lehet, hogy mindegy.
Kotasoft

Offline Ferro73

  • EP lover
  • *
  • Posts: 819
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: Basic programok átírása bármilyen gépről
« Reply #55 on: 2021.January.15. 22:07:14 »
Mivel a Basic egy interpreter, időbe telik, amíg a DATA sorokat végigcsámcsogja a szubrutin végén és nem csinál velük semmit. Le lehetne tesztelni, mennyivel fut gyorsabban, ha nem a rutinon belül vannak. Zzzipnél lehet, hogy mindegy.

Leteszteltem BASIC-ban gyorsabb.
Nem kell 2x átrágnia a DATA sorokat

Ennek tényleg lehet jelentősége, hogy a DATA sorok a DEF-en belül vannak-e vagy nem? Tudom, hogy külön a program végére illene tenni az összes DATA sort. Csak azért teszem oda, ahol a READ is van hozzá, mert úgy át tudom látni, mihez mi tartozik.
Az nem gond ha belül van. Az már igen ha 2x is betöltöd.
Először a RESTORE  beállítja a READ  DATA-it ez ok.
Majd megint a DATA sor előre beolvassa a memóriába  amit később kiolvashatsz READ-al. Mind addig amig nem jön egy RESTORE mer akkor törli ami a memóriában van.
Új variáció, Így szintén jó.
Code: [Select]
xxx1 RESTORE
xxx2 DATA 1,2,3,4
xxx3 READ A,B,C,D


Javaslat:
A
Code: [Select]
3880     GOSUB 4840
Mivel ez az egyetelen hivatkozás ezért a
Code: [Select]
4840 FOR K=1 TO 10
 4850   IF (K BAND 1)=0 THEN
 4860     SET #EX:INK 3
 4870   ELSE
 4880     SET #EX:INK 2
 4890   END IF
 4900   PRINT #EX,AT 1,EY:DEAD$;
 4910   SOUND PITCH K+32,DURATION 1,LEFT 96,RIGHT 96
 4920   SOUND SOURCE 1,STYLE 48,DURATION 3,INTERRUPT,PITCH 42+K*3,RIGHT 8*EY-1,LEFT 255-(8*EY-2)
 4930   FOR PPP=1 TO 120
 4940   NEXT PPP
 4950 NEXT K
 4960 SET #EX:INK 0:PRINT #EX,AT 1,EY:CHR$(159);:SET #EX:INK 2
 4970 FOR PPP=1 TO 600
 4980 NEXT PPP
15 sort 3871-3889 közé bezsufolhatod.
« Last Edit: 2021.January.15. 22:13:32 by Ferro73 »

Offline Tomato77

  • EP user
  • *
  • Posts: 296
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 46.0.2490.76 Chrome 46.0.2490.76
    • View Profile
Re: Basic programok átírása bármilyen gépről
« Reply #56 on: 2021.January.16. 00:09:49 »
Az nem gond ha belül van. Az már igen ha 2x is betöltöd.
Szerintem az is lassít, ha csak ott vannak a DATA sorok és nem olvassa be kétszer. REM sorok is lassítanák, amíg elérne az END DEF-ig. Egy compiler fordításkor észrevenné, de az interpreter futási időben foglalkozik ezekkel a sorokkal.
Kotasoft

Offline Ferro73

  • EP lover
  • *
  • Posts: 819
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: Basic programok átírása bármilyen gépről
« Reply #57 on: 2021.January.16. 20:54:02 »
Szerintem az is lassít, ha csak ott vannak a DATA sorok és nem olvassa be kétszer.
Lepróbáltam ha csak 1x fút a DATA sor(ok) akkor nincs jelentősége, hogy kint vagy bent.

Offline szipucsu

  • EP addict
  • *
  • Posts: 8861
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 86.0 Firefox 86.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Basic programok átírása bármilyen gépről
« Reply #58 on: 2021.February.27. 16:42:52 »
A TVC-ról átírt Escape játékban javítottam pár dolgot. A szörnyek szemének villogásakor egy pixellel lejjebb volt a piros szem, mint kellett volna. A teleportáláskor a hang nem annyira volt jó. Volt egy felesleges értékadó ciklus a program elején, amiről azt hittem, kell, de nem kell, azt töröltem. A szörnyek mozgásakor és a bonus elszámolásakor az egyre magasabb hangok elméletileg előbb-utóbb hibát okoznak a sokadik szinten, mert túl nagy lesz az érték, ezt is javítottam (ehhez kellett volna a MIN függvény, de a Zzzip nem csípte). A kijelző második sorának színét is elméletileg megváltoztattam, de már nem tudom, milyen volt az előző.
* Escape TVC.zip (15.21 kB - downloaded 11 times.)
Majd csinálok egy végtelen lőszeres verziót, azzal lehet tesztelni, hogy viszi a sokadik szinteket.
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: 8861
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 86.0 Firefox 86.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Basic programok átírása bármilyen gépről
« Reply #59 on: 2021.February.27. 21:32:56 »
Az előző nem volt még tökéletes, ez már remélhetőleg az. A pálya elején nem váltott kékre a keret arra az időre, amíg még nem léphettünk, most már átvált. Talán még valami apróságokat is ügyködtem rajta, de már nem tudom, mit. :D
Végtelen lőszerrel a 40. szinten is ment, de már negatív lett a pontszám, mert túllépte a Zzzip által megengedett értéket. De csalás nélkül a 30. szintre is csoda, ha eljut az ember. Ha 10 lőszerünk van és 10000 nagyságrendű a pontszám, akkor a score felirat S betűjét felülírja a lőszer száma. De ez csak elméleti probléma, ha el is ér valaki ekkora eredményt, biztos nem lesz már 10 lőszer csalás nélkül.
Végtelen lőszeres verziót nem teszek fel, könnyen előállíthatja, aki akarja. :D
Nagyon fontos mellékes kiegészítés, hogy minden gomb megnyomására (az irányítógombok kivételével) más hangot ad a játék, shift-tel együtt nyomva még érdekesebb. A funkcióbillentyűk hatása is fenomenális. Így szintetizátorként is használható, ha a játék esetleg unalmassá válna. (Még jó, hogy a SOUND PITCH ORD(A$) is működik, amikor A$=INKEY$.)
Az ESC-vel vissza lehet lépni a menübe.
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