AGB  ·  Datenschutz  ·  Impressum  







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

Solitär - Schule!

Ein Thema von Phallic · begonnen am 13. Mär 2005 · letzter Beitrag vom 16. Mär 2005
Antwort Antwort
Seite 1 von 3  1 23      
Phallic

Registriert seit: 13. Mär 2005
Ort: Frankfurt am Main
11 Beiträge
 
#1

Solitär - Schule!

  Alt 13. Mär 2005, 17:49
Hallo Leute,

ich muss für die Schule etwas in Delphi programmieren...und komme da nicht so richtig weiter.
Es ist ein kleines witziges Spiel, names Solitär! Also nicht das Windows Kartenspiel sondern, für die, die es nicht kennen, hier eine kleine Erklärung: Das Feld sieht so aus:

------O O O
------O O O
O O O O O O O
O O O O O O O
O O O O O O O
------O O O
------O O O


Das Feld in der Mitte ist ein freies Feld. In den anderen Löchern ist ein kleines Stöckchen. Jetzt muss man geschickt überlegen, wie man es schaffen kann, dass nur ein Stöckchen, und das in der Mitte, übrigbleibt. Man kann über Stöckchen springen, wenn nach dem Stöckchen ein leeres Feld ist. Dann nimmt man das Stöckchen aus dem Spiel!

Mein Ansatz:

Delphi-Quellcode:
.
.
.
var Form1: TForm1;
  z,zr,a,x1,x2,y1,y2,s : integer;

procedure TForm1.Button1Click(Sender: TObject);
  begin
    zr:=10;
    a:=30;
    For z:=0 to 1 do
      begin
        For s:=0 to 2 do
          begin
            x1:=zr+2*(a+zr)+(a+zr)*s;
            y1:=zr+(a+zr)*z;
            image1.Canvas.Ellipse(x1,y1,x1+30,y1+30);
          end;
      end;
  end;
Das ist der Quellcode für den ersten Block, also für:

O O O
O O O

Jetzt weiß ich leider nicht wie ich die anderen mit den selben Variablen programmieren soll. Es sollen 3 Blöcke entstehen. Den, den ich grad aufgezeichnet habe, dann den länglichen:

O O O O O O O
O O O O O O O
O O O O O O O

und zu guter letzt, der hier:

O O O
O O O

Wenn ihr mir einen Ansatz geben könntet, wäre ich euch sehr dankbar. Und bitte achtet darauf, dass ich nicht gut Delphi kann, deswegen werde ich manche Begriffe nicht kennen!
Selbsterkennung führt zu Verbesserung!
  Mit Zitat antworten Zitat
noch_ein_hannes

Registriert seit: 18. Sep 2003
130 Beiträge
 
#2

Re: Solitär - Schule!

  Alt 13. Mär 2005, 19:04
... und jetzt erwartest Du dass wir Deine Hausaufgaben machen?

Versuch doch mal nicht in verschiedenen Blöcken zu denken, sondern das Feld als Ganzes zu sehen, d.H. Du denkst Dir ein Rechteck mit den maximalen Ausmassen z:b: so:

Code:
- 0 1 2 3 4 5 6
0 - - X X X - - 
1 - - X X X - - 
2 X X X X X X X
3 X X X - X X X
4 X X X X X X X
5 - - X X X - - 
6 - - X X X - -
So hast Du quasi ein Koordinatensystem. Jeder Punkt erhält den Wert 1, wenn ein "Stäbchen" drinsteckt, und 0 wenn nicht. Die Felder am Rand erhalten bereits am Anfang ein -1, da dort kein Stab rein darf.

Zitat:
Und bitte achtet darauf, dass ich nicht gut Delphi kann, deswegen werde ich manche Begriffe nicht kennen!
Nach der Lösung dieser (Haus)Aufgabe kannst Du es bestimmt viel besser!
- everything is possible -
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#3

Re: Solitär - Schule!

  Alt 13. Mär 2005, 19:48
Noch ein Tipp mit dem Koordinatensystem: Verwende dazu doch ein zweidimensionlaes Array of integer. Das kann man dann verwenden wie ein Koordinatensystem


PS: Willkommen in der DP
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Solitär - Schule!

  Alt 13. Mär 2005, 19:55
Ich wäre geneigt ein Boolean Array zu nehmen: Stcökchen drin: TRue, leer False.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#5

Re: Solitär - Schule!

  Alt 13. Mär 2005, 19:57
Zitat von Luckie:
Ich wäre geneigt ein Boolean Array zu nehmen: Stcökchen drin: TRue, leer False.
Dachte ich auch, aber was ist mit den Feldern, die nicht genutzt werden DÜRFEN (bzw. im Spiel eigentlich nicht existieren)?

Als die Eckpunkte des Quadrats.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Solitär - Schule!

  Alt 13. Mär 2005, 20:01
Man könnte ein zweites Array führen in dem die verbotenen Koordinaten drinne stehen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Solitär - Schule!

  Alt 13. Mär 2005, 20:04
Man könnte auch einen eigenen Aufzählungstypen verwenden, etwa "besetzt", "leer", "verboten" und dann ein 2D-Array of TEigenerAufzählungstyp.
Das fände ich am einfachsten
Julian J. Pracht
  Mit Zitat antworten Zitat
Phallic

Registriert seit: 13. Mär 2005
Ort: Frankfurt am Main
11 Beiträge
 
#8

Re: Solitär - Schule!

  Alt 13. Mär 2005, 20:39
leider habe ich von all dem gar nichts verstanden....Vielleicht habe ich es schlecht erklärt. Unser Lehrer will, dass wir einfach durch ändern der Farbe, das Spiel schaffen kann. Aber ich hänge immer noch beim Spielfeld...und das mit Koordinatensystem....häää???? Wie gesagt..ich kann kein Delphi und finde es sehr kompliziert...und unser Lehrer hat gesagt wir sollen in Blöcken denken..
Selbsterkennung führt zu Verbesserung!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Solitär - Schule!

  Alt 13. Mär 2005, 20:40
Warum sagt der dir, du sollst so was programmieren, wenn du kein Delphi kannst?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Phallic

Registriert seit: 13. Mär 2005
Ort: Frankfurt am Main
11 Beiträge
 
#10

Re: Solitär - Schule!

  Alt 13. Mär 2005, 20:41
Wenn es um Befehle geht, bringt er uns nichts bei, so ist das halt bei dem....ich bin schon stolz, dass ich das geschafft habe..aber die 2 Blöcke weiß ich einfach net, wie ich die unten dran setzen kann..
Selbsterkennung führt zu Verbesserung!
  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 15:17 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