AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schiffe versenken programmieren

Ein Thema von leodinho · begonnen am 11. Jan 2014 · letzter Beitrag vom 4. Mär 2014
 
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: Schiffe versenken programmieren

  Alt 2. Mär 2014, 13:40
Irgendwie beschleicht mich immer noch das Gefühl, du weißt gar nicht wie Schiffe versenken wirklich funktioniert, bzw. du hast das noch nicht in die wesentlichen Schritte zerlegt.

Darum verbeißt du dich in diese "bekloppte" Anzeige des Spielfelds, die mit dem Spiel an sich nichts zu tun hat.

Nehmen wir doch mal völlig losgelöst (ja das geht, und so sollte man jedes Einzelne Teilproblem hier angehen) den Schuss auf eine Koordinate und überlegen uns, was da passieren muss:
  1. Die Schuss-Koordinaten werden benötigt
  2. Das Spielfeld wird benötigt
Ok, damit können wir nun den Schuss abgeben, aber reicht uns das schon?
Wäre ja schick, wenn wir eine Rückmeldung bekommen.
Was für Rückmeldungen können dort kommen?
  • Wasser
  • Treffer
  • Versenkt
  • Flotte versenkt
  • Auf das Feld wurde schon geschossen
  • Koordinaten ausserhalb des Spielfelds
Damit können wir schon folgendes schreiben:
Delphi-Quellcode:
const
  Schuss_Wasser = 0;
  Schuss_Treffer = 1;
  Schuss_Versenkt = 2;
  Schuss_FlotteVersenkt = 3;
  Schuss_NichtNochmal = 4;
  Schuss_Ausserhalb = 5;

function SchussAuf( ASpielfeld : TSpielfeld; x,y : Integer ) : Integer;
begin
  // Dummy, wir melden mal immer Wasser, weil wir noch nicht wissen, wie wir das umsetzen wollen
  Result := Schuss_Wasser;
end;
Bei 2 Ergebnissen muss die Eingabe der Koordinaten wiederholt werden, und bei einem Ergebnis ist das Spiel zu Ende.
Die anderen Ergebnisse gehören zum normalen Spielablauf.

Genau das musst du auch für die anderen Teile erst mal ausarbeiten, dann kannst du anfangen das umzusetzen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 2. Mär 2014 um 13:43 Uhr)
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz