Erstellen eines Minesweeper-Spiels
Erstellen eines Minesweeper-Spiels
Guten Tag liebe Member des Forums,
ich habe geplant ein „Minesweeper“-Programm in Lazarus (Pascal) zu erstellen. Allerdings sind meine Kenntnisse in Lazarus sehr beschränkt und es scheitert schon bei der Erstellung der Oberfläche des Programms.
Bomben sollen hierbei das Spiel beenden und um eine Zufällig generierte Bombe müssen –wie beim richtigem Spiel- Zahlen erstellt werden, welche die Anzahl der umliegenden Bomben wiederspiegelt. Ich habe sozusagen das Konzept bereit, doch kann es nicht in Lazarus umsetzen.
Meine Vorstellung:
15*15 Feld
20% Bomben
Start Knopf
„Loosing“-Screen
(Anpassung der schwierigkeit)
Ich wäre euch sehr Dankbar, wenn ihr mir –vorallem beim Anfang helfen könntet.
ich habe geplant ein „Minesweeper“-Programm in Lazarus (Pascal) zu erstellen. Allerdings sind meine Kenntnisse in Lazarus sehr beschränkt und es scheitert schon bei der Erstellung der Oberfläche des Programms.
Bomben sollen hierbei das Spiel beenden und um eine Zufällig generierte Bombe müssen –wie beim richtigem Spiel- Zahlen erstellt werden, welche die Anzahl der umliegenden Bomben wiederspiegelt. Ich habe sozusagen das Konzept bereit, doch kann es nicht in Lazarus umsetzen.
Meine Vorstellung:
15*15 Feld
20% Bomben
Start Knopf
„Loosing“-Screen
(Anpassung der schwierigkeit)
Ich wäre euch sehr Dankbar, wenn ihr mir –vorallem beim Anfang helfen könntet.
Re: Erstellen eines Minesweeper-Spiels
Hu... also wenn du nur die Vorstellung hast, ein Spiel zu programmieren und gar keine Idee, wie du das Spielfeld erstellen kannst, wird es irgendwie hart werden.
Hört sich irgendwie nach Ausbildungsaufgbe an
So würde ich es angehen:
Struktur für das Spielfeld erstellen.
Es gibt Eigenschaften für das Spielfeld als Ganzes und Eigenschaften der einzelnen Felder, die alle gleich sind.
Also zuerst die Eigenschaften eines Feldes:
Dann benötigst du das Spielfeld;
Dann erzeugst du eine Variable für das Spielfeld
Nach dem Start legst du z.B. im OnCreate der Form ein paar Variablen fest mit der Größe der Felder usw.
Dies kannst du auch aus der Form Size berechnen.
Jetzt kannst du mit den Vorgaben das Spielfeld erzeugen...
...obiges ist Freihand gepinselt und soll als Anstoß dienen 
Hört sich irgendwie nach Ausbildungsaufgbe an

So würde ich es angehen:
Struktur für das Spielfeld erstellen.
Es gibt Eigenschaften für das Spielfeld als Ganzes und Eigenschaften der einzelnen Felder, die alle gleich sind.
Also zuerst die Eigenschaften eines Feldes:
Code: Alles auswählen
Type TFeld = Record
Panel:TPanel;
Picture:TImage;
Caption:TLabel;
end;
Code: Alles auswählen
Type TSpielFeld = Record
Fields:array of array of TFeld;
SizeFields:integer; // width and height
space:integer; // Abstand der Felder zueinander
CountX:integer;
CountY:integer;
end;
Code: Alles auswählen
.....
private
Spielfeld:TSpielFeld ;
public
end;
Dies kannst du auch aus der Form Size berechnen.
Jetzt kannst du mit den Vorgaben das Spielfeld erzeugen...
Code: Alles auswählen
Spielfeld.SizeFields:=60;
Spielfeld.Space:=2;
Spielfeld.CountX:=15;
Spielfeld.CountY:=15;
setlength(Spielfeld.Fields, Spielfeld.CountY);
for y := 0 to Spielfeld.CountY-1 do
begin
setlength(Spielfeld.Fields[y], Spielfeld.CountX);
for x := 0 to Spielfeld.CountX-1 do
begin
Spielfeld.Fields[y][x].Panel:=TPanel.create(nil);
Spielfeld.Fields[y][x].Panel.Parent:=Form1;
Spielfeld.Fields[y][x].width:=Spielfeld.SizeFields;
Spielfeld.Fields[y][x].height:=Spielfeld.SizeFields;
...usw.
end;
end;

