Welcome, Guest. Please login or register.


Author Topic: Bomber Plus (Read 24618 times)

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Bomber Plus
« Reply #30 on: 2016.March.30. 23:21:31 »
ezt a történetet írd be a játék elejére :)
sokkal érdekesebbek lennének a játékok ilyenekkel :)
Vigyázat! Szektás vagyok! :)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Bomber Plus
« Reply #31 on: 2016.March.31. 07:14:17 »
ezt a történetet írd be a játék elejére :)
Jó. És még nagy betűkkel: Nyugalom, az épületekben emberek nem tartózkodnak. Be calm, no people are staying in the buildings.
Akkor már angolul (is?) le kéne írni a szöveget. Bár nem tudom, az hogy van, hogy "a téridőben súlyos görbületeket okoz".
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: Bomber Plus
« Reply #32 on: 2016.March.31. 08:35:42 »
Jó lett, tetszenek a panelprogramban felújított házak :D , pont ugyanolyan színeket kaptak, mint az országban a többi ;) A hangok is sokkal jobbak lettek :)

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Bomber Plus
« Reply #33 on: 2016.March.31. 11:16:18 »
raszter színezés nem lesz? sokat dobna rajta

ja meg én épület romboláskor is rezegtetném a képet, de csak kicsit
Vigyázat! Szektás vagyok! :)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Bomber Plus
« Reply #34 on: 2016.March.31. 11:32:52 »
raszter színezés nem lesz? sokat dobna rajta

Gondoltam rá, de meg lehet ezt csinálni basicben? Attribútum módban az összes szín elmegy jelenleg a házak színére, az 1-es szín a repcsi és bomba színe, és még a 0-ás a háttér. Legyen kevesebb színű ház és több szín a háttérnek? Végülis azt lehetne, hogy a bias színeit a házakra "költjük", az alsó 8 színt pedig belőjük a kék árnyalataira a háttérnek. De azt hogyan lehetne megoldani, hogy a repcsi ne írja felül a saját háttérszínével mindig az eget?
És hogyan színeznéd át a hátteret? olyan színű mindent kitöltő karakterekkel írnád tele azt a részt?

Quote
ja meg én épület romboláskor is rezegtetném a képet, de csak kicsit
Ez sem rossz ötlet, így legalább lenne ideje mindig elhallgatnia a robbanás hangjának teljesen, bár ahogy most van, úgy sem zavaró.

Azt nem tudom még, miért van, hogy néhány ház lassabban, néhány gyorsabban omlik le. Talán több műveletet kell néha elvégezni? Lehet, az INT függvény számolgat, ha nem egész szám jön ki (talán minden második háztömbnél).

Most dolgozom egy teljes verzión, talán estére meglesz. Majd abba megpróbálhatunk beletenni mást is.
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: Bomber Plus
« Reply #35 on: 2016.March.31. 21:46:29 »
Itt a kész változat. Pontszámtábla töltés-mentés. Ha nem tudja betölteni, mert nem létezik a fájl, akkor sincs hiba, nem tölti be. Kimenteni mindig kimenti.
Alap EP konfighoz van igazítva, ezért van benne OUT 191,12 is.
A STOP gomb nincs letiltva és az ESC-vel véget ér a program, a további fejlesztés/hibajavítás így könnyebb.
Nincs utolsó szint, sokezredik szint is lehet, de a 9.-től már nem nehezedik, mert annál magasabb házak nem lehetnek.

Játszogattam vele, hibát nem találtam, tesztelni kellene.
Illetve egy hiba, hogy ütközéskor néha lekap egy karaktert valamelyik ház jobb oldalából, az oka rejtély. Valószínűleg a képernyőrázás poke okozza. De mivel pont akkor vége is van a játéknak, nem zavaró.

A névbeírásnál is ügyesnek kell lenni.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Ep128

  • EP addict
  • *
  • Posts: 1849
  • Country: hu
    • Honlapom
Re: Bomber Plus
« Reply #36 on: 2016.April.01. 00:30:00 »
Nagyon tetszik! :-D :-D :-D Jópofi a repülő is a végén, ahogy "tolat", mikor beírom a nevem... :-)
Grat!

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: Bomber Plus
« Reply #37 on: 2016.April.01. 11:17:16 »
Coool, és jó gyors Basicben Attr képernyőn, DevCompoban nem indulsz vele?
A névbeírás a frászt rám, mindig mellélőttem, de pont jó ez így :)

