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 1 von 2  1 2      
Benutzerbild von DeddyH
DeddyH

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

AW: Schiffe versenken programmieren

  Alt 28. Feb 2014, 15:51
Sollte die Logik nicht erst einmal klar sein, bevor man eine Oberfläche bastelt? Sonst landet man wieder bei der "function follows design"-Programmierung und vermengt schlimmstenfalls Darstellung und Logik.
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
 
#2

AW: Schiffe versenken programmieren

  Alt 28. Feb 2014, 16:00
Das ist keine Oberfläche, das ist nur zum Testen des Inhalts von dem Array.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Schiffe versenken programmieren

  Alt 28. Feb 2014, 17:05
Sollte die Logik nicht erst einmal klar sein, bevor man eine Oberfläche bastelt? Sonst landet man wieder bei der "function follows design"-Programmierung und vermengt schlimmstenfalls Darstellung und Logik.
Das ist keine Oberfläche, das ist nur zum Testen des Inhalts von dem Array.
Ich denke jetzt hole ich mir Chips und Bier.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
leodinho

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

AW: Schiffe versenken programmieren

  Alt 2. Mär 2014, 09:47
Danke schonmal für eure zahlreichen ideen.. Habe sie weitgehend umgesetzt..
Nun habe ich auch schon einen zähler sowie eine bestenlisten , die ich mit tvielist erstellt habe. (:
Nun möchte ich mich wieder an den schwierigen part setzten -> schiffe platzieren
Wie wäre es sinnvoll dabei vorzugehen? (:

Geändert von leodinho ( 2. Mär 2014 um 10:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Puke
Puke

Registriert seit: 7. Nov 2012
123 Beiträge
 
Delphi XE5 Architect
 
#5

AW: Schiffe versenken programmieren

  Alt 2. Mär 2014, 10:09
Highscores als letztes!
Konzentrier dich auf das Spiel, denn ohne Spiel kein Highscores!
Gruß Puke
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#6

AW: Schiffe versenken programmieren

  Alt 2. Mär 2014, 10:23
@leodinho

Was hast du bisher programmiert?
  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
 
#7

AW: Schiffe versenken programmieren

  Alt 2. Mär 2014, 10:34
Danke schonmal ür eure zahlreichen ideen.. Habe sie weitgehend umgesetzt..
Nun habe ich auch schon zähler fertig und will jetzt erstmal weitere, leichte parts programmieren..
Wie könnte ich ein highscore einbauen?
Oder soll ich jetzt erstmal anfangen die schiffe auf dem vorhanden welt anzeigen zu lassen?
Wenn man geplant vorgeht, dann arbeitet man sich von der groben Planung immer tiefer bis zur Implementierung durch..

Nach der groben Planung definiert man die Funktionen/Klassen/Datentypen.
  • Datentyp TSpielfeld : array[0..11,0..11] of integer;
  • Funktion procedure ZeigeSpielfeld( ASpielfeld : TSpielfeld );
  • Funktion function SchussAuf( ASpielfeld : TSpielfeld; x,y : Integer ) : Integer;
Wichtig ist, dass man hier das erwartete Verhalten festlegt und dokumentiert.
(Beispiel: Welche Werte gibt SchussAuf zurück und welche Bedeutung haben diese)

Dann kann man diese bei der Implementierung auch benutzen, ohne dass diese schon implementiert sein müssen. Es passiert halt einfach noch nichts, gibt aber auch keinen Fehler.

Dann geht man an die Implementierung der einzelnen Teile.
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
leodinho

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

AW: Schiffe versenken programmieren

  Alt 2. Mär 2014, 11:44
Danke schonmal ür eure zahlreichen ideen.. Habe sie weitgehend umgesetzt..
Nun habe ich auch schon zähler fertig und will jetzt erstmal weitere, leichte parts programmieren..
Wie könnte ich ein highscore einbauen?
Oder soll ich jetzt erstmal anfangen die schiffe auf dem vorhanden welt anzeigen zu lassen?
Wenn man geplant vorgeht, dann arbeitet man sich von der groben Planung immer tiefer bis zur Implementierung durch..

Nach der groben Planung definiert man die Funktionen/Klassen/Datentypen.
  • Datentyp TSpielfeld : array[0..11,0..11] of integer;
  • Funktion procedure ZeigeSpielfeld( ASpielfeld : TSpielfeld );
  • Funktion function SchussAuf( ASpielfeld : TSpielfeld; x,y : Integer ) : Integer;
Wichtig ist, dass man hier das erwartete Verhalten festlegt und dokumentiert.
(Beispiel: Welche Werte gibt SchussAuf zurück und welche Bedeutung haben diese)

Dann kann man diese bei der Implementierung auch benutzen, ohne dass diese schon implementiert sein müssen. Es passiert halt einfach noch nichts, gibt aber auch keinen Fehler.

Dann geht man an die Implementierung der einzelnen Teile.
Ich haben den datentyp ja schon ( aber warum (T)Spielfeld? )
Wie zeige ich nun die Schiffe auf dem 12 x 12 Spielfeld an?
Lass ich jetzt per zufallsfunktion 3x 1er , 2x 2er, 1x 3er , 1x 4er zufällig auf das 12x12 anzeigen..?
Wie bekomm ich das am besten hin ?
  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
 
#9

AW: Schiffe versenken programmieren

  Alt 2. Mär 2014, 11:54
Danke schonmal ür eure zahlreichen ideen.. Habe sie weitgehend umgesetzt..
Nun habe ich auch schon zähler fertig und will jetzt erstmal weitere, leichte parts programmieren..
Wie könnte ich ein highscore einbauen?
Oder soll ich jetzt erstmal anfangen die schiffe auf dem vorhanden welt anzeigen zu lassen?
Wenn man geplant vorgeht, dann arbeitet man sich von der groben Planung immer tiefer bis zur Implementierung durch..

Nach der groben Planung definiert man die Funktionen/Klassen/Datentypen.
  • Datentyp TSpielfeld : array[0..11,0..11] of integer;
  • Funktion procedure ZeigeSpielfeld( ASpielfeld : TSpielfeld );
  • Funktion function SchussAuf( ASpielfeld : TSpielfeld; x,y : Integer ) : Integer;
Wichtig ist, dass man hier das erwartete Verhalten festlegt und dokumentiert.
(Beispiel: Welche Werte gibt SchussAuf zurück und welche Bedeutung haben diese)

Dann kann man diese bei der Implementierung auch benutzen, ohne dass diese schon implementiert sein müssen. Es passiert halt einfach noch nichts, gibt aber auch keinen Fehler.

Dann geht man an die Implementierung der einzelnen Teile.
Ich haben den datentyp ja schon ( aber warum (T)Spielfeld? )
Wie zeige ich nun die Schiffe auf dem 12 x 12 Spielfeld an?
Lass ich jetzt per zufallsfunktion 3x 1er , 2x 2er, 1x 3er , 1x 4er zufällig auf das 12x12 anzeigen..?
Wie bekomm ich das am besten hin ?
Du hast eine Variable var Spielfeld : array[0..11,0..11] of integer; und keinen Datentyp type TSpielfeld = array[0..11,0..11] of integer; . Darum steht da einmal var und type .

Das T ist nur Konvention und soll zeigen, dass es sich um einen Type handelt.
(z.B. kennst du TForm )

Gerade wenn man das Spielfeld als Parameter übergeben will/muss, dann einen eigenen Type deklarieren
Delphi-Quellcode:
type
  TSpielfeld = array[0..11,0..11] of integer;

var
  Spielfeld : TSpielfeld;

procedure ZeigeSpielfeld( ASpielfeld : TSpielfeld );
Das mit dem wie anzeigen und platzieren der Schiffe haben wir hier doch schon durchgekaut.
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 11:57 Uhr)
  Mit Zitat antworten Zitat
leodinho

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

AW: Schiffe versenken programmieren

  Alt 2. Mär 2014, 12:08
achso, stimmt, fällt mir grad auch ein.
Ja , das mit dem platzieren meine ich in der Sicht, sie auf dem Feld für den Benutzer sichtbar zu machen? (:

wenn ich den datentyp hinschreibe und starten will ob es probleme gibt, erscheint ein problem das '=' vorhanden aber ':' erwartet wird.. Änder ich das, so kommt neue meldung.


Delphi-Quellcode:
TForm1 = class(TForm)
    Button1: TButton;
    PaintBox1: TPaintBox;
    Label1: TLabel;
    Button2: TButton;
    lvHighscore: TListView;
    Button3: TButton;
    Label2: TLabel;
    Label3: TLabel;
    TSpielfeld = array[0..11,0..11] of integer;
Delphi-Quellcode:
var
  Form1: TForm1;
  zaehler : integer = 0 ;
  Spielfeld : TSpielfeld;
  name : integer;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

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 08:57 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