Registriert: 10 Aug 2007, 23:47 Beiträge: 262
|
@Clyde
Danke für Deine Verbesserungen Bisher habe ich aber noch gar nicht versucht guten Code zu schreiben sondern versuche es nur so hinzubiegen das es funktioniert. Ich habe auch weitergemacht, und die neue Version sieht schon um einiges besser aus.! .. auch wenn der Code Schlecht ist
Das ist hier die Version mit einer Fenstergrösse von 680x680. Ich "versuche" grade die erste Figur zu setzen. ALSO NUR TESTCODE. Das Brett passt sich der Grösse des Fenster an. AB einer Breite von über >600 spinnen allerdings die A-H Kordinaten. (Abhilfe schafft hier im Moment nur mit einer Brettgrösse von ca. 1200x980 zu starten) Dann gibts die Probleme nicht mehr.
#lang=1240
#hoch=980
ll=150
bb=110
nu8=60
nu7=920
nu6=90
Was mir noch Probleme bereitet.
-Warum spinnt Locate wenn width>600 kommt ausser beim Start ist das Fenster so gross wie die Auflösung des Screens.
-Das Board kann man stufenlos verkleinern, nur macht es irgendwann keinen Sinn mehr weil die Kordinaten sich dann nicht mehr anpassen können. Das Brett selber habe ich also begrentzt, wie begrentzt man das Fenster ?
-Schachfiguren zeichnen und dann am besten Display Brush verwenden oder Layers ?
/****************************************************************
** **
** Name: **
** Author: **
** Descr iption: **
** **
****************************************************************/
@APPAUTHOR ""
@APPCOPYRIGHT ""
@APPDESCRIPTION ""
@APPTITLE ""
@APPVERSION "$VER: 1.0 (1.1.2000)"
@VERSION 3,1
;Fenstergrösse constanten
Const #lang=680
Const #hoch=680
Const #rount=10 ;Rundung Schachfelder
Const #WHI=$f2e5ff
Const #BLA=$666666
ll=80
bb=80
nu8=60
nu7=680
nu6=60
@DISPLAY { Title = "Schach-Gui", X = #CENTER, Y = #CENTER, Width = #lang, Height = #hoch, color = #BLACK, sizeable=True}
;Variablen
Repeat
;Funktion neue Festergrösse
Function p_HandlerFunc(msg)
Switch (msg.action)
Case "SizeWindow":
if msg.width <240 Then msg.width=240
if msg.height<240 Then msg.height=240
;dbugPrint("User hat moved the Windowsize to", msg.height, msg.width)
nu8=(msg.height)/10
nu7=(msg.height)
if msg.width <=300 Then nu6=(msg.width)/9
if (msg.width >300) and (msg.width <=500) Then nu6=(msg.width)/11
if msg.width >500 Then nu6=(msg.width)/12
msg.height=msg.height-40
msg.width=msg.width-40
bb=(msg.height/8)
ll=(msg.width/8)
EndSwitch
EndFunction
SetFont("times.font" ,11)
SetFontColor(#YELLOW)
InstallEventHandler({ActiveWindow = p_HandlerFunc, SizeWindow = p_HandlerFunc})
cls
;
; Board zeichnen
;
;Reihe8
SetFillStyle(#fillcolor)
Box(20,20,ll,bb,#WHI,#rount)
Box(ll+20,20,ll,bb,#BLA,#rount)
Box((ll*2)+20,20,ll,bb,#WHI,#rount)
Box((ll*3)+20,20,ll,bb,#BLA,#rount)
Locate (6,nu8)
NPrint ("8")
Box((ll*4)+20,20,ll,bb,#WHI,#rount)
Box((ll*5)+20,20,ll,bb,#BLA,#rount)
Box((ll*6)+20,20,ll,bb,#WHI,#rount)
Box((ll*7)+20,20,ll,bb,#BLA,#rount)
;Reihe7
SetFillStyle(#fillcolor)
Box(20,bb+20,ll,bb,#BLA,#rount)
Box(ll+20,bb+20,ll,bb,#WHI,#rount)
Box((ll*2)+20,bb+20,ll,bb,#BLA,#rount)
Box((ll*3)+20,bb+20,ll,bb,#WHI,#rount)
Locate (6,nu8+bb)
NPrint ("7")
Box((ll*4)+20,bb+20,ll,bb,#BLA,#rount)
Box((ll*5)+20,bb+20,ll,bb,#WHI,#rount)
Box((ll*6)+20,bb+20,ll,bb,#BLA,#rount)
Box((ll*7)+20,bb+20,ll,bb,#WHI,#rount)
;Reihe6
SetFillStyle(#fillcolor)
Box(20,(bb*2)+20,ll,bb,#WHI,#rount)
Box(ll+20,(bb*2)+20,ll,bb,#BLA,#rount)
Box((ll*2)+20,(bb*2)+20,ll,bb,#WHI,#rount)
Box((ll*3)+20,(bb*2)+20,ll,bb,#BLA,#rount)
Locate (6,nu8+bb*2)
NPrint ("6")
Box((ll*4)+20,(bb*2)+20,ll,bb,#WHI,#rount)
Box((ll*5)+20,(bb*2)+20,ll,bb,#BLA,#rount)
Box((ll*6)+20,(bb*2)+20,ll,bb,#WHI,#rount)
Box((ll*7)+20,(bb*2)+20,ll,bb,#BLA,#rount)
;Reihe5
SetFillStyle(#fillcolor)
Box(20,(bb*3)+20,ll,bb,#BLA,#rount)
Box(ll+20,(bb*3)+20,ll,bb,#WHI,#rount)
Box((ll*2)+20,(bb*3)+20,ll,bb,#BLA,#rount)
Locate (6,nu8+bb*3)
NPrint ("5")
Box((ll*3)+20,(bb*3)+20,ll,bb,#WHI,#rount)
Box((ll*4)+20,(bb*3)+20,ll,bb,#BLA,#rount)
Box((ll*5)+20,(bb*3)+20,ll,bb,#WHI,#rount)
Box((ll*6)+20,(bb*3)+20,ll,bb,#BLA,#rount)
Box((ll*7)+20,(bb*3)+20,ll,bb,#WHI,#rount)
;Reihe4
SetFillStyle(#fillcolor)
Box(20,(bb*4)+20,ll,bb,#WHI,#rount)
Box(ll+20,(bb*4)+20,ll,bb,#BLA,#rount)
Box((ll*2)+20,(bb*4)+20,ll,bb,#WHI,#rount)
Box((ll*3)+20,(bb*4)+20,ll,bb,#BLA,#rount)
Locate (6,nu8+bb*4)
NPrint ("4")
Box((ll*4)+20,(bb*4)+20,ll,bb,#WHI,#rount)
Box((ll*5)+20,(bb*4)+20,ll,bb,#BLA,#rount)
Box((ll*6)+20,(bb*4)+20,ll,bb,#WHI,#rount)
Box((ll*7)+20,(bb*4)+20,ll,bb,#BLA,#rount)
;Reihe3
SetFillStyle(#fillcolor)
Box(20,(bb*5)+20,ll,bb,#BLA,#rount)
Box(ll+20,(bb*5)+20,ll,bb,#WHI,#rount)
Box((ll*2)+20,(bb*5)+20,ll,bb,#BLA,#rount)
Box((ll*3)+20,(bb*5)+20,ll,bb,#WHI,#rount)
Locate (6,nu8+bb*5)
NPrint ("3")
Box((ll*4)+20,(bb*5)+20,ll,bb,#BLA,#rount)
Box((ll*5)+20,(bb*5)+20,ll,bb,#WHI,#rount)
Box((ll*6)+20,(bb*5)+20,ll,bb,#BLA,#rount)
Box((ll*7)+20,(bb*5)+20,ll,bb,#WHI,#rount)
;Reihe2
SetFillStyle(#fillcolor)
Box(20,(bb*6)+20,ll,bb,#WHI,rount)
Box(ll+20,(bb*6)+20,ll,bb,#BLA,rount)
Box((ll*2)+20,(bb*6)+20,ll,bb,#WHI,#rount)
Box((ll*3)+20,(bb*6)+20,ll,bb,#BLA,#rount)
Locate (6,nu8+bb*6)
NPrint ("2")
Box((ll*4)+20,(bb*6)+20,ll,bb,#WHI,#rount)
Box((ll*5)+20,(bb*6)+20,ll,bb,#BLA,#rount)
Box((ll*6)+20,(bb*6)+20,ll,bb,#WHI,#rount)
Box((ll*7)+20,(bb*6)+20,ll,bb,#BLA,#rount)
;Reihe1
SetFillStyle(#fillcolor)
Box(20,(bb*7)+20,ll,bb,#BLA,#rount)
Box(ll+20,(bb*7)+20,ll,bb,#WHI,#rount)
Box((ll*2)+20,(bb*7)+20,ll,bb,#BLA,#rount)
Box((ll*3)+20,(bb*7)+20,ll,bb,#WHI,#rount)
Locate (6,nu8+bb*7)
NPrint ("1")
Box((ll*4)+20,(bb*7)+20,ll,bb,#BLA,#rount)
Box((ll*5)+20,(bb*7)+20,ll,bb,#WHI,#rount)
Box((ll*6)+20,(bb*7)+20,ll,bb,#BLA,#rount)
Box((ll*7)+20,(bb*7)+20,ll,bb,#WHI,#rount)
Locate (nu6,nu7-15)
NPrint ("A")
Locate (nu6+ll,nu7-15)
NPrint ("B")
Locate (nu6+(ll*2),nu7-15)
NPrint ("C")
Locate (nu6+(ll*3),nu7-15)
NPrint ("D")
Locate (nu6+(ll*4),nu7-15)
NPrint ("E")
Locate (nu6+(ll*5),nu7-15)
NPrint ("F")
Locate (nu6+(ll*6),nu7-15)
NPrint ("G")
Locate (nu6+(ll*7),nu7-15)
NPrint ("H")
SetFormStyle(#edge, ARGB(256, #BLACK))
CreateBrush(1,120,120)
SelectBrush(1)
SetFillStyle(#fillgradient, #linear, #BLACK, #GRAY)
Circle(50,50,10,#BLACK)
Circle(40,70,20,#BLACK)
Ellipse(30,110,30,2,#BLACK)
EndSelect()
SetBrushTransparency(1, #BLACK)
;MoveBrush(1, #CENTER, #BOTTOMOUT, #CENTER, #TOPOUT, 10)
ScaleBrush(1,ll,bb)
DisplayBrush(1,(ll+bb)/2,(ll+bb)/2)
;DisplayBrush(1,190,120, {smoothscale=True})
posx=MouseX()
posy=MouseY()
Locate (2,2)
NPrint (posx, posy)
Locate (2,10)
NPrint (#lang, #hoch ,Width, Height, ll, bb, nu7, nu8)
;Arc(0,0,183,183,45,315,#WHITE)
;Circle(164,33,16,#WHITE)
; /// "main loop"
WaitEvent
Forever
; ///
|
|