Az épületek karakteres raszter színezését lehetett volna elérni vagy poke-olással, vagy minden karaktersorra egy új videólap nyitásával érhetted volna el, de úgyis csak az első 7 épület színe lett volna "raszteres", pont jó így :)
A normál raszterezéshez meg egy új LPT-t kellett volna felépíteni Basicben....

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Bomber Plus
« Reply #38 on: 2016.April.01. 12:33:48 »
Még bele lehetne tenni a különböző "üzemmódokat", pl. húsvéti, karácsonyi, ufós karakterekkel.

Ami nekem még nem tetszik, hogy a menüben néha sokáig kell nyomva tartani a SPACE-t a játék indulásához. Először FOR ciklusban próbáltam megoldani a "villogást", de nem sikerült. De biztos van rá valami módszer. Ezt hogyan lehetne FOR ciklussal oldani meg?
Code: [Select]
3500   DO
3510     SET #20:PALETTE 4,FARBE(1),FARBE(2),FARBE(3),FARBE(4),FARBE(5),FARBE(6),FARBE(7)
3520     SET #20:PALETTE 4,FARBE(7),FARBE(1),FARBE(2),FARBE(3),FARBE(4),FARBE(5),FARBE(6)
3530     SET #20:PALETTE 4,FARBE(6),FARBE(7),FARBE(1),FARBE(2),FARBE(3),FARBE(4),FARBE(5)
3540     SET #20:PALETTE 4,FARBE(5),FARBE(6),FARBE(7),FARBE(1),FARBE(2),FARBE(3),FARBE(4)
3550     SET #20:PALETTE 4,FARBE(4),FARBE(5),FARBE(6),FARBE(7),FARBE(1),FARBE(2),FARBE(3)
3560     SET #20:PALETTE 4,FARBE(3),FARBE(4),FARBE(5),FARBE(6),FARBE(7),FARBE(1),FARBE(2)
3570     SET #20:PALETTE 4,FARBE(2),FARBE(3),FARBE(4),FARBE(5),FARBE(6),FARBE(7),FARBE(1)
3580   LOOP UNTIL JOY(0)>15 OR JOY(1)>15
Azt nem lehet, hogy beírom mindig a zárójelekbe, hogy A+1, A+2, mert a "vége" mindig átkerül az "elejére"...

Még amibe belebonyolódtam (igaz, késő este gondolkodtam ezen, talán azért), hogy hogyan lehetne megoldani, hogy a nehezebb szinteken kevesebbet vigyen le a házakból a bomba.
Így dönti le a házat a bomba:
Code: [Select]
1380     LET K=HEIGHT(BOMBX/2)
1390     IF K<24 THEN
1400       LET M=24-RND(24-K)
1410     ELSE
1420       LET M=25
1430     END IF
1440     FOR L=K TO M
1450       PRINT #1,AT L,2*INT(BOMBX/2):"  ";
1460       LET HEIGHT(BOMBX/2)=L+1
1470     NEXT L
Az 1400-as sorban kéne valamit csinálni. Ugye ha egyáltalán nincs ház az adott helyen, a magassága 24. Minél magasabb, annál kisebb a szám. Még azt sem értem, mitől van, hogy csupán egyetlen szintet sosem dönt le magas házaknál, miért mindig kettő a minimum... Hiszen az RND(24-K), az a ház magasságával bezárólag bármilyen szám lehet, nem? Az is bezavart rendesen, hogy minél magasabb a ház, annál kisebb a szám, nem pedig annál nagyobb.
Ja, és a 1460-as sort valószínűleg a NEXT L után is lehetne tenni, talán gyorsítana is valamit a házak ledőlésén.
Szerk.: Nem lehet, nem működik utána már helyesen.

Még arra gondoltam, minden n-edik szintnél más színű legyen az ég, pl. éjszakai küldetés fekete háttérrel.

