Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#106

AW: Schiffe versenken programmieren

  Alt 27. Feb 2014, 21:17
Was hast du dann in der Schule gelernt? Wieso übernimmst du die Aufgabe ein Programm wie Schiffe versenken zu programmieren, wenn du nicht mal die Kenntnisse hast wie man ein Feld erstellt, bzw. mit dem Feld ist ein Array gemeint. Dicke Eier? Du hast schon Tipps bekommen, auch gute, aber du hast irgendwann den Weg des kleinsten Wiederstandes gewählt und das akzeptiert was dir die Lösung liefert, ohne zu hinterfragen wieso und weshalb.

Also wenn du nicht mal in der Lage bist ein Array-Feld zu erstellen, dann hat das evtl. tatsächlich keinen Sinn.

Ich könne dir nun zeigen wie du das Array erstellst, denn erstens ist es nur eine Zeile und zweitens mag ich im Grunde ich den Spruch von wegen - Lerneffekt - nicht. Trotzdem, wenn du es vorgesagt bekommst, dann verstehst du es nicht was das eigentlich soll und verstehst den Rest nicht.

Wie ich schon sagte, im Beitrag #96 steht der erste Schritt.

Willst du ein Tipp? Ok, hier ist ein Link zu einem Tutorial: http://de.wikibooks.org/wiki/Program...Pascal:_Arrays

Lerne zuerst was Array sind (siehe Tutorial). Es ist nicht so schwer. Du benötigst ein Zweidimensionales Array, wg. Spielfeld 12x12. Wenn du das grob verstanden hast, kannst du den Rest hier fragen.

Ich hab das das Programm (bzw. das Platzieren der Schiffe) zum Teil programmiert (siehe Anhang). Das kannst du auch. Ist im Grunde nicht wirklich schwer. Ich hab dazu folgende Prozeduren und Funktionen benötigt:

Prozedur FeldLeeren
Funktion IstZelleGueltig
Funktion IstZelleFrei
Funktion IstGueltigeZelleFrei
Funktion IstZelleUndRandZoneFrei
Funktion SchiffPositionHorizontal
Funktion SchiffPositionVertikal
Funktion EinSchiffPositionieren
Funktion AlleSchiffePositionieren

Ich hab die Berechnung in kleine Stücke zerteilt, wobei einige Funktion gerade mal eine Zeile groß sind.

Der erste Schritt ist ein Feld generieren.
Angehängte Dateien
Dateityp: zip schver.zip (198,6 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat