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
Antwort Antwort
Seite 8 von 19   « Erste     678 91018     Letzte »    
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#71

AW: Schiffe versenken programmieren

  Alt 13. Jan 2014, 18:54
Also mein Ziel ist es ein Feld 12x12 zu generieren auf dem:
- 1 4er Schiff
- 2 3er Schiffe
- 2 2er Schiffe
- 2 1er Schiffe
zufällig angeordnet sind..
Dann soll mit jedem Klick ein Zähler laufen bis das Spiel gewonnen wurde um die Züge zu ermitteln..
Ich seh da nix von KI, wäre ja auch "leicht" übertrieben für den Wissensstand (eine "richtige" KI wäre BTW auch für meine eigenen Kenntnisse zumindest keine leichte Aufgabe).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
leodinho

Registriert seit: 9. Dez 2013
58 Beiträge
 
#72

AW: Schiffe versenken programmieren

  Alt 13. Jan 2014, 19:01
@ Popov

Das Ziel meines Programmes ist halt so wenig wie möglich züge zu brauchen um alle schiffe zu versenken. (:

@ Rufo
Das waere bis jetzt meine vorläufige Planung:

Projektplanung - ,,Schiffe versenken''


1. Generieren des Spielfeldes durch ein StringGrid
1.1. 12x12 Feld erstellen mithilfe ( vertikal A-L und horizontal 1-12 )
2. Spiel Starten -> Schiffe zufällig auf dem Feld platzieren ( evtl mit Boolean )

2.1. Zufällige Position ermitteln
2.1.1. Einschränkungen der Schiffe:
4er – Schiff horizontal: 4er – Schiff vertikal:
(Für die anderen Schiffe gilt die Einschränkung je nach Größe auch)
2.1.2. Position zulässig? -> Alle Regelbedingungen erfüllt?
3er Schiff + mehrere Schiffe schon platziert:
Es ist zu erkennen, dass aufgrund der Regel ,,kein Schiff darf ein anderes Schiff berühren'',die Anzahl der Plätze gesunken ist.
2.1.3. Ermitteln aller gültigen Start-Koordinaten und aus dieser Menge zufällig eine auswählen
3. Klick auf das Feld (Zähler +1) ( if ... then ; else ... )
3.1. Treffer? → Ja → Dann Überprüfung ob Schiff versenkt? → Ja -> Meldung
''Schiff versenkt'' // Nein? → nächster Klick
3.2. Treffer? → Nein → nächster Klick
4. Solange Wiederholen bis alle Schiffe getroffen wurden -> 3. wiederholen
4.1. Zähler nach jedem Klick auf dem Spielfled um 1 erhöhen
5. Alle Schiffe getroffen?
5.1. Wurden alle Schiffe getroffen? → Ja? → Meldung anzeigen: ''Alle Schiffe getroffen''
6. Erscheinen des Highscores
6.1. Highscore ( Liste der Besten Spieler ) erstellen
6.2. Anzeige des Highscores sobald der Spieler alle Schiffe versenkt hat
6.3. Anzeige eines Feldes zum Eingeben des Namens
6.4. Speicherung der Daten im Highscore
Die Bilder hab ich jetzt hier mal weggelassen..
In welchem Bereich könnte ich genauer werden?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#73

AW: Schiffe versenken programmieren

  Alt 13. Jan 2014, 19:05
Zitat:
In welchem Bereich könnte ich genauer werden?
Theorie ist das eine die Praxis eine andere..
Woher sollen wir wissen ob du dich überhaupt schon mal mit Delphi beschäftigt hast.

Ich hoffe hab jetzt nicht zu viel gesagt und jemand verärgert.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#74

AW: Schiffe versenken programmieren

  Alt 13. Jan 2014, 19:06
1. ist immer noch falsch. Zuerst die Logik, dann die Darstellung. Ob das letztendlich ein StringGrid wird, ein Array of TPanel oder ein TSchießMichTot, ist doch erst einmal vollkommen irrelevant.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#75

AW: Schiffe versenken programmieren

  Alt 13. Jan 2014, 19:08
KI hört sich gewaltig an, aber schon eine if Abfrage ist ein KI.

Zitat:
Also mein Ziel ist es ein Feld 12x12 zu generieren auf dem:
- 1 4er Schiff
- 2 3er Schiffe
- 2 2er Schiffe
- 2 1er Schiffe
zufällig angeordnet sind..
Dann soll mit jedem Klick ein Zähler laufen bis das Spiel gewonnen wurde um die Züge zu ermitteln..
Ok, nehmen wir das als Grundlage.

Zitat:
ein Feld 12x12 zu generieren
Ein Feld 12x12? Gibt es ein Feld Spiele? Entweder doch zwei Felder, womit dann die Liste ungenau wäre, oder doch ein Feld, dann kein Battleship.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#76

AW: Schiffe versenken programmieren

  Alt 13. Jan 2014, 19:10
Isses denn so schwer? Ein Spielfeld, auf das so lange geballert wird, bis alle Schiffe versenkt sind, zurückgeschossen wird nicht. Das entspricht zwar nicht dem klassischen Schiffe versenken, ist aber zumindest ähnlich.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
leodinho

Registriert seit: 9. Dez 2013
58 Beiträge
 
#77

AW: Schiffe versenken programmieren

  Alt 13. Jan 2014, 19:12
Du triffst es genau !
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Schiffe versenken programmieren

  Alt 13. Jan 2014, 19:14
Hier mal ein paar Ablaufdiagramme (und immer noch nix mit Programmierung)
schiffe-versenken.jpg spielfeld-vorbereiten.jpg schiff-platzieren.jpg
(BTW: erstellt mit dem PAP-Designer)
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 (13. Jan 2014 um 19:17 Uhr)
  Mit Zitat antworten Zitat
leodinho

Registriert seit: 9. Dez 2013
58 Beiträge
 
#79

AW: Schiffe versenken programmieren

  Alt 13. Jan 2014, 19:23
Ja eine Vereinfachung meiner Art. Warum bekomm ich das nicht gleich so konstant und gut hin ^^

Also ich denke damit sollte meine Planung insgesamt durch Ablaufplan + Ablaufdiagramme vollendet sein (:
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Schiffe versenken programmieren

  Alt 13. Jan 2014, 19:23
1. Generieren des Spielfeldes durch ein StringGrid
Falsch, denn
  1. Daten werden nie, niemals, nicht in einem Control gespeichert. Ein Control ist für den Austausch mit dem Benutzer gedacht (Eingabe/Ausgabe)
  2. Ob das wirklich ein StringGrid wird, ist ja noch gar nicht raus ... leg dich da einfach noch nicht fest. Und die Generierung des Spielfelds hat nichts mit der Anzeige zu schaffen.
    Die Anzeige folgt dem Spielfeld

Ja eine Vereinfachung meiner Art. Warum bekomm ich das nicht gleich so konstant und gut hin ^^
Weil du dich die ganze Zeit an einem StringGrid festgebissen hast und das Pferd von hinten aufzäumen wolltest, anstatt einfach erstmal das aufzuschreiben/aufzumalen, was du aus der Beschreibung und den Regeln zum Spiel "Schiffe Versenken" herausarbeiten kannst
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)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 8 von 19   « Erste     678 91018     Letzte »    

 

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 13:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz