Welcome, Guest. Please login or register.


Author Topic: Általános BASIC Kérdések (Read 423709 times)

Offline Trefe

  • User
  • *
  • Posts: 65
  • Country: hu
Re: Általános BASIC Kérdések
« Reply #1590 on: 2023.February.12. 21:14:54 »
Köszönöm a válaszokat! Azt hiszem megoldódott.
Csak használni kellett a fejemet, amit már rég nem tettem... :-)


Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1591 on: 2023.September.08. 21:32:05 »
Biztos nagyon egyszerű a válasz a kérdésemre, de nem jövök rá. Hogy lehetne megírni ezt a programot, hogy az X1-nek a következő értékeket adja vissza, miután elindítjuk a programot?

1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3 ...

Tehát 1 és 6 között oda-vissza "léptesse" a számokat.

Code: [Select]
100 FOR A1=1 TO 40
110   IF A1<7 THEN LET X1=A1
120   IF A1>6 AND A1<11 THEN LET X1=....
130   IF ....
140   IF ....
....
200   PRINT X1
210 NEXT
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline SlashNet

  • EP addict
  • *
  • Posts: 1192
  • Country: ua
  • Enterprise 128K | Cubietruck
    • My old site about Enterprise
Re: Általános BASIC Kérdések
« Reply #1592 on: 2023.September.08. 22:01:09 »
Something this?

Code: [Select]
90 AD=1
95 A1=0
100 FOR I=1 TO 40
110   IF A1=6 THEN LET AD=-1
120   IF A1=1 THEN LET AD=1
130   A1=A1+AD
140   PRINT A1
150 NEXT I

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1291
  • Country: hu
  • Stray cat from Commodore alley
Re: Általános BASIC Kérdések
« Reply #1593 on: 2023.September.08. 22:05:29 »
Béna Commodore BASIC megoldás:
[ Guests cannot view attachments ]

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1594 on: 2023.September.08. 22:30:21 »
Köszi mindkét megoldást!
« Last Edit: 2023.September.08. 22:34:06 by szipucsu »
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1291
  • Country: hu
  • Stray cat from Commodore alley
Re: Általános BASIC Kérdések
« Reply #1595 on: 2023.September.09. 08:40:07 »
Nagyjából három perccel a hozzászólásom után rájöttem, hogy természetesen a két feltételt egybe kellett volna vonni egy IF utasításba vagy kapcsolattal és a mínusz eggyel szorzás helyett egyszerű negálást kellett volna írni.
Code: [Select]
IF(A<2ANDI<0)OR(A>5ANDI>0)THENI=-IReggelre meg megfogalmazódott bennem a kérdés, hogy egy PRINT utasításban karakterlánc literálként megadva a teljes sor mintáját nem lenne ez gyorsabb és kisebb memóriaigényű?

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1596 on: 2023.September.09. 09:00:45 »
nem lenne ez gyorsabb
A sebesség nem igazán számít, persze nem baj, ha nem kell perceket várni. PRINT utasításban karakterenként akarnék majd szöveget kiíratni attribútum lapra, minden karakter előtt átállítaná a színt, és hullámzó színátmenetek lennének a szövegben. A palettát persze úgy lőném be, hogy színátmenetes legyen. Minden egyes sor kiírása előtt a sor tartalmát átadná egy változónak, meghívná a színezős szövegkiírós részt. A Manhole játékba tervezek tenni ilyet is. A Speed Collectorban és a Dot turbóban is van ilyen a kijelzőkön. Lehet, hogy ezentúl minden basic programban kötelező lesz ez az extra.
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: Általános BASIC Kérdések
« Reply #1597 on: 2023.September.10. 18:46:12 »
Lenne.

Alábbi összehasonlító progi.

4000 ciklus és a ráfordított idő.

Offline Tomato77

  • EP user
  • *
  • Posts: 397
  • Country: hu
    • Támogató Támogató
Re: Általános BASIC Kérdések
« Reply #1598 on: 2023.September.14. 14:08:58 »
Lehet rövidebb kóddal benevezni? Valószínűleg nem gyorsabb, és az se biztos, hogy jó, mert EP-n nem próbáltam, de az elv az, hogy a számok tizenként ismétlődnek, így a ciklusszámlálót 10-zel osztva és annak maradékát véve mindig kiszámolható, hogy mit kell kiírni.
Code: [Select]
100 FOR I=0 TO 39
110   LET MARADEK=MOD(I,10)
120   PRINT 1 + MARADEK + (MARADEK>5)*((MARADEK-6)*2+1)
130 NEXT I
Ha jól emlékszem, a logikai IGEN és NEM értéke -1 és 0 IS-Basic-ben, a 120-as sorban a második plusz azért plusz. Ha a true értéke +1, akkor ott mínusz jel kellene. Ha lesz időm, otthon kijavítom, hogy tényleg fusson EP-n. :)
Kotasoft

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: Általános BASIC Kérdések
« Reply #1599 on: 2023.September.14. 21:18:50 »
Majdnem jó és majdnem gyors.

1 2 3 4 5 6 6 5 4 3 2 1 2 3 4 5 6 6 5 4 3 2 1

min 63 bájt

Az első variációhoz képest több mint 2x lassulás.

első min 103 bájt

3. min 66 bájt

Offline Tomato77

  • EP user
  • *
  • Posts: 397
  • Country: hu
    • Támogató Támogató
Re: Általános BASIC Kérdések
« Reply #1600 on: 2023.September.15. 18:31:37 »
Kijavítottam és kipróbáltam, így jó:
Code: [Select]
100 FOR I=0 TO 39
110   LET MARADEK=MOD(I,10)
120   PRINT 1 + MARADEK + (MARADEK>5)*(MARADEK-5)*2;
130 NEXT I

Ahhoz képest, hogy a tegnapi gép nélkül készült, majdnem jó lett. :)

Sőt, így még rövidebb, de a MOD függvény többszöri használata miatt lassabb is:
Code: [Select]
100 FOR I=0 TO 39
110   PRINT 1 + MOD(I,10) + (MOD(I,10)>5)*(MOD(I,10)-5)*2;
120 NEXT I
« Last Edit: 2023.September.15. 18:37:20 by Tomato77 »
Kotasoft

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: Általános BASIC Kérdések
« Reply #1601 on: 2023.September.15. 19:24:45 »
Jó, az első kb 2.4 szer lassabb míg a második kb 7.2 szer.

De legalább egy másik megközelítés.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1602 on: 2023.October.19. 23:57:42 »
Ilyen játékkal próbálkoztam, de nagyon primitív, az irányításra is nehezen reagál, a krapek is villog, és a karakteres pálya is nagyon béna. Először a falat rakja ki, utána töröl helyet rajta a kapunak, ez se túl szép, de van rá egy másik ötletem.
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]
Aztán rájöttem, kb. a Baltazár, az űrszemetes egyik pályája is ilyesmi, de az jobban néz ki, talán ezt kéne inkább továbbfejleszteni és valami mást kihozni belőle.
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: Általános BASIC Kérdések
« Reply #1603 on: 2024.February.15. 21:12:06 »
A két fájl miért nem ugyanaz? Az a.txt betöltve basibe furcsaság lesz, míg a he.txt normálisan működik. PC-n szerkesztgettem basic programot, eredetileg a he.txt-ben lévő volt, de idővel valamiért átalakult azzá, ami az a.txt-ben van. Hex editorban is látható a különbség, de "szabad szemmel" nem.
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14722
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #1604 on: 2024.February.15. 21:48:01 »
UTF karakterkészlettel lett mentve. Mentsd vissza ANSI-ba, és akkor visszaváltozik.