Egyébként most éreztem rá igazán a strukturált programozásra, tényleg eszméletlenül logikus és áttekinthető így minden! Tele van CALL-al az egész program. Azért 2016-ra már ideje volt eljutnom ide. A sorszámok néha már zavartak is. :D
« Last Edit: 2016.April.01. 12:39:31 by szipucsu »
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: Bomber Plus
« Reply #39 on: 2016.April.01. 12:41:43 »
ezt a történetet írd be a játék elejére :)
sokkal érdekesebbek lennének a játékok ilyenekkel :)
Hova rakjam be ezt a kerettörténetet? A program indulásakor jelenjen meg, amit SPACE-szel lehet elnyomni?
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: Bomber Plus
« Reply #40 on: 2016.April.01. 13:19:15 »
Ha zavar, hogy neha lassabban indul a jatek, tegyel egy IF-et tűzgomb vizsgálattal a palettaállìtás közepére, ha nem volt tűz, csak akkor hajtódjon vegre az a 4 palettaállítás.
A másik, én egy random számmal csökkenteném az M értékét mondjuk az 1405-ös sorban, ha x. szint fölött járok, annyi, hogy ilyenkor figyelni kell azt, hogy ne váljon negatívvá a szám, és legalább azért egy szintet levigyen a bomba.
« Last Edit: 2016.April.01. 13:22:42 by geco »

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Bomber Plus
« Reply #41 on: 2016.April.04. 11:14:55 »
Kicsit továbbfejlesztettem a Bomber Plust. Endi javaslatára a játék indulásakor megjelenik a háttértörténet szövege, de csak angolul, mert az ilyen ektelen "gorbuleteket okoz a teridoben" jellegű szövegekből agybajt kapok, az ékezetesre hasonlító karakterek pedig egyéb okból problémásak. (Az éktelenkedés nem Lgb-nek szólt, EP-n mutat iszonyú rondán az éktelen magyar szöveg.)
Valamint, a napszakok is váltakoznak, minden második pálya után új napszak jön. Ez azt jelenti, hogy kék helyett ilyenkor fekete a háttér. Bizony, a leselejtezett felhőkarcolók eltávolítását nagyon szorgalmas dolgozó végzi, még éjjel is dolgozik. A 11. pálya után már folyamatosan fekete a háttér mindig. Ez azért van, mert a sok bombázás környezetre gyakorolt hatása következtében beálló szennyezés miatt a fényviszonyok elromlottak.

A házak színe viszont még mindig ugyanabban a sorrendben jön egymás után. Hogyan lehetne a színek sorrendjét összekeverni? Az idevágó rész a programból:
Code: [Select]
1090   FOR J=2 TO 18
1100     LET COL=J-1 !RND(15)+1
1110     IF COL=16 THEN LET COL=RND(15)+1
1120     SET #1:INK COL
Szóval itt rajzolja ki a 17 háztömböt, a 1100-es sor megadja a következő háztömb színét. A szín tehát 1-től megy 16-ig, az utolsó tömb pedig véletlenszerű színű. Hogyan lehetne megcsinálni, hogy ne 1-16 ig menjenek a színek, hanem összevissza? Én valami tömbre gondoltam (nem háztömbre :D ), 17 elemű tömbre, és ebből 16 elemhez tartozik egy szám is 1 és 16 között, de mindegyik szám csak egyszer fordul elő, így tehát az összes szín előfordul (a 17. tömb színe amúgy is RND, az úgyis már előfordul egyszer). Hogyan lehet így összekeverni?

