Seite 2 von 2

Re: Steuerkreuz auf Schachbrett

BeitragVerfasst: Mo 2. Jun 2003, 19:01
von BCGSR
Zum Steuerkreuz noch:
Wenn das Feld an sich leer ist bzw. die Figur schnell neu gezeichnet werden kann, kannst du ein Steuerkreuz auch mit "Text, X,Y,"+"" erzeugen und dann wieder mit "Text X,Y," "" löschen. Wird interessant, weil du eben auch Buchstaben und Zeichen verwenden kannst bzw. diese übereinanderlegen und damit manchmal lustige Effekte erzeugen kannst.

Zum Springerproblem:
So wie ich das verstanden habe, muss sich dein Springer an die Schachregeln halten, richtig? Also weißer Springer nur weiß, und vice versa...?
Da hätte ich folgendes im Angebot. Nummeriere die Spalten und Zeilen jeweils von 1-10 durch, also praktisch eine Spielfeldmatrix. Dein Spielfeld hat dann die Koordinaten [A,B]. Alle weißen Felder sind die, wo A+B gerade ist, bei schwarzen Feldern ist A+B ungerade. Oder eben andersherum, je nachdem, wie du nummerierst.
Wenn du jetzt noch prüfen willst, ob sich das nächste Zug-Feld in einer Diagonale mit dem Ursprungsfeld befindet schlage ich vor, auf die Mathematik zurückzugreifen.
Mit den Koordinaten des neuen und alten Punktes hast du genau 2 Punkte, mit denen du mit der sogenannten 2-Punktegleichung (falls nicht bekannt siehe Tafelwerk) eine Geradengleichung aufstellen kannst. Dort berechnest du den Ansteig. Ist dieser genau 1 oder -1, liegen die Punkte auf einer Spielfelddiagonalen. Das sind höchstens ein paar Zeilen und dann auch noch elegant gelöst :) Musst dort bloss eine Abfrage einbauen, dass die Punkte nicht übereinandern liegen (-> Anstieg wird unendlich -> MA ERROR auf dem TR)

So, viel Erfolg damit.

Re: Steuerkreuz auf Schachbrett

BeitragVerfasst: Mo 2. Jun 2003, 20:28
von Killer83Z
Da haben wir aber in mathe aufgepasst, respekt :D

Re: Steuerkreuz auf Schachbrett

BeitragVerfasst: Di 3. Jun 2003, 12:09
von Calconeon
Genial, BCGSR!

Aber mit dem weißen und schwarzen Springer, ich hatte sowieso nicht vor, die Felder schwarz zu färben, ist doch viel zu viel Aufwand, oder?
Was du mit 2-Punkte-Gleichung meinst, weiß ich (bzw. mein Mathe-Lehrer) und werde es verwenden. An die Mathematik hatte ich hier überhaupt nicht gedacht. Ich war schon kurz davor eine ewige Abfrageliste zu erstellen:rolleyes:, aber ich denke, das ist die wesentlich bessere Variante.

Werde wahrscheinlich bei meinem Spiel unter Autor auch DCF notieren müssen!;)

Re: Steuerkreuz auf Schachbrett

BeitragVerfasst: Di 3. Jun 2003, 19:43
von BCGSR
> Aber mit dem weißen und schwarzen Springer, ich hatte sowieso nicht vor, die Felder schwarz zu färben, ist doch viel zu viel Aufwand, oder?

Die Felder auszumalen dauert wirklich lange, aber man kann das ja andeuten, z.b indem du in die schwarzen felder jeweils einen punkt in die ecke setzt oder mit f-line noch einen kasten (doppelwandig also) drumrumsetzt.


Re: Steuerkreuz auf Schachbrett

BeitragVerfasst: Mi 4. Jun 2003, 12:08
von Calconeon
Also: Ich habe jetzt die Formel "(Y1-Y2)/(X1-X2)" verwendet.
Dummerweise ist der Wert immer 1 oder -1.
Was habe ich da bloß schon wieder falsch gemacht??? Ich habe nicht die geringste Ahnung!
Aber: Probieren geht ja über Studieren, oder?

Re: Steuerkreuz auf Schachbrett

BeitragVerfasst: Mi 4. Jun 2003, 18:00
von BCGSR
Welche Variablen verwendest du für die Punkte (X1,Y1) und (X2,Y2). Nicht zufällig X oder Y...? Diese Variablen werden beim benutzen von Zeichenbefehlen vom System nämlich selbst verändert und sind daher äußerst unpraktisch zum Programmieren.

Re: Steuerkreuz auf Schachbrett

BeitragVerfasst: Do 5. Jun 2003, 11:35
von Calconeon
Also, dieses Problem hätte sich dann von selbst erledigt: Ich habe die Variablen des vorherigen Punktes an falscher Stelle gespeichert.
Im Grunde genommen läuft das Programm jetzt gut und ist auch noch wider Erwarten unr 700 Bytes groß (da hatte ich mich eben verschätzt).
Ich habe jetzt bloß noch keine Unterscheidung weiß/schwarz und würde gerne am Ende die Anzahl der Züge anzeigen lassen. Gibt es da ausser der uneleganten Variante, auf eine Varible jedes Mal + 1 zu zählen auch die Möglichkeit die 1en der bereits vorhandenen Matrix zusammenzuzählen (wie bei den Listen)?

Re: Steuerkreuz auf Schachbrett

BeitragVerfasst: Do 5. Jun 2003, 11:57
von Calconeon
Also, ich habe gerade mal im Internet nach Rösselsprung gesucht und festgestellt, dass der Springer jedes Feld genau 2mal erreichen muss. Dass heißt also: erneutes umprogrammieren....


[Editiert durch Calconeon am Donnerstag, Juni 5, 2003 @ 12:57]


Ich werde wahrscheinlich dann mit der Farbe Orange den ersten Springer überschreiben.


[Editiert durch Calconeon am Donnerstag, Juni 5, 2003 @ 12:58]



[Editiert durch Calconeon am Freitag, Juni 6, 2003 @ 14:30]


Re: Steuerkreuz auf Schachbrett

BeitragVerfasst: Do 5. Jun 2003, 18:16
von BCGSR
> Gibt es da ausser der uneleganten Variante, auf eine Varible jedes Mal + 1 zu zählen auch die Möglichkeit die 1en der bereits vorhandenen Matrix zusammenzuzählen (wie bei den Listen)?

Ich habe das so verstanden, dass du eine Matrix mit einsen und nullen hast und die summe aller felder errechnen willst, richtig?
Also:

0->C
For 1->A to 10
For 1->B to 10
Mat[A,B]+C->C
Next
Next

Erscheint mir aber umständlich. Wäre wahrscheinlich schon eleganter, wenn du pro Durchlauf einfach eine Zählvariable um eins erhöhst, als hinterher so ein "Monster" zu benutzen :)



Re: Steuerkreuz auf Schachbrett

BeitragVerfasst: Di 10. Jun 2003, 11:56
von Calconeon
Also zum aktuellen Lagebericht:
-Ich habe ein Plus als Steuerkreuz verwendet (sah so schön aus)
-Der Springer darf doch nur einmal jedes Feld besuchen
-Ich habe keine Unterscheidung Schwarz/Weiss vorgenommen
-Ich habe die Variante des ständigen Zusammenzählen des Punktes verwendet (P+1->P)
-Das Programm ist fertig und wird ab Sonnabend zusammen mit einem anderen nuesn Spiel (Jump) und der vorläufig letzten Designänderung auf meiner Homepage zu finden sein