Gruß, Michael
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Erstellen eines Minesweeper-Spiels
Hi!
Was Six1 anbietet ist ja die "Turbo-Pascal-Schule für Fortgeschrittene". Oder so.
Ich werf mal in die Runde:
Ein DrawGrid nehmen, das erspart viel Arbeit.
Allerdings ist der Code von Six1 eine gute Anfängerschulung.
Kommt drauf an, was der Fragende so kann.
Winni
Was Six1 anbietet ist ja die "Turbo-Pascal-Schule für Fortgeschrittene". Oder so.
Ich werf mal in die Runde:
Ein DrawGrid nehmen, das erspart viel Arbeit.
Allerdings ist der Code von Six1 eine gute Anfängerschulung.
Kommt drauf an, was der Fragende so kann.
Winni
Re: Erstellen eines Minesweeper-Spiels

Es sind nur260 Zeilen Code bis end.
Zeig mal ein bisschen von dem, was du bis jetzt hast...
Gruß, Michael
-
- Beiträge: 81
- Registriert: Sa 1. Mai 2021, 15:39
Re: Erstellen eines Minesweeper-Spiels
six1
würde gerne mal das Minesweeper Projekt von dir sehen.

-
- Beiträge: 81
- Registriert: Sa 1. Mai 2021, 15:39
-
- Beiträge: 761
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
Re: Erstellen eines Minesweeper-Spiels
Schick gemacht.
Deine .exe wird bei mir vom Windows Defender als schwerwiegender Virus ausgegeben. Wenn ich neu compiliere und meine exe benutze, kein Problem.
Deine .exe wird bei mir vom Windows Defender als schwerwiegender Virus ausgegeben. Wenn ich neu compiliere und meine exe benutze, kein Problem.
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
-
- Beiträge: 582
- Registriert: Sa 22. Okt 2016, 23:12
- OS, Lazarus, FPC: W10, L 3.8
- CPU-Target: 32+64bit
- Wohnort: Dresden
Re: Erstellen eines Minesweeper-Spiels
Bei mir das gleiche.
LG Maik
Windows 10,
- Lazarus 3.8 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)
Windows 10,
- Lazarus 3.8 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)
Re: Erstellen eines Minesweeper-Spiels
Habe meine Exe mit UPX gepackt...
Da ist kein Virus drin...
Da ist kein Virus drin...
Gruß, Michael
- af0815
- Lazarusforum e. V.
- Beiträge: 6784
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Erstellen eines Minesweeper-Spiels
Dann schmeisst die Exe raus. Der Source reicht doch.
Sehr viele Virenscanner gehen auf FPC kompilierte Dateien los, da sie gewissen Mustern entsprechen. Alles was nicht von bestimmten Compileren erzeugt wird ist einmal verdächtig. Manchmal reichen Debuginfos aus um positive false zu werden. Ganz arg ist es, falls du auch noch Strip drüber laufen lässt
Zumindest eine Zeitlang wurde das automatisch als Virulent qualifiziert.
Sehr viele Virenscanner gehen auf FPC kompilierte Dateien los, da sie gewissen Mustern entsprechen. Alles was nicht von bestimmten Compileren erzeugt wird ist einmal verdächtig. Manchmal reichen Debuginfos aus um positive false zu werden. Ganz arg ist es, falls du auch noch Strip drüber laufen lässt

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- Roland Chastain
- Beiträge: 168
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Re: Erstellen eines Minesweeper-Spiels
Hallo ! Hier ist (falls jemand interessiert ist) ein Minesweeper, den ich vor ein paar Jahren gemacht habe. Es ist ein Windows-Programm.
- Dateianhänge
-
demineur-windows.zip
- (6.77 KiB) 130-mal heruntergeladen
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.