AGB  ·  Datenschutz  ·  Impressum  







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

Vier Gewinnt

Ein Thema von Sassi · begonnen am 11. Jan 2010 · letzter Beitrag vom 14. Jan 2010
Antwort Antwort
Sassi
(Gast)

n/a Beiträge
 
#1

Vier Gewinnt

  Alt 11. Jan 2010, 06:39
Hey Hey!
Also ich brauche unbedingt Hilfe.
Wir sollen 4 Gewinnt mit Delph programmieren.
Bis jetzt bin ich so weit:


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
feld:array[0..6,0..5]of integer;

i,j:integer;
begin
 FOR i:=1 TO 6 DO
  FOR j:=1 TO 5 DO BEGIN
    feld[i,j]:=10;
       stringgrid1.Cells[i,j]:=INTTOSTR(10);
       END;

Das alles wird mit einem Stringgrid gemacht.
Aber leider komm ich noch nicht so weiter.
Wäre ganz nett wenn ihr mir helfen könnt =)

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat
Sassi
(Gast)

n/a Beiträge
 
#2

Re: Vier Gewinnt

  Alt 11. Jan 2010, 06:42
Spieler 1 soll mit 1
Spieler 2 mit 2
und
wenn nichts gesetzt ist 10
Das heißt das die 10 nicht gezeigt wird sondern nur als Wert genommen wird um zu zeigen das in dem Feld nichts ist.
Wenn der Spieler 1 ein 5 gewinnt haben will muss er einen Integerwert von 4 haben beim Spieler 2 ist es 8.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Vier Gewinnt

  Alt 11. Jan 2010, 07:58
Guten Morgen,


bei 4 Gewinnt ist es doch so, dass ein Spieler seinen Stein
in einen frei wählbaren Slot (Spalte Deines StringGrids) wirft.
Dann fällt der Stein bis er auf einen anderen Stein trifft oder bis zum
Boden durchgefallen ist.

Die Spieler sind immer abwechselnd an der Reihe.

Das Spiel ist aus, wenn ein Spieler gewonnen hat
oder wenn alle Felder besetzt sind.

Gewonnen hat der Spieler welcher 4 Steine seiner Farbe
waagerechet (Reihe Deines StringGrids), senkrecht (Spalte Deines StringGrids)
oder Diagonal (Reihe, Spalte) angeordnet hat.

So, das sollte so im Prinzip die Spielzüge des Spiels sein.
Umsetzen solltest Du sie.

[edit]
Ich würde für freie Felder das Leerzeichen ' ' als Kennzeichnung wählen.
Für die Spielsteine ein 'x' und 'o'.
[/edit]


Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Sassi
(Gast)

n/a Beiträge
 
#4

Re: Vier Gewinnt

  Alt 11. Jan 2010, 20:20
Soweit bin ich auch schon. Nur an der Umsetzung habe ich meine Probleme.
Ich komme beim Proggen nicht weiter. Kann das nicht umsetzten
  Mit Zitat antworten Zitat
11. Jan 2010, 20:28
Dieses Thema wurde von "Matze" von "Open-Source" nach "Multimedia" verschoben.
Hier handelt es sich (noch) nicht um ein Open-Source-Programm.
mani64

Registriert seit: 8. Apr 2009
49 Beiträge
 
Delphi 5 Professional
 
#6

Re: Vier Gewinnt

  Alt 11. Jan 2010, 20:56
Wie wärs mit der Erstellung eines groben Ablaufplans, den du Stück für Stück umsetzst?

Immer Wechsel zwischen Spieler1 und Spieler2 (KI kann ja später noch kommen), für jede Spalte einen Button, dann im Stringgrid das Feld entsprechend markieren, anschließend überprüfen, ob der Spieler 4 zusammen hat, wenn nicht, dann kommt der nächste Spieler dran, bis einer 4 hat bzw. alle Felder gefüllt sind. Noch Buttons für Start und Abbruch, eventuell ein Zähler für die Spiele, ein Label, welcher Spieler an der Reihe ist ...
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Vier Gewinnt

  Alt 11. Jan 2010, 20:57
Zitat von Sassi:
Soweit bin ich auch schon. Nur an der Umsetzung habe ich meine Probleme.
Ich komme beim Proggen nicht weiter. Kann das nicht umsetzten
Nun, das ist ja auch der Casus Knacktus.
Kannst Du es nicht umsetzen oder willst Du es nicht umsetzen?

Was hast Du denn schon fertig (ausser die Initialisierung des Stringgrids)?
Wo hapert es denn? ( jetzt nicht schreiben, an allem).

Von Euch/Dir wird wohl nichts verlangt werden was nicht zumindest
ansatzweise in der Schule angerissen wurde.

Also StringGrid 6 Zeilen 5 Spalten.
Zeile 0 -> Headerzeile (Delphi-Referenz durchsuchenfixedRows =1)
Delphi-Referenz durchsuchenFixedCols = 0

Im StringGrid gibt es das Event Delphi-Referenz durchsuchenonMouseUp
Hier ist die Routine Delphi-Referenz durchsuchenMouseToCell recht hilfreich.
Hast Du die Spalte ermittelt lässt Du einen Stein hineinfallen.
Welcher Stein hängt davon ab, welcher Spieler gerade aktiv ist.
Delphi-Quellcode:
 if spieler1 then
           token := 'x'
          else
            token := 'o':
Nach jedem Wurf solltest Du prüfen ob die Gewinnbedingung erfüllt ist.
Um es am Anfang einfach zu halten, kannst Du ein Gewinn erst einmal
auf 4 in einer Reihe oder in einer Zeile begrenzen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Sassi
(Gast)

n/a Beiträge
 
#8

Re: Vier Gewinnt

  Alt 14. Jan 2010, 11:13
Zitat von Klaus01:
Zitat von Sassi:
Soweit bin ich auch schon. Nur an der Umsetzung habe ich meine Probleme.
Ich komme beim Proggen nicht weiter. Kann das nicht umsetzten
Nun, das ist ja auch der Casus Knacktus.
Kannst Du es nicht umsetzen oder willst Du es nicht umsetzen?

Was hast Du denn schon fertig (ausser die Initialisierung des Stringgrids)?
Wo hapert es denn? ( jetzt nicht schreiben, an allem).

Von Euch/Dir wird wohl nichts verlangt werden was nicht zumindest
ansatzweise in der Schule angerissen wurde.

Also StringGrid 6 Zeilen 5 Spalten.
Zeile 0 -> Headerzeile (Delphi-Referenz durchsuchenfixedRows =1)
Delphi-Referenz durchsuchenFixedCols = 0

Im StringGrid gibt es das Event Delphi-Referenz durchsuchenonMouseUp
Hier ist die Routine Delphi-Referenz durchsuchenMouseToCell recht hilfreich.
Hast Du die Spalte ermittelt lässt Du einen Stein hineinfallen.
Welcher Stein hängt davon ab, welcher Spieler gerade aktiv ist.
Delphi-Quellcode:
 if spieler1 then
           token := 'x'
          else
            token := 'o':
Nach jedem Wurf solltest Du prüfen ob die Gewinnbedingung erfüllt ist.
Um es am Anfang einfach zu halten, kannst Du ein Gewinn erst einmal
auf 4 in einer Reihe oder in einer Zeile begrenzen.

Grüße
Klaus

Danke Klaus.
Das hilft mir schon sehr weiter =)
Ich hoffe jetzt bekomm ich es hin!
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:22 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