Ezen kívül, ami még hátra van, hogy a nehezebb szinteken kevesebbet romboljon a bomba, és hogy lehessen választani ufós, karácsonyi, stb. "téma" közül.
« Last Edit: 2016.April.04. 13:03:23 by szipucsu, Reason: Régi verzió snapshotjának eltávolítása. A .bas maradhat. »
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: Bomber Plus
« Reply #42 on: 2016.April.04. 11:52:24 »
Ezt az átszínezést kicsit rosszul írtam. Nem baj, ha 17-es szín is lesz, mert azt 1-es nek fogja értelmezni, ez a játékban is így volt. Viszont ami gond, hogy a 16-os szín pont ugyanolyan lett a bias miatt, mint a háttér színe, így ahelyett kellett valamit véletlenszerűen belőni, tehát az utolsó előtti háztömb színét ezért kellett még külön meghatározni. Az utolsó pedig ugyanolyan színű volt, mint az első. Ja, persze, mert a 0-ás a háttér színe, és ezzel együtt jön ki a 16 szín, hogy a háttér+15 szín. Akkor már 15-től kezdte újra a nullástól, nem a 16-ostól az 1-es színtől.
Szóval akkor a 17 háztömbre jut 15 szín, a maradék kettőnek meg véletlenszerűen be kell lőni valamit a 15-ből, de lehetőleg ne legyenek egyformák.
Na, szóval legyen pl. egy RNDCOL nevű tömb, ennek 17 eleme lehet, ahány háztömb. A tömböt fel kell tölteni elsőre mondjuk sorban a színek kódjaival, pl. RNDCOL(1)=1, RNDCOL(2)=2, stb., és a végén RNDCOL(16)=akármennyi, RNDCOL(17)=nemtudommennyi, és utána összekeverni az egészet, hogy mindegyik tömbhöz valami teljesen más érték kerüljön, véletlenszerűen, pl. RNDCOL(1) értéke 5, RNDCOL(2) értéke 8 lesz, stb.
Lassan én is felfogom, mit akarok.
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: Bomber Plus
« Reply #43 on: 2016.April.04. 13:01:52 »
Teljesen leegyszerűsítve a kérdést: hogyan lehet a gépet rávenni, hogy a számokat 1 és 17 között véletlenszerű sorrendbe rakja?

Na, megoldottam. Először is létrehoz egy FIXCOL nevű 17 elemű tömböt, amelyben növekvő sorrendben jönnek a számok 1-től 15-ig, a 16. és 17 elemnek véletlenszerűen kitalál egy értéket 1 és 15 között, így két érték kétszer lesz kétszer lesz. De még az is előfordulhat, hogy egy érték lesz háromszor.
Utána ezeket az értékeket véletlenszerű sorrendben átveszi az RNDCOL tömb. Betesz egy véletlenszerű elemet az elsőre, majd miután felhasználta, a FIXCOL tömb aktuális elemét nullára állítja. Következő véletlenszerű értékadásnál először megvizsgálja, nem nulla-e az értéke, és ha igen, akkor egy másikkal próbálkozik. Végül az összes FIXCOL értéke nulla lesz, amikor mindet felhasználta a RNDCOL. Ezért a FIXCOL tömbnek minden pálya elején újra meg kell adni az értékeket.

Így fest:
Code: [Select]
1191   FOR J=1 TO 15
1192     LET FIXCOL(J)=J
1193   NEXT J
1200   LET FIXCOL(16)=RND(15)+1:LET FIXCOL(17)=RND(15)+1
1210   FOR J=1 TO 17
1220     LET A=RND(17)+1
1230     IF FIXCOL(A)=0 THEN GOTO 1220
1240     LET RNDCOL(J)=FIXCOL(A):LET FIXCOL(A)=0
1250   NEXT J
Látszólag jó, tesztelgettem, működik. Így két-két háztömb színe azonos lesz, de az is véletlenszerű, hogy mely két szín lesz kétszer. Az is lehet, hogy három ház színe lesz egyforma. Elvileg négy egyforma színű ház nem lehet, de ahogy próbálgattam, mintha ilyen is lett volna.
Picit várni kell a házak rajzolása előtt emiatt, de nem vészes.
Van valakinek ötlete ennél gyorsabb módszerre a színek összekeveréséhez?

Nekem még az fura, hogy piros házból mintha mindig legalább kettő lenne. Remélem, csak az árnyalatok hasonlóak nagyon.

UI: Egy másik lehetőség az lenne, hogy pl. data sorokban megadni 20-30-40 variációt a házak színének sorrendjére, onnan véletlenszerűen kiválaszt egyet.
« Last Edit: 2016.April.04. 13:06:13 by szipucsu »
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: Bomber Plus
« Reply #44 on: 2016.April.04. 13:17:27 »
Nekem nincs, hacsak az nem, hogy kihagyod a felhasznált elemek kinullázását, csak generálsz random számot 17-szer, és azokat használod fel a tömbhöz, így lehet több, mint 2 egyforma háztömb, de az se baj, még véletlenszerűbb lesz az egész.

és akkor elég lenne FIXCOL(1)-FIXCOL(15) csak