Minesweeper mit VB

Hi...

Lade dir meinen Source runter und schau da das Beispielprojekt an...

Vorallem schau da den Beitrag und de Readme datei an

lg tody
 
Hi...

Findest?

Ich denke mal das der code relativ einfach gehalten ist.
Wie gesagt lad dir den Source runter und schau dir die Readme datei an...
Da hab ich vorrangegangene Überlegungen aufgeschrieben...
Wenn du fragen hast zum source dann meld di einfach...

lg Tody
 
soviel wie ich bis jetzt gesehen hab, wird mein lehrer mir nich glauben, dass ich das geschrieben hab...
 
Welche schule gehst du?
Wenn ich fragen darf...

Du sollt den Source von mir ja nicht kopieren sondern das prinzip dahinter etwas verstehen und deine eigenen Routinen schreiben...
Da du sonnst nicht erklären kannst was da überhaupt geschieht...

Ausserdem wird er/sie sich schon denken das ihr im Internet hilfe gesucht habt...
Für das ist das Internet ja da...

lg Tody
 
Hi,

also ich versuche mich grad wieder einmal an den Code.

Bis jetzt sieht es so aus:
Code:
    ' Felder mit Zahlen belegen
    For i = 1 To feldAnzahl
        ' Ausführung fortsetzen, wenn Feld keine Bombe ist
        If (lblFeld(i).Caption <> "B") Then
            ' Zahlen verteilen
            lblFeld(i).Caption = Val(i)
        End If
        
        ' Bomben prüfen
        If (lblFeld(i).Caption = "B") Then
            'Für das Feld davor
            cDummy = Val(0)  'Caption-Wert speichern
            cDummy = cDummy + 1 'Caption-Wert um 1 erhöhen
            lblFeld(i - 1).Caption = cDummy
            
            'Für das Feld danach
            cDummy = cDummy + 1 'Caption-Wert um 1 erhöhen
            lblFeld(i + 1).Caption = cDummy
        End If
    Next i

Aber irgendwie klappt es immer nur für das Feld davor.

Außerdem macht er auch immer manche Felder (die gar keine B's als Caption haben) blau. Ich habe Felder mit Bomben blau gefärbt.
 
Hallo nocheinmal, fast alles klappt. Zahlen werden gut verteilt ect.

Nur 2 Probleme, obwohl das 2 mal fast das selbe ist.
Ich schreibe grad an der Funktion, bei der alle anliegen leeren Feldes (bei klick auf ein leeres Feld) geöffnet werden:

Das sieht so aus:
Code:
    If (lblFeld(Index).Caption = " ") Then
        For i = 0 To feldAnzahl
            ' Alle Felder nach links hin öffnen
            If (lblFeld(Index - i).Caption <> "B") Then
                If (lblFeld(Index - i).Caption = " ") Then
                    cmdButton(Index - i).Visible = False
                    cmdButton(Index - i + 1).Visible = False
                End If
            End If
            
            ' Alle Felder nach rechts öffnen
            If (lblFeld(Index + i).Caption = " ") Then
                cmdButton(Index + i).Visible = False
                cmdButton(Index + i + 1).Visible = False
            End If
        Next i
    End If

Allerdings öffnet er alle leeren Feldern in der nächsten Reihe mit.

Wenn zum Beispiel am Rand ein leeres Feld ist, auf das ich klicke und in der Reihe danach ein leeres Feld ist, öffnet er dies mit.
Ich hoffe das war verständlich.



Genau so wie bei dem Zahlen um die Bomben verteilen.
Ich habe folgendes Muster

# 1 2 3 4 5 6 7 8
a
b 1 b
c 1
d
e
f
g
h

Auf b8 liegt eine Bombe. Er macht allerdings in c1 eine Zahl für eine Bombe rein.
Das ist doch nicht richtig, oder?
Ich habe jetzt übrigens folgendes endgültiges Feld muster.


Zu erst habe ich die Bomben mit einer Zufallsfunktion verteilt.
Dann habe ich auf alle Felder eine 0 gelegt. Dann lege ich mit Hilfe von +1 (auf der Caption) die richtige Zahl.
Nach dem Verteilen wird eine 0 durch " " (nichts) ersetzt, womit ich leere Felder erreiche.



Danke nochmal für alles
David
 

Neue Beiträge

Zurück