Version 1 of A little checker game

Updated 2001-11-22 18:15:09

Richard Suchenwirth -- Anne Lavergne schrieb in ' ' news:comp.lang.tcl- : > suche ich nach a Verteilungsbogen-wie 2D Reihe des TK-widget d.h. Segeltuch > (Zellen) einen Chessboard einzuf�hren. K�nnte nicht widerstehen - ist hier eine Einsegeltuchl�sung, mit beweglichen Kontrolleuren [ SEIEN Sie: Entwurf ] St�cke: stellen Sie dx ein, 50, die gesetzte dy 50 gesetzte Farben { schwarzes wei�es rotes Blau } Segeltuchc verpacken - Breite [ expr $$dx*8 - H�he expr $$dy*8 ] - f�llen beide - erweitern Sie 1 cbindung alles < 1 > { stellen Sie c(X) ein ccanvasx %x; stellen Sie cbindungsmv < B1-Motion > des c(Y) c canvasy %y } proc mv { x y } { ein globales c gesetztes x ccanvasx { mv %x %y $$x }; stellen Sie y das c canvasy $$y einstellen der cbewegung Kennzeichnung centdeckungwithtagstrom $$id der c-Erh�hung $$x-$c(x expr {) ein } $$y-$c(y expr {) } $$id gesetztes c(X) $$x; einstellen Sie c(Y) $$y } einstellen des procmakepiece der Farbe 0 expr { Farbenargs x y } { dy c des globalen dx verursachen Oval $$x+2 des expr des expr { } ] $$y+2 { } $$x+$dx-3 expr { } $$y+$dy-3 { } \ - F�lle $$color - des procmakecheck der Umbauten $$args [ concat mv } ] des expr { Farbenargs x y } { dy c des globalen dx $$x $$y verursachen Viereck $$x+$dx expr { } $$y+$dy { } \ - F�lle $$color - Umbauten $$args } f�r { stellen Sie i 0 ein; stellen Sie y 0} ein { $$i<8 } { erh�hen Sie i; erh�hen Sie y $$dy } { f�r { stellen Sie J 0 ein; stellen Sie x 0} ein { $$j<8 } { erh�hen Sie J; erh�hen Sie x $$dx } { makecheck $$x $$y [ lindex $$colors $$color wenn { $$i<2 } { makepiece $$x $$y lindex $$colors 2 player2 } wenn { $$i>5 } { makepiece $$x $$y lindex $$colors 3 player1 } stellen Sie Farbe ein expr { 1-$color } } stellte Farbe ein expr { 1-$color } } in C/Motif, ich w�rde nicht sogar gedacht haben an Schreiben etwas so. Mit Tcl komme ich nach Hause nach einem realen langen Arbeitstag und denke, da� "w�rde nicht es nett sein, a neun M�nner Morris auch zu haben? A wenig gehen Brett?", und nach einem langen Abend, hier sind sie! ---- Bryan Oakley schreibt..., Ich aktualisierte das oben genannte, um die Kontrolleure innerhalb des Rand�� ein wenig zu zeichnen auch, die folgende Schwerg�ngigkeit lasse die Kontrolleure zu einem bestimmten Quadrat rei�en. Ich bin sicher, da� jemand auf der Leistungsf�higkeit der L�sung verbessern kann. proctropfen cbindungsmv < ButtonRelease-1 > { Tropfen centdeckungwithtagstrom } { Kennzeichnung } { global c dx dy Satz cx0 expr { int($c(X-)/$$dx) * $$dx + 2 } stellte cy0 ein expr { int($c(Y-)/$$dy) * $$dy + stellten 2 } cx1 expr { $$cx0 + $$dx - 3 } einstellten ein expr { + $$cy0 - $$dy 3 } coords } des c $$id $$cx0 $$cy0 $$cx1 $$cy1 cy1 ' ' DKF- - ich habe die Leistungsf�higkeit etwas verbessert, aber es gibt wirklich nicht viel Punkt, wenn es viel besser tut, wie es Antworten nur besch�ftigen mu� zu Schwerg�ngigkeiten.