Spielfeld und Spielsteinchen
Übersicht

![]() |
CronoBetreff: Spielfeld und Spielsteinchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin gerade dabei ein kleines "Puzzlespiel" zu machen.
Das ganze sieht so aus: ![]() 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]
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 |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau dir mal das MemmoTut ist im Prinzip das gleiche.. | ||
[BB2D | BB3D | BB+]
|
![]() |
Crono |
![]() Antworten mit Zitat ![]() |
---|---|---|
tut mir leid ich glaub nicht, das mir das weiterhilft ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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_ ![]() |
||
![]() |
Crono |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen dank an die vielen Antworten ![]() Cu Crono |
||
User posted image |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group