Delphi-PRAXiS
Seite 4 von 19   « Erste     234 5614     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Schiffe versenken programmieren (https://www.delphipraxis.net/178499-schiffe-versenken-programmieren.html)

leodinho 12. Jan 2014 17:30

AW: Schiffe versenken programmieren
 
So das wäre momentan mein Entwurf , es kann auch erfolgreich kompiliert werden jedoch kommt eine Meldung wenn ich dann gestartet habe /:

Meldung: Projekt project1 hat Exception Klasse >> External:SIGSEGV << ausgelöst.
In Datei ''grids.pas'' in zeile 4891

Würde gern eine Meinung zum Quellcode (:

Delphi-Quellcode:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Grids;

type

  { TForm1 }

  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
  StringGridSpielfeld: TStringGrid;
  procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

  const COLS = 12;
        ROWS = 12;

var
  Form1: TForm1;
  SpielfeldIntern :array[1..COLS, 1..ROWS] of integer;
implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
 StringgridSpielfeld.ColCount:=COLS;
 StringgridSpielfeld.RowCount:=ROWS;
end;

end.

Popov 12. Jan 2014 17:57

AW: Schiffe versenken programmieren
 
Zitat:

Zitat von leodinho (Beitrag 1243299)
Würde gern eine Meinung zum Quellcode (:

Kurz ;)


Delphi-Quellcode:
  const COLS = 12;
        ROWS = 12;
Da COLS immer ROWS ist, würde ich dafür eine Konstante nutzen.

Wie ich schon sagte, StringGrid erscheint im ersten Moment die beste Wahl, aber bedenke, dass du mehrere Informationen verwalten musst. Welches Schiff ist es, welcher Teile getroffen wurden, ist es versunken?

leodinho 12. Jan 2014 18:08

AW: Schiffe versenken programmieren
 
Ja aber mit der Imagekomponente bekomm ich es erst garnicht hin ein Spielfeld zu entwerfen /:

Sir Rufo 12. Jan 2014 18:11

AW: Schiffe versenken programmieren
 
@Popov

Eine Textaufgabe löst man, indem man den Sinn versteht, in einzelnen logischen Teile zerlegt und sich den passenden Rechenweg überlegt.
Dann fängt man an zu rechnen.

So sollte man das eigentlich gelernt haben.

Warum das beim Programmieren anders sein soll oder auf einmal nur professionellen Programmierern vorbehalten ist, hört sich fast nach Lobotomie bei den nicht- professionellen Programmierern an.

Gutelo 12. Jan 2014 18:12

AW: Schiffe versenken programmieren
 
Ich glaub du solltest erstmal alle deine Mitschriften im Unterricht nochmal genau lesen, speziell zu Arrays, Klassen und deren Eigenschaften und Methoden. Danach solltest du dir ueberlegen wie du das umsetzen willst und Schritt fuer Schritt programmieren. Wieviel Zeit hast du denn dafuer?

Sir Rufo 12. Jan 2014 18:18

AW: Schiffe versenken programmieren
 
Mal ne Frage (auch an Popov):

Habt ihr das Spiel "Schiffe versenken" verstanden?

Meines Wissens nach gibt es für die Platzierung folgende Regeln:
  • Schiffe nur waagerecht oder senkrecht
  • zwischen den Schiffen ist mindestens ein Feld frei
Mit diesen Regeln ist es unerheblich zu wissen, welches Schiff es ist, sondern kann durch das Auswerten der Nachbarfelder (horizontal, vertikal) herausfinden ob das Schiff versenkt ist oder nicht.

Als Datenstruktur reicht somit Folgendes vollkommen aus
Delphi-Quellcode:
TEnvironmentState = (esWasser, esSchiff, esDaneben, esTreffer);
TEnvironment = array[1..12,1..12] of TEnvironmentState;
BTW: Das Spiel ist beendet, wenn es keine Felder mehr mit dem Status
Delphi-Quellcode:
esSchiff
gibt.

Zitat:

Zitat von Gutelo (Beitrag 1243309)
Ich glaub du solltest erstmal alle deine Mitschriften im Unterricht nochmal genau lesen, speziell zu Arrays, Klassen und deren Eigenschaften und Methoden. Danach solltest du dir ueberlegen wie du das umsetzen willst und Schritt fuer Schritt programmieren. Wieviel Zeit hast du denn dafuer?

2 Monate (wurde schon erwähnt)

leodinho 12. Jan 2014 18:27

AW: Schiffe versenken programmieren
 
Mein Problem ist halt dass ich bis dienstag meine Projektplanung fertig haben muss und dann noch 2 Monate um Programm und die Extras zu erstellen.. /:
Jedoch ist mir nicht ganz klar wie ich mir für dieses Projekt ein Plan aufschreiben kann /:

Sir Rufo 12. Jan 2014 18:33

AW: Schiffe versenken programmieren
 
Indem man das Problem analysiert und dabei z.B. feststellt, dass jedes Zelle in dem Spielfeld 4 Zustände annehmen kann.

Bei einem Schuss auf ein Feld wird der Status des Felds verändert und bei einem Treffer werden die Nachbarzellen untersucht, ob das Schiff versenkt wurde.

Sind nach dem Schuss (mit einem Treffer) keine Felder mehr mit dem Status Schiff vorhanden, dann ist das Spiel beendet.

Klaus01 12. Jan 2014 18:36

AW: Schiffe versenken programmieren
 
Guten Abend,

die Regeln zum Schiffeversenken: wiki

Was verstehst Du bzw. Dein Lehrer unter Projektplanung?

Grüße
Klaus

leodinho 12. Jan 2014 18:46

AW: Schiffe versenken programmieren
 
Projektplanung:
- grober Aufbau / Ablauf
- wenn es geht Struktogramme (obwohl ich jetzt nicht wüsste wie ich dazu Struktogramme erstellen könnte)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:53 Uhr.
Seite 4 von 19   « Erste     234 5614     Letzte »    

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