kostenloser Webspace werbefrei: lima-city


Tetris Logikaufbau

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    knoi

    knoi hat kostenlosen Webspace.

    Hej leudz,.

    Habe mit Java mal ein Tetris programmiert, leider noch ein wenig verbuggt,..
    habe die Bauteile als JComponent gemacht,.und hinzugefügt,.
    Mittels 4x4 großer Matrix, habe ich diese gezeichnet:

    Hier Bsp für ein Würfel,.
    brick[0][0]=0;brick[1][0]=0;brick[2][0]=0;brick[3][0]=0;
    brick[0][1]=0;brick[1][1]=0;brick[2][1]=0;brick[3][1]=0;
    brick[0][2]=1;brick[1][2]=1;brick[2][2]=0;brick[3][2]=0;
    brick[0][3]=1;brick[1][3]=1;brick[2][3]=0;brick[3][3]=0;


    Wenn jetzt eine reihe gelöscht wird,.werden die 1 auf der Reihe auf 0 gesetztn,.und alle EINSEN oberhalb um eine stelle nach unten verschoben ^^
    Man kann sich vllt jetzt nicht viel darunter vorstellen =) i know =)
    aber es ist zumindest eine umständliche Variante,.

    Will jetzt das ganze neu schreiben,.
    und möchte gern wissn wie man das am besten realisiert,..um die Reihen sinnvoll zu eleminiern =)

    habe meine Verision mal auf RS geupped,.
    http://rapidshare.com/files/340706607/tetris.jar
    Known buggs:
    1 Reihe funktioniert,.ab 2 gibts probs,.
    Drehen in Wand möglich,,
    Punkte system fürn Ar***

    Drum will ich njetzt das ganze fein säuberlich neu machen =)

    Wäre cool wenn mir jemand paar Tipps geben könnte,,.. =)

    Grüße
    Knoi
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. ich versteh nicht warum du das als umständlich bezeichnest
    es ist doch schon die einfachste variante
    ich würde es nicht anders machen

    du hast ein Feld[x][y]
    der fallende stein wandert durch das fällt
    bis er aufschlägt
    wenn eine reihe gelöscht wird
    werden alle oberen nach unten verschoben
    und das für jede zerstörte reihe einzeln

    am besten fängst du oben an

    schleife yEx=0 to maxY
      wenn explo(yEx)=true
        schleife y=0 bis yEx-1
          schleife x=0 bis maxX
            schiebe f(x)(yEx-y)=f(x)(yEx-1-y)



    der stein der runter fallen kann ist maximal 3x3
    aber vor dem drehen musst du halt immer prüfen ob das drehen möglich ist
    strukturiert würd ich wohl jeden stein der fallen kann als individuelles objekt betrachten
    das würde mehr schreib arbeit bedeuten als eine universal lösung
    aber unter umständen besser und auch nicht langsamer in der ausführung
    eventuell sogar schneller
  4. Autor dieses Themas

    knoi

    knoi hat kostenlosen Webspace.

    Ok,..also du hast eig meine Theorie bestätigt ^^
    Nj,.. habs vorher aber falsch aufgebaut, da ich die Teile mit JComponent realisiert habe =)
    das ergab bei der Darstellung probleme =)

    Das mit dem Drehen, habe ich als eigenen Objekt realisiert =)
    Mit Schreibarbeit ahste recht =) sind bei mir 20 A4 Seiten Quellcode (komplette Programm)

    zu deim 3x3 kann ich dir nichtzustimmen,.
    da ja eine stange mit 4*1 dabei ist =/
    so sinds halt 4x4

    Das lustige an dem System ist dass man mit leichtigkeit eigene Bauteile verwenden kann =)



    Werd mich nun mal weiter an meiner Neukonstruiktion zu schaffen machen =)
    ergebniss wird natürlich geposted =)



    Aber wenn ich schon mal dabei bin,..habe den "Takt" mittels Swing-Timer realisiert.
    Diese version geht aber dann nicht fürs Handy =/
    wie lässt sich dieses anders realisiern, um das für JavaME zu machen?
  5. Hi knoi ich fürchte in j2me gibt es nur die Möglichkeit mit Threads zu Arbeiten schau dir doch folgendes mal an
    http://kiang.org/jordan/software/tetrismidlet/ der hat hier seinen Quellcode reingestellt
  6. du kannst doch einfach sowas wien time stap nehmen also so benutz ich timer
    also system zeit
    das müsste n handy doch auch kennen

    if Ytime<SysTimeNow+Yspeed then
      Ytime=now
      bla mach was ja das
    end if


    blockiert das programm während des swing takts?
    also friert es ein wie bei sleep

    wenn ja würd ich so oder so davon abraten
    weil das programm ansprech bar sein muss
    threads sind gar nich nötig

    hm grad nochmal in die klasse gekuckt
    naja halte die für überflüssige spielerei
    is halt nur für events gesteuertes zeug brauchbar
    und sowas brauch ich gewöhnlich nich
    ich brauch nur die systemzeit als takt ^^

    eine riesen lösung für so kleine probleme ^^
    ich hasse oop XD

    ps:
    stimmt bei tetris gibs ja 4x1 er steine
    wenn de böcke hast kannste dir ja mal mein columns ankucken
    das geht aber nur unter win oder mit emu


    Beitrag zuletzt geändert: 30.1.2010 21:23:29 von aero23
  7. Autor dieses Themas

    knoi

    knoi hat kostenlosen Webspace.

    So,.

    hab jetzt mal den Grundaufbau meines programms gemacht =)
    Kann jetzt Schon bausteine drehn =) Und beseitigt dass man in die Wand reindrehn kann =)

    http://rapidshare.com/files/344214082/Wintetris.rar

    Angucken und kritisieren =)
    Bin für alle Tipps dankbar.

    Steinkollision wird nocht NICHT abgefangen, und ist somit noch kein Spiel =)


    EDIT:
    Kann bei diversen Styles noch zu Problemen kommen, da noch null-Layout verwendet

    Beitrag zuletzt geändert: 1.2.2010 9:04:00 von knoi
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!