Spielfeld und Spielsteinchen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Crono

Betreff: Spielfeld und Spielsteinchen

BeitragSa, Okt 15, 2005 22:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin gerade dabei ein kleines "Puzzlespiel" zu machen.

Das ganze sieht so aus:

user posted image

Ich habe nun folgendes Problem: Es gibt verschiedene Spielsteine auf einem 8x8 Felder großem Feld. Immer wenn man zwei gleiche anklickt verschwinden diese.

Ich lasse das Spielfeld immer per Zufall generieren:

BlitzBasic: [AUSKLAPPEN]

For I = 1 To 10
For J = 1 To 10
feld(I,J) = Rand(1,4)
Next
Next


Lasst euch vom 10er Dim Feld nicht irritieren, das hat seine Gründe^^

Jedenfalls, so ist es fast immer so, das es nicht genau aufgeht. Also, jedes Steinchen soll immer als ein vielfaches von 2 vorkommen, sonst geht es nicht auf.

Ich hab schon ein wenig gesucht und rumprobiert, aber nix kam raus... Ich hoffe mir kann jemand helfen.

Danke schon mal im vorraus.

Cu Crono
User posted image

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Okt 15, 2005 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau dir mal das MemmoTut ist im Prinzip das gleiche..
[BB2D | BB3D | BB+]

Crono

BeitragSa, Okt 15, 2005 22:18
Antworten mit Zitat
Benutzer-Profile anzeigen
tut mir leid ich glaub nicht, das mir das weiterhilft Sad

Ich will nur, das ich immer paare habe. und es ist kein memory, da es ja auch gleiche paare gibt (code hab ich mir aber durchgesehen)

Cu Crono
User posted image

SpionAtom

BeitragSo, Okt 16, 2005 0:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist eigentlich wie bei einem normalen Memory, nur das Pärchen mehrfach vorkommen können. Leider lässt meine Methode auch die Möglichkeit zu, dass ein Pärchenpaar gar nicht vorkommt. Wenn das nicht sein soll, frag nochmal hier nach.


Ich gehe davon aus, dass das Feld() am Anfang überall eine 0 stehen hat.

Code: [AUSKLAPPEN]

For i = 1 To feld_breite * feld_hoehe / 2    ;In deinem Fall 50
z = rand(1, 4)
Repeat                                                   ;Hier mischt du 1 Karte
  gewolltX = rand(1, 10)
  gewolltY = rand(1, 10)
Until Feld(gewolltX, gewolltY) = 0
feld(gewolltX, gewolltY) = z

Repeat                                                   ;Und hier die Partnerkarte
  gewolltX = rand(1, 10)
  gewolltY = rand(1, 10)
Until Feld(gewolltX, gewolltY) = 0
feld(gewolltX, gewolltY) = z

Next

Digi_

BeitragSo, Okt 16, 2005 5:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]


For i = 1 To 4    ;In deinem Fall 50
Repeat                                                   ;Hier mischt du 1 Karte
  gewolltX = rand(1, 10)
  gewolltY = rand(1, 10)
Until Feld(gewolltX, gewolltY) = 0
feld(gewolltX, gewolltY) = i

Repeat                                                   ;Und hier die Partnerkarte
  gewolltX = rand(1, 10)
  gewolltY = rand(1, 10)
Until Feld(gewolltX, gewolltY) = 0
feld(gewolltX, gewolltY) = i

Next

For i = 1 To (feld_breite * feld_hoehe / 2)-4    ;In deinem Fall 50
z = rand(1, 4)
Repeat                                                   ;Hier mischt du 1 Karte
  gewolltX = rand(1, 10)
  gewolltY = rand(1, 10)
Until Feld(gewolltX, gewolltY) = 0
feld(gewolltX, gewolltY) = z

Repeat                                                   ;Und hier die Partnerkarte
  gewolltX = rand(1, 10)
  gewolltY = rand(1, 10)
Until Feld(gewolltX, gewolltY) = 0
feld(gewolltX, gewolltY) = z

Next

so sollte jedes kartenpaar min. einmal vorkommen

SpionAtom

BeitragSo, Okt 16, 2005 12:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder noch ein bißl komprimierter:

Code: [AUSKLAPPEN]

For i = 1 To feld_breite * feld_hoehe / 2    ;In deinem Fall 50
If i <=4 then  z = i else  z = rand(1, 4)
Repeat                                                   ;Hier mischt du 1 Karte
  gewolltX = rand(1, 10)
  gewolltY = rand(1, 10)
Until Feld(gewolltX, gewolltY) = 0
feld(gewolltX, gewolltY) = z

Repeat                                                   ;Und hier die Partnerkarte
  gewolltX = rand(1, 10)
  gewolltY = rand(1, 10)
Until Feld(gewolltX, gewolltY) = 0
feld(gewolltX, gewolltY) = z

Next


@Digi_

Wink

Crono

BeitragDi, Okt 18, 2005 21:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen dank an die vielen Antworten Very Happy Komm heut leider nicht mehr dazu es einzubauen... Jaja, die Zeit...

Cu Crono
User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group