![]() |
Minesweeper mit C
Tag zusammen!
ich hätte da Folgendes Prob... Ich muss für die Schule Minesweeper nach Programmierern... So eigentlich jetzt nicht soooo komplex nur die sache hat nen paar Haken und ich daddel seit Stunden rum... Problem 1: Wenn man ein Kästchen auswählt muss er ja gucken wieviele Minen drumherrum sind... Blöd nur das das array auch die Felder auf der Gegenüberliegenden Seite wertet... (Feld[8][1] ist ja genau neben Feld[1][1] im array aber in Mienesweeper nunmal nicht -.- hoffe ihr versteht wie ich das meine)... Problem 2: Markieren; Mann kann ja so ein Fähnchen setzen da wo man glaubt das da ne Mine ist... Wie "frezze" ich das Feld so das man es nicht mehr ändern kann... sind noch weit mehr Probleme da aber das sind die beiden wo mir nix mehr einfällt... need help euer FF64 |
wirklich in C ?
weil dann wärs ja Feld[0][0] und Feld[7][0] oder? aber nach welcher formel bitte kommst du denn von (0,0) nach (7,0) ??? und zu 2: welches toolkit verwendest du denn (wenns wirklich C ist)? [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] und: FLAME ON [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] ich würd' nen admin bitten diesen thread zu löschen. ;) FLAME OFF |
ich glaube er checkt immer array[i][i+1], [i][i-1],[i+1][i] usw
bei array[i][0-1] wird dann wohl bei [i][7] gecheckt, was ja auf der anderen seite liegt. ich würde da da einfach ne bedingung vor der abfrage machen und gut ist. wenn die nicht erfüllt ist, wird die jeweilige seite einfach nicht gecheckt. |
seid wann ist 0-1 == 7 ??? :)
|
Zitat:
|
hier mal was konstruktives. ich finde die funktion etwas "unelegant" aber sie tut was sie soll. und das nach 6 bier ;)
wem eine elegantere (und/oder kürzere) version gelingt, bitte posten! Code:
|
Effizientere Lösung:
Prüfung direkt beim Erstellen der Punkt-Objekte. Ansonsten sollte das so funktionieren. Und noch eine Frage: Wer benutzt ohne Geschwindigkeitsoptimierung Post/Präfixoperatoren?! Code:
ps[cnt++] |
Zitat:
Code:
if (x + 1 < this.size && y + 1 < this.size) { und das bisschen overhead auf dem stack (8x2x sizeof (int)) ist wohl verkraftbar. Zitat:
|
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.