Tetris Turtorial für Anfänger?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Eyes_Only

Betreff: Tetris Turtorial für Anfänger?

BeitragMo, Jan 07, 2013 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Community, gesundes neues Jahr an alle. Smile

Ich spiele mit dem Gedanken mich an Tetris zu versuchen, habe aber so richtig keine Idee, wie ich mein Spiel aufbauen soll.

Ich habe auch schon die Forensuche bemüht, stoße dabei aber auf Links von 2005 die nicht mehr aktiv sind.

Kennt vlt. jemand ein gutes Turtorial, indem erklärt wird, wie man ein Tetris entwickelt, also insbesondere wie man die Steine implementiert (Felder oder Data etc.) und wie der Programmablauf (Steine fallen, Reihen löschen usw.) funktioniert?

Danke

Xeres

Moderator

BeitragMo, Jan 07, 2013 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin nicht sicher, was es bringen würde, all die Probleme in einem Tutorial gelöst zu bekommen.
Einfach selbst mal probieren wird dir auf lange Sicht mehr bringen, weil du dir selbst etwas erarbeitet hast.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Midimaster

BeitragMo, Jan 07, 2013 19:44
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab sowas schon mal gemacht und mich damals dafür entschieden sowohl das Spielfeld als auch die Steine als Arrays zu machen.

Jeder Stein war ein 4x4x4 Array AxBxC

Jeder Stein lies sich mit einem einfachen Anweisungs-String definieren.

Hier ein Stein auf 4 Rechtecken:

BlitzBasic: [AUSKLAPPEN]
Stein1="1/1, 1/2, 2/2, 2/3"


....und daraus wurde dann das Array berechnet:

die ersten beiden Dimension AxB stellen eine "Richtung" dieses Stein dar (3.Dim C=0):
BlitzBasic: [AUSKLAPPEN]
o o o o
o x x o
o o x x
o o o o


Die 3.Dimension diente dazu 3 weiter Richtungen von diesem Stein zu errechnen.
Beispeil von oben, aber Stein 1x gegen de Uhrzeigersinn gedreht, gespeichert in 3.Dim C=1:

BlitzBasic: [AUSKLAPPEN]
o o x o
o x x o
o x o o
o o o o


Das lässt sich automatisch dadurch machen, dass man...

BlitzBasic: [AUSKLAPPEN]
For i=0 To 3
For j=0 To 3
Stein( j , 3-i , 1 )=Stein( i , j , 0 )

... i und j miteinander "vertauscht".

Das dann mit allen 4 Möglichen Richtungen. Jetzt hat man 4 ARRAYs mit jeweils 16 Feldern.

Nun muss man nur noch beim "Fallen" des Steins das aktuell 16er-Arrayfeld durchgehen und überprüfen, ob dort wo im Arrayfeld ein TRUE steht im Spielfeld ein FALSE steht.

BlitzBasic: [AUSKLAPPEN]
For i=0 To 3
For j=0 To 3
If Stein( i , j , AktRichtung ) = True
If SpielFeld( SteinX+i , SteinY+j ) = False
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe
 

funkmaster5000

BeitragMo, Jan 07, 2013 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Da hab ich einen super Link für dich! Ein Tutorial, sehr gut kommentiert. Kann ich nur empfehlen!
http://home.cmit.net/rwolbeck/programmingtutorial/

Links bei "Code Examples" gibt's Tetris.

Addi

BeitragMo, Jan 07, 2013 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Question http://www.youtube.com/playlis...583EA79620
Surprised
BP/B3D/BMax : Lerne Java : Früher mal Lite-C : Gewinner BCC 62
 

Eyes_Only

BeitragDi, Jan 08, 2013 18:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank an Midimaster für die ausführliche Beschreibung und danke auch an funkmaster und addi für die Links!
Ich werde mir das mal in Ruhe anschauen und mich daran versuchen. Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group