Servus Leute!
Ich bin gerade dabei, meine Hausübung in Software Engineering zu machen. Nachdem ich das Problem mit den INI-Files durch das Forum gelöst worden ist (danke nochmals), tritt schon das nächste Problem auf:
Da wir gerade das Spiel "Schiffe versenken" nachprogrammieren sollen, habe ich eine Prozedur entworfen, welche das Spielfeld beim Start des Programmes auf die Spielfläche "zeichnet". Hier der Code der Prozedur:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| procedure TForm1.Spielfelderstellen(); var S,Z,F: integer; begin Z:= 1; F:= 1; for Z := 1 to Zeilen do begin
for S := 1 to Spalten do begin Feld[Z,F]:= TShape.Create(self); Feld[Z,F].parent := form1; Feld[Z,F].width:= Breite; Feld[Z,F].height:= hoehe; Feld[Z,F].left:= startposition_left + (Breite + Abstand_hor)*S; Feld[Z,F].top:= startposition_top + (Hoehe + Abstand_ver)*Z; Feld[Z,F].onmouseup := fillshape;
end; end; end; |
Wenn ich auf die Unit2 wechsle, kann ich hier die Daten des Spielbretts bestimmen. Dies funktioniert auch, jedoch wird mir zum 1ten Spielbrett (bleibt unverändert) ein 2tes Spielbrett hinzugefügt, dass die gewünschten Maße hat.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm2.Button1Click(Sender: TObject); begin
Unit1.Startposition_left := strtoint(edit_abstandlinks.text); Unit1.Startposition_top := strtoint(edit_abstandoben.text);
Unit1.Zeilen := strtoint(edit_anzahlzeilen.text); Unit1.Spalten := strtoint(edit_anzahlspalten.text);
Unit1.Hoehe := strtoint(edit_hoehezelle.text); Unit1.Breite := strtoint(edit_breitezelle.text);
form2.close;
form1.Spielfelderstellen; end; |
Daher stellt sich nun die Frage, ob man die 1te Prozedur mittels Befehl irgendwie "überschreiben" kann, sodass nur 1 Spielbrett mit den aktualisierten Daten angezeigt wird.
Da ich leider keine Ahnung habe, wie man dies macht, habe ich mir gedacht, dass ich mal die Experten frage
Ich hoffe, dass ihr mir hierbei helfen könnt.
Grüße aus Salzburg
Christoph
PS: Wünsche euch noch ein schönes Allerheiligen