AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dame Spiel programmieren

Ein Thema von Rank · begonnen am 14. Feb 2007 · letzter Beitrag vom 26. Mär 2007
Antwort Antwort
Seite 1 von 3  1 23      
Rank

Registriert seit: 14. Feb 2007
8 Beiträge
 
#1

Dame Spiel programmieren

  Alt 14. Feb 2007, 15:01
hallo ich muss im informatik unterricht ein programm erstellen. ich habe mir das spiel dame uberlegt, jedoch scheitere ich daran die steine hüpfen zu lassen. vieleicht als hinweis: ich habe 64 panel verwendet und in jedem eine paintbox eingefügt welche die steine zeichnet. ich würde nun gerne die steine bewegen weis aber nicht wie. können sie mir vieleicht helfen? danke.
MFG Christoph
  Mit Zitat antworten Zitat
Benutzerbild von Jowo
Jowo

Registriert seit: 24. Sep 2006
Ort: Jena
49 Beiträge
 
Delphi 7 Personal
 
#2

Re: Dame Spiel programmieren

  Alt 14. Feb 2007, 18:15
Also erstmal muss ich sagen, dass es ziemlich unpraktisch sein kann, mit 64 einzelnen Panels zu arbeiten.

Aber zu deinem Problem:
Du könntest eine Procedure schreiben, der du als Parameter die Werte des aktuellen und des neuen Feldes übergibst. Diese Procedure fügt dann in das "Von-Feld" ein weißes Bild und in das "Nach-Feld" ein Bild mit der weißen oder schwarzen Figur ein.
Außerdem könntest du die Werte, auf welchen Feldern welche Figuren stehen in einem zweidimensionalen Array mit 8x8 Feldern speichern.

Ich hoffe, das hilft dir.
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Dame Spiel programmieren

  Alt 14. Feb 2007, 19:19
Wieso Panels?

Spiele sind ideal um objektorientiert programmiert zu werden. Wenn du so weit schon bist, würde ich dir dass empfehlen.
Wenn nicht dürfte es sehr schwer sein, ein Spiel zu programmieren.


Lass doch die Panels einfach weg.

Die Position von jeder komponente kannst du durch left und top ändern.
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Rank

Registriert seit: 14. Feb 2007
8 Beiträge
 
#4

Re: Dame Spiel programmieren

  Alt 19. Feb 2007, 12:31
danke erstmal
aber ich habe nun einmal panels verwendet. meine lehrerin bevorzugt ebenfalls die variante mit den arrays. könntet ihr mir vieleicht dafür eine procedure schicken????
wäre sau net von euch!!
Danke
Mfg Christoph
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Dame Spiel programmieren

  Alt 19. Feb 2007, 12:46
Ja, wie ist das jetzt? Kannst du OOP?

Ich wüsste jetzt nicht wie du es ohne hinkriegen solltest, (oder du hättest extrem viel Arbeit).

So nächstes ist nur hilfreich für dich mit OOP:
Ich habe selbst auch ein nettes Spiel programmiert, keine anspruchsvolle Graphik, aber es erledigt seine Aufgabe Imho elegant.
Siehe ReaktioneXX


Gruß Alexander
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Benutzerbild von yörsch
yörsch

Registriert seit: 10. Jan 2007
Ort: Lampertheim
206 Beiträge
 
Delphi XE2 Architect
 
#6

Re: Dame Spiel programmieren

  Alt 19. Feb 2007, 12:56
HAI
Trenne Oberflächenanzeige von dem was deine Spielsteine machen können.
1 Der Spieler macht eine Aktion (Zieht spielstein über ein Feld -> Sendet ereignis an Objekt)
2 Die Zentrale Routien/Objekt entscheidet ob OK.
3 Anwender bekommt Rückmeldung angezeigt
Eine möglich kein kann drag&Drop sein...
Jörg
have FUN
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: Dame Spiel programmieren

  Alt 19. Feb 2007, 13:44
Du solltest grundsätzlich trennen zwischen dem Damespiel an sich und der Visualisierung.
Um ein Damespielfeld anzuzeigen werden nur folgende Infos benötigt:
1.) das Spielfeld als 8*8 Array
2.) ein Canvas zum zeichen
3.) Position (linke obere Ecke), ab der gezeichnet werden soll (kann am Anfang entfallen)
4.) Grösse in Pixel eines weissen oder schwarzen Feldes (kann auch ein feste Konstante sein)
Mit dieser Schnittstelle kannst du später einfach den Visualisierungteil austauschen und die Damen z.B. als Pamela Anderson gegen Anna N. Smith darstellen.

PS:
für das Damespiel und das Schachspiel kann die gleiche Visualisierung verwendet werden.
Andreas
  Mit Zitat antworten Zitat
Rank

Registriert seit: 14. Feb 2007
8 Beiträge
 
#8

Re: Dame Spiel programmieren

  Alt 26. Feb 2007, 12:08
vielen dank für eure vielen anregugen.
es beginnt jedoch schon damit, dass ich keine ahnung habe wie ich das mit dem array machen soll! ich versteh nicht, wie ich das programmieren soll. wäre es vielleicht möglich, dass ihr mir das mal mit einem beispiel (procedure) erklären könntet? es wäre auch nicht schlimm dies am beispiel dame zu versuchen =)
mfg christoph
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#9

Re: Dame Spiel programmieren

  Alt 26. Feb 2007, 12:22
Willst du das Damespiel mit KI programmieren? Dann könnte es unter Umständen recht kompliziert werden...
Richard Mahr
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Dame Spiel programmieren

  Alt 26. Feb 2007, 12:29
Du könntest dir ein Record für jedes Feld bauen:
Delphi-Quellcode:
MeinFeld= Record
 FeldFarbe: Boolean; // Schwarz oder weiss
 FigurFarbe: Byte; //1: schwarze Figue, 2: weisse Figur, 3: unbesetzt
 Dame: Boolean; // falls die Figur auf dem Feld eine Dame ist.
end;
Das kannst du dann in einem Array benutzen:
Spielfeld=array[1..8] of array of [1..8] of Meinfeld; Am Anfang kannst du dann die Felder besetzen: Spielfeld[1,1].feldFarbe:=1, und eine schwarze Figus steht drauf: Spielfeld[1,1].Figurfarbe:=1; Zum zeichnen nimmst du dann einfach ein Canvas. Klickt der Spieler dann in dein Canvas, berechnest du das betreffende Feld und merkst es dir. Mit if Meinfeld[x,y].Figurfarbe=0 kannst du gleich rausfinden, ob da überhaupt eine Figur steht. Wenn da eine Figut steht, wird der Spieler dann auf ein weiteres Feld klicken, wo dann die Figur hin soll. Wenn er einfach nur schräg laufen will (ich glaube, dass darf man) kannst du einfach überprüfen, ob er dass dann darf:
(er will von a,b nach x,y ziehen)
Delphi-Quellcode:
for i:=min(a,x) to max(a,x) do
 for j:=min(b,y) to max(b,y) do
 if Feld[i,j] ist unbesetzt then weitermachen, else abrechen und Problem ausgeben.
end;
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 16:36 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