AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Schulprojekt: Spiel "Domino" programmieren!
Thema durchsuchen
Ansicht
Themen-Optionen

Schulprojekt: Spiel "Domino" programmieren!

Ein Thema von He4dnut · begonnen am 25. Jan 2010 · letzter Beitrag vom 8. Feb 2010
Antwort Antwort
Seite 3 von 4     123 4      
hugo1990

Registriert seit: 27. Dez 2006
166 Beiträge
 
Turbo Delphi für Win32
 
#21

Re: Schulprojekt: Spiel "Domino" programmieren!

  Alt 28. Jan 2010, 13:46
Zitat von Blup:
... Wer allerdings mit Records arbeiten will, muss zwangsläufig auch mit Pointern arbeiten ...
Dem will ich mal widersprechen. Denn wenn ich mir so meine alten Projekte anschaue, wo ich noch nicht mit der OOP vertraut war, habe ich ständig mit Records gearbeitet, aber ich habe dort nie mit Pointern arbeiten müssen, weil ich zu dem Zeitpunkt noch nicht mal wusste was Pointer sind.
Und ich würde mal behaupten das diese Projekt hier auch mit Records und ohne die Verwendung von Pointern zu realisieren ist.
Ich wüsste jetzt nicht wirklich wo du hier direkt mit Pointern arbeiten willst.
  Mit Zitat antworten Zitat
He4dnut

Registriert seit: 25. Jan 2010
9 Beiträge
 
Lazarus
 
#22

Re: Schulprojekt: Spiel "Domino" programmieren!

  Alt 28. Jan 2010, 15:48
Danke euch beiden, dass ihr mir die Vor- und Nachteile einmal geschildert habt! Also Ich denke ich werde das mit diesen Records machen. Da habe ich mich bereits gut eingelesen und habe auch eine Vorstellung davon, wie ich es realisieren kann, bzw DASS ich es ÜBERHAUPT realisieren kann
Der Begriff Pointer ist mir auch öfter schon über den Weg gelaufen. Ich werde mich mal damit beschäftigen.

Ansonsten könnte jemand mal zu meinem letzten Post was sagen? Da bin ich nämlich ziemlich stolz drauf

Zu mkinzler:
Also müsste ich das dann so schreiben?:
Delphi-Quellcode:
type TDominostein = class
       private
         FWert1 : integer;
         FWert2 : integer;
       public
end;
Könntest du mir sagen, was das für ein Vorteil hätte im Gegensatz zum Record?

Gruß!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Schulprojekt: Spiel "Domino" programmieren!

  Alt 28. Jan 2010, 15:51
Du weißt aber schon, dass lokale Variablen nur innerhalb der Routine bekannt sind, in der sie deklariert werden? Soll heißen: außerhalb Deiner Button1Click-Methode kannst Du nicht auf Dom zugreifen. Ob das in diesem Fall gewollt ist, musst Du selbst wissen
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
hugo1990

Registriert seit: 27. Dez 2006
166 Beiträge
 
Turbo Delphi für Win32
 
#24

Re: Schulprojekt: Spiel "Domino" programmieren!

  Alt 28. Jan 2010, 19:12
Also ich würde dir empfehlen noch sprechendere Variablennamen zu verwenden, als du dies jetzt tuts. Mit Dom kann man zwar schon etwas anfangen, wenn man weiß, worum es geht. Wenn du es DominoSteine nennst, dann weiß man sofort, was damit gemeint ist. Falls du das ganze nur so kurz machst, weil du schreibfaul bist und nicht jedes Mal die langen Namen schreiben willst, da gibt es was gegen STRG + LEER und die Autovervollständigung wird aktiviert. Und dann könnte man deinen Code ohne hin noch verkürzen, was wieder weniger Schreibarbeit bedeutet. Beispielsweise so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := Low(DominoSteine) to High(DominoSteine) do
    with DominoSteine[I] do
    begin
      Wert1 := Wert1FürStein(I);
      Wert2 := Wert2FürStein(I);
    end;

  {...}

end;
Das Wert1FürStein(I) und Wert2FürStein(I) muss dann noch durch eine geeignete Routine von dir ersetzt werden. Je nach dem wie du es bei deinem Post gemacht hattest. Wenn du nach einem bestimmten Schema vorgegangen bist für die Werte, dann versuche einen geeigneten Alogorithmus dafür zu finden, der das wie in deinem Schema macht. Dafür könnten evtl. die ganzzählige Division (div) und die Restdivision (mod) interessant sein. Falls du das ganze einfach per Zufall gemacht hast dann solltest du dir dafür mal Random anschauen.
Falls du dazu Fragen haben solltest, dann frag gern. Aber ich denke eigentlich, dass es recht selbsterklärend sein sollte.
  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
 
#25

Re: Schulprojekt: Spiel "Domino" programmieren!

  Alt 28. Jan 2010, 21:56
Ich würde auch dringend empfehlen so eine Routine nicht im "ButtonxxOnClick" zu schreiben.

