AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein - JAVA - Tetris - volle Reihen entfernen...

- JAVA - Tetris - volle Reihen entfernen...

Ein Thema von flomei · begonnen am 15. Mär 2005 · letzter Beitrag vom 17. Mär 2005
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#11

Re: - JAVA - Tetris - volle Reihen entfernen...

  Alt 16. Mär 2005, 23:09
Das Problem ist doch aber gerade, dass er nur eine Liste hat in der alle Blöcke noctiert sind.
Somit kann man nicht mit ner einfachen Schleife alles durchgehen, da nach nem Stein aus Reihe 2 wieder einer aus Reihe 1 kommen kann.
Somit ist meine Version wo einfach nur der Wert in der Zeile um eins erhöht wird doch besser...
Da braucht man sich um den Rest keinen Kopf zu machen.

Dass shl shr schon schöne Sachen sind will ich damit natürlich nicht aberkennen und sicherlich geht deine Version!
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#12

Re: - JAVA - Tetris - volle Reihen entfernen...

  Alt 16. Mär 2005, 23:32
Zitat von atreju2oo0:
Da denk ich ist meine Version besser geeignet oder hab ich Dich falsch verstanden?
Zitat von atreju2oo0:
Somit ist meine Version wo einfach nur der Wert in der Zeile um eins erhöht wird doch besser...
Deine Version? Vielleicht habe ich das schon drei Posts vor dir vorgeschlagen
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#13

Re: - JAVA - Tetris - volle Reihen entfernen...

  Alt 16. Mär 2005, 23:56
Ich hab jetzt Folgendes hier:
Code:
   private void pruefeReihen()
   {
      int[] lReihen = { 225,245,265,285,305,325,345,365,385,405,425,445,465,485,505,525,545,565,585,605,625,645 };
      int    lCounter = 0 ,lIndex = 0;
      
      for(lIndex=0;lIndex==21;lIndex++)
      {
         hatBlockliste.zumAnfang();
         while(!hatBlockliste.istDahinter())
         {
            if(hatBlockliste.erbitteBlock().erbitteY() == lReihen[lIndex])
            {
               lCounter++;
            }
            hatBlockliste.vor();
         }
         if(lCounter == 9)
         {
            hatBlockliste.zumAnfang();
            while(!hatBlockliste.istDahinter())
            {
               if(hatBlockliste.erbitteBlock().erbitteY() == lReihen[lIndex])
               {
                  hatBlockliste.entferneAktuelles();
                  hatBlockliste.vor();
               }
            }
            hatBlockliste.zumAnfang();
            while(!hatBlockliste.istDahinter())
            {
               oBlock1 = hatBlockliste.erbitteBlock();
               oBlock2 = hatBlockliste.erbitteBlock();
               oBlock3 = hatBlockliste.erbitteBlock();
               
               if(this.kannAbwaerts())
               {
                  this.bewegeAbwaertsOhnePause();
               }
            }
         }
      }      
   }
Scheint aber irgendwie nicht ganz zu funktionieren. Sieht irgendwer von euch nen Fehler?

Werde das nachher auch nochmal meinem Lehrer zeigen, dann kann der sehen was er mir da aufgebrummt hat. Vielleicht kann ich dann später abgeben... *hoff*

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#14

Re: - JAVA - Tetris - volle Reihen entfernen...

  Alt 17. Mär 2005, 13:00
Zitat:
Statt dem Array könntest Du auch die ersten 10 Bit eines Integers verwenden. Damit würdest Dir das "Array" sparen und würdest noch Kenntnisse mit BitOperatoren nachweisen.
Ich wollte absichtlich diese Lösung nicht vorschlagen, da es IMHO zu Profesionell für eine Schularbeit ist. Bestimmt wäre dies die beste Lösung und schnellste auch.
Aber ARRAY könnte man trotzdem nicht sparen , denn für jede Reie braucht man ein Integer, d.h.
Delphi-Quellcode:
const Hoche = 20;
var Reien : array[0..Hoche]of Integer;
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: - JAVA - Tetris - volle Reihen entfernen...

  Alt 17. Mär 2005, 14:26
Zitat von sniper_w:
Zitat:
Statt dem Array könntest Du auch die ersten 10 Bit eines Integers verwenden. Damit würdest Dir das "Array" sparen und würdest noch Kenntnisse mit BitOperatoren nachweisen.
Ich wollte absichtlich diese Lösung nicht vorschlagen, da es IMHO zu Profesionell für eine Schularbeit ist. Bestimmt wäre dies die beste Lösung und schnellste auch.
Aber ARRAY könnte man trotzdem nicht sparen , denn für jede Reie braucht man ein Integer, d.h.
Delphi-Quellcode:
const Hoche = 20;
var Reien : array[0..Hoche]of Integer;

Du brauchst eben kein array, Du hast ja eine Liste. Mag sein, dass es mit array performanter wäre, aber notwendig ist es nicht. Man muss ja auch beachten, dass manche Steine aufgrund von vorher entfernten nachrutschen, also müßtest dein Array auch immer wieder neu aufbauen.
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#16

Re: - JAVA - Tetris - volle Reihen entfernen...

  Alt 17. Mär 2005, 14:34
Zitat von GuenterS:
Man muss ja auch beachten, dass manche Steine aufgrund von vorher entfernten nachrutschen, also müßtest dein Array auch immer wieder neu aufbauen.
Aber viel ist da eigentlich nicht zu machen, da beim Entfernen einer Reihe einfach nur die Werte der anderen Reihen um eins nach unten verschoben werden und die oberste Reihe wieder zu 0 wird. Es ist ja nicht so, dass die Steine in irgendwelche Lücken nachrutschen, die durch das Entfernen weiter unten frei werden könnten. Erst dann müsste man alles berechnen.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz