Seltsam, gerade noch vor einer Woche hab ich einen MineSweeper-Clone in C++ geschrieben (oder den Ansatz dazu):
Dabei fasse ich die Minen in ein Array der Dimension [9][9] (also 0 - 9 * 0 - 9) und dieses Array ist des Typs Structur. Dabei habe ich in der Structur einmal ein Feld des Typs bool namens Status welches speichert ob das Feld bereits aufgedeckt ist oder noch nicht. Dann ein Short namens type welches speichert was sich unter dem Feld befindet (Bombe oder nichts) und ein char namens Seek-Status welcher für die Abfrage der benachbarten freigelegten Kästchen benötigt wird (sicherlich nicht zwangsweise aber ich hab mir da so einen algorithmus erdacht mitdem ich das benötige).
Des weiteren habe ich dann (logischer Weise ) ein Fenster sowie 10 x 10 Child-Fenster welche auf Knopfdruck die WM_COMMAND message senden. (Per ID kann man dann das jeweilige Fenster ausfindig machen und die mine sprengen oder das unvermiente Feld aufdecken + benachbarte Felder - wie in Minesweeper eben).
Eine Spielsteuerung, also Menüs, Toolbars und Co. und sowas gibts noch nicht. Die GUI (wenn man das bisschen Grafik so nennen kann^^) ist per Hand mit der WinAPI zusammengeschraubt, ohne Visuellen Designer und ohne jegliche Toolkits und GUI-Builder wie VB einen bietet.
Vielleicht hilft dir ja der Code oben weiter wenn du dich etwas mit C++ auskennst. Dann sollte das eigentlich kein Problem sein denn ich bin selbst noch Anfänger in C++.
Mehrere Ebenen ist imo nicht nötig wenn man Structures verwendet. Dann hat man eine Int oder Short-Variable welche speicher was sich an der Stelle XY befindet (etwa bei 3, 5) und fertig. Dafür braucht man keine mehrfachen Ebenen oder sowas... Und wenn sich keine Mine dort befindet und das Feld bereits aufgedeckt ist, kannst du dort ja den Wert der dort zu findenen Minen eintragen. (etwa eine 3 wenn sich soviele Minen dort befinden). Es sollte sich alles mit wenigen Variablen in der Structur machen lassen und auch bequem managen lassen.
//EDIT:
Zitat
Das mit den Zahlen und Mienen wuerde ich vielleicht so machen, dass das eine Graphik ist, die unter den Buttons liegt, und dass beim klick der Button unsichtbar und unklickbar gemacht wird ...
...
Da könnte man doch einfach Childwindows erstellen und diese leer lassen (ohne Text und ohne Bild). Wenn man dann drauf klickt ändert sich das Bild des Buttons, entweder zu einer Mine oder zu einer Zahl welche angibt, wie viele Minen sich im Umfeld befinden. Das kann man aber alles selbst auf den Button schreiben. (In meinem Spielchen oben hab ich die Button beim einmaligen Blicken eine EInrastfunktion verpasst sodass sie eingedrückt bleiben. Das sieht dann ähnlich dem Minesweeper von Microsoft aus. Man kann die Buttons zwar auch verschwinden lassen aber dann muss man auf die Fläche unter den Buttons malen was imo umständlicher ist als die Grafik der Buttons zu ändern).
Anmerkung: Wenn ich von Child-Windows spreche meine ich die Buttons im Spiel unter denen sich Minen verstecken könnten. Da sie ja unter Windows nix anderes als Fenster sind, nenne ich sie manchmal Buttons und manchmal Fenster, also nicht in Verwirrung geraten.
EDIT: Im Übrigen habe ich in meinem vorliegenden Programmchen noch keine Zufallsroutine für die Minenplatzierung drinne. Deshalb liegen die immer gleich und werden beim Initialisieren des Fensters (bei der WM_CREATE Message) einfach den Buttons zugewisen. Sollte aber kein Problem darstellen, sowas einzubauen. Ich hab hier aufgehört und mit was Neuem angefangen, war alles nur ne Übungsaufgabe von mir.