Delphi-Quellcode:
procedure TuWas( Parameter : TIrgendwas );
begin
  // Code zur Übernahme der Weltherrschaft
end;
Delphi-Quellcode:
procedure TForm1.DerSuperSpezialButton1OnClick( Sender : TObject );
begin
  TuWas( GanzTolles );
end;

procedure TForm1.DerSuperSpezialButton2OnClick( Sender : TObject );
begin
  TuWas( GanzDoofes );
end;
Vorteil:

- Trennung der GUI von der Logik
- Der Code bleibt übersichtlicher
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
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#26

Re: Schulprojekt: Spiel "Domino" programmieren!

  Alt 28. Jan 2010, 22:06
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
hugo1990

Registriert seit: 27. Dez 2006
166 Beiträge
 
Turbo Delphi für Win32
 
#27

Re: Schulprojekt: Spiel "Domino" programmieren!

  Alt 28. Jan 2010, 22:21
Ja stimmt, Sir Rufo. Bei meinem Beispiel war das Button1Click auch nur noch eines der wenigen Überbleibsel vom Copy&Paste. Weil ich zu faul war das ganze zu schreiben, hatte ich kurzer Hand einfach mal den Quellcode von He4dnut kopiert. Allerdings ist davon dann im Endeffekt nicht mehr wirklich was übrig geblieben. Da hätte ich der Routine dann eigentlich auch noch einen gescheiten Namen geben können.

Offtopic:
Der genaue Code für die Routine:
Zitat von Sir Rufo:
Delphi-Quellcode:
procedure TuWas( Parameter : TIrgendwas );
begin
  // Code zur Übernahme der Weltherrschaft
end;
wäre jetzt aber schon mal interessant.
  Mit Zitat antworten Zitat
He4dnut

Registriert seit: 25. Jan 2010
9 Beiträge
 
Lazarus
 
#28

Re: Schulprojekt: Spiel "Domino" programmieren!

  Alt 31. Jan 2010, 22:58
Hmm ja sieht gut aus bisher alles... Das mit den Namen hängt nur mit meiner Faulheit zusammen... Aber ich denke mir immer, dass ERSTMAL ja nur ich das verstehen muss. In der Schule muss ich eh alles, was ich zu Hause programmiere nochmal neu schreiben, dann wird alles ganz ordentlich gemacht

Bei Hugos "Wert1FürStein[I]" sagtest du, dass ich dieses Durch einen geeigneten Algorithmus ersetzen muss. Ja, verstehe ich. Allerdings habe ich jetzt einige Zeit gegrübelt wie ich das anstellen soll... Also ich habe da diese Grafik im Kopf:

http://www.dominoopen.64g.ru/images/sxde.gif

Ich persönlich finde die sehr gelungen. Durch das zweidimensionale Array habe ich doch bildlich gesprochen so eine Tabelle erstellt. Also am Anfang sagte ich ja werde ich das ganze Spiel so programmieren, dass der Stein [3,3] der höchste ist, ein 3er-Domino sozusagen. Das heißt, ich habe 10 Steine. Diese Steine könnte man jetzt z.B. so nummerieren, dass man von links nach rechts, und von oben nach unten liest. Also Stein1: [0,0] ; Stein2: [0,1] ; Stein3: [1,1] ; usw.

Aber beim besten Willen fällt mir keine schlaue Rechnung ein, mitder man jedem Stein seinen passenden Wert automatisch zuordnet. Zur Not würde ich auch einfach an einer Stelle der Unit manuell jedem Stein seine Werte zuordnen. Das ist halt einmal viel Arbeit, aber dann hat mans wenigstens einmal richtig

Soweit erstmal. Danke nochmal!
  Mit Zitat antworten Zitat
He4dnut

Registriert seit: 25. Jan 2010
9 Beiträge
 
Lazarus
 
#29

Re: Schulprojekt: Spiel "Domino" programmieren!

  Alt 1. Feb 2010, 11:28
Mein aktuelles Programm einmal für euch...
natürlich alles provisorisch. könnt ihr hier runterladen:
http://www.file-upload.net/download-...ject1.exe.html
  Mit Zitat antworten Zitat
hugo1990

Registriert seit: 27. Dez 2006
166 Beiträge
 
Turbo Delphi für Win32
 
#30

Re: Schulprojekt: Spiel "Domino" programmieren!

  Alt 8. Feb 2010, 10:14
Die Grafik verstehe ich irgendwie nicht so ganz. Vielleicht kannst du mal erklären, was sie darstellen soll, dann kann ich dir beim Finden eines Algorithmus' vielleicht ein wenig auf die Sprünge helfen. Und mit deinem Programm kann ich auch nicht so wirklich was anfangen, weil es irgendwie noch nicht wirklich etwas tut.
Außerdem sollten Dateien immer direkt an den Thread an gehangen werden, damit sie, wenn sich jemand das Thema später noch einmal ansieht immer noch vorhanden sind.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 12:52 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