ek by Anonymous Coder15th Sep 2010 3:11
|
---|
Summary colourfinder for box command box(left,top,right,bottom,c1,c2,c3,c4 Description with this little program you can see what you'll get if you use the box command Code ` This code was downloaded from The Game Creators ` It is reproduced here with full permission ` http://www.thegamecreators.com rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem EK-Farbe rem copyright Erich Kuehn, Germany rem 08.2009 rem kompilieren als Fenster mit selbstdefinierter Groesse 360x300 rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem Planung und Kontrolle des box-Befehls in Dark Basic Pro rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem Definitions rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ DEFINITION: global rr=0 :rem red 0-255 global gg=0 :rem green 0-255 global bb=0 :rem blue 0-255 rr$="" :rem green-String bb$="" :rem blue-String eckedip=0 :rem aktuelle Ecke 1,2,3,4 menudip=0 :rem aktueller Menupkt (1,2,3 = r,g,b) leer$=" " :rem Leerstring um zahlen <100 dreistellig darzustellen randomize timer() :rem dim r(5) :rem red für die Ecken 1,2,3,4 dim g(5) :rem green für die Ecken 1,2,3,4 dim b(5) :rem blue für die Ecken 1,2,3,4 dim fa(7) :rem Farben zusammengesetzt aus r,g,b dim k(11,4) :rem Koordinaten der einzelnen Boxen for q= 1 to 4 rr=rnd(50)*5 :rem zufälliger wert am Anfang gg=rnd(50)*5 :rem zufälliger wert am Anfang bb=rnd(50)*5 :rem zufälliger wert am Anfang r(q)=rr g(q)=gg b(q)=bb next q fa(1)=rgb(r(1),g(1),b(1)) fa(2)=rgb(r(2),g(2),b(2)) fa(3)=rgb(r(3),g(3),b(3)) fa(4)=rgb(r(4),g(4),b(4)) fa(5)=rgb(000,000,000) :rem schwarz fa(6)=rgb(255,255,255) :rem weiss fa(7)=rgb(140,140,140) :rem grau k( 1,1)= 1:k( 1,2)=150:k( 1,3)= 60:k( 1,4)=270 :rem box1 k( 2,1)= 1:k( 2,2)= 30:k( 2,3)= 60:k( 2,4)=150 :rem box2 k( 3,1)=300:k( 3,2)=150:k( 3,3)=360:k( 3,4)=270 :rem box3 k( 4,1)=300:k( 4,2)= 30:k( 4,3)=360:k( 4,4)=150 :rem box4 k( 5,1)= 1:k( 5,2)= 1:k( 5,3)=360:k( 5,4)= 30 :rem box5 k( 6,1)= 60:k( 6,2)= 30:k( 6,3)=300:k( 6,4)=270 :rem box6 k( 7,1)= 1:k( 7,2)=270:k( 7,3)=360:k( 7,4)=300 :rem box7 k( 8,1)= 20:k( 8,2)=170:k( 8,3)= 40:k( 8,4)=190 :rem box8 k( 9,1)= 20:k( 9,2)= 50:k( 9,3)= 40:k( 9,4)= 70 :rem box9 k(10,1)=320:k(10,2)=170:k(10,3)=340:k(10,4)=190 :rem box10 k(11,1)=320:k(11,2)= 50:k(11,3)=340:k(11,4)= 70 :rem box11 rem +++++++++++++++++++++++++++++++++++++++++++++++++++ rem Explanation boxes rem +++++++++++++++++++++++++++++++++++++++++++++++++++ rem rem +++++++++++++++++++++++++++++++++++++++++++++++++++ rem + K(5,.) + rem +++++++++++++++++++++++++++++++++++++++++++++++++++ rem + + + + rem + ++(9) + + ++(11)+ rem + ++ + + ++ + rem + K(2,.) + + K(4,.) + rem + + K(6,.) + + rem + + + + rem + + + + rem ++++++++++ ++++++++++ rem + + + + rem + ++(8) + + ++(10)+ rem + ++ + + ++ + rem + + + K(3,.) + rem + K(1,.) + + + rem + + + + rem + + + + rem +++++++++++++++++++++++++++++++++++++++++++++++++++ rem + K(7,.) + rem +++++++++++++++++++++++++++++++++++++++++++++++++++ rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem Bildaufbau rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ BILDINIT: rem Festlegen der Schriftgroesse set text size 20 set text font "Courier New" set text to bold rem Zeichnen der Boxen ; erst außen weiss;dann innen schwarz, dadurch Rahmen KIS(1,6):INKIS(1,5) KIS(2,6):INKIS(2,5) KIS(3,6):INKIS(3,5) KIS(4,6):INKIS(4,5) KIS(5,6):INKIS(5,5) KIS(6,6):INKIS(6,5) KIS(7,6):INKIS(7,5) rem zeichnen der vier Ecken-Boxen eckedip=1: INKIS(1,1):ECKENUM(eckedip) eckedip=2: INKIS(2,2):ECKENUM(eckedip) eckedip=3: INKIS(3,3):ECKENUM(eckedip) eckedip=4: INKIS(4,4):ECKENUM(eckedip) rem zufälliges Setzen der Menupkte menudip=rnd(2)+1 eckedip=rnd(3)+1 MENUZEICH(menudip,eckedip) ECKENUM(eckedip) rem Zeichnen der großen mittleren Kiste FAKIS() rem Zeichnen der unteren Hilfszeile ink fa(6),0:text 5,273," <1><2><3><4><z><li><re><ob><un>" rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem MAIN Auswertung der Tastatureingaben rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ HAUPTSCHLEIFE: do clear entry buffer ant$=inkey$() if rightkey() then gosub MENURE if leftkey() then gosub MENULI if upkey() then gosub AUF if downkey() then gosub AB if escapekey() then exit if ant$="1" then eckedip=1:ECKENUM(eckedip):MENUZEICH(menudip,eckedip) if ant$="2" then eckedip=2:ECKENUM(eckedip):MENUZEICH(menudip,eckedip) if ant$="3" then eckedip=3:ECKENUM(eckedip):MENUZEICH(menudip,eckedip) if ant$="4" then eckedip=4:ECKENUM(eckedip):MENUZEICH(menudip,eckedip) if ant$="z" or ant$="Z" then gosub ZUFALL loop end rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem functions Funktionen muessen nach dem Endekommando des Programmes stehen rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem Zeichnen einer box rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ function KIS(n,f) ink fa(f),0 li=k(n,1):ob=k(n,2):re=k(n,3):un=k(n,4) box li,ob,re,un endfunction rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem Zeichnen einer box in der Box rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ function INKIS(n,f) ink fa(f),0 li=k(n,1)+2:ob=k(n,2)+2:re=k(n,3)-2:un=k(n,4)-2 box li,ob,re,un endfunction rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem Darstellung des RGB-Menus rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ function MENUZEICH(men,eck) rr=r(eck):gg=g(eck):bb=b(eck) rr$="R "+right$(leer$+str$(rr),3) gg$="G "+right$(leer$+str$(gg),3) bb$="B "+right$(leer$+str$(bb),3) ink fa(5),0:box 3,3,120,28 if men=1 then ink fa(6),0 else ink fa(7),0 center text 60,6,rr$ ink fa(5),0:box 120,3,240,28 if men=2 then ink fa(6),0 else ink fa(7),0 center text 180,6,gg$ ink fa(5),0:box 240,3,358,28 if men=3 then ink fa(6),0 else ink fa(7),0 center text 300,6,bb$ endfunction rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem Darstellung der Eckennummern rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ function ECKENUM(eck) ink fa(5),0 li=k(eck+7,1):ob=k(eck+7,2):re=k(eck+7,3):un=k(eck+7,4) box li,ob,re,un if eck=1 then ink fa(6),0 else ink fa(7),0 text 25,172,"1" if eck=2 then ink fa(6),0 else ink fa(7),0 text 25, 52,"2" if eck=3 then ink fa(6),0 else ink fa(7),0 text 325,172,"3" if eck=4 then ink fa(6),0 else ink fa(7),0 text 325, 52,"4" endfunction rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem Darstellung der mittleren box mit Farbverlaeufen rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ function FAKIS() li=k(6,1):ob=k(6,2):re=k(6,3):un=k(6,4) box li,ob,re,un,fa(1),fa(2),fa(3),fa(4) endfunction rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem subs Unterprogramme rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem Erhoehung des Farbwertes des angewaehlten Menupunktes rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ AUF: rr=r(eckedip):gg=g(eckedip):bb=b(eckedip) if menudip=1 inc rr,5 if rr>255 then rr=0 endif if menudip=2 inc gg,5 if gg>255 then gg=0 endif if menudip=3 inc bb,5 if bb>255 then bb=0 endif r(eckedip)=rr:g(eckedip)=gg:b(eckedip)=bb:fa(eckedip)=rgb(rr,gg,bb) INKIS(eckedip,eckedip) ECKENUM(eckedip) FAKIS() MENUZEICH(menudip,eckedip) wait 200 return rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem Senkung des Farbwertes des angewaehlten Menupunktes rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ AB: rr=r(eckedip):gg=g(eckedip):bb=b(eckedip) if menudip=1 dec rr,5 if rr<0 then rr=255 endif if menudip=2 dec gg,5 if gg<0 then gg=255 endif if menudip=3 dec bb,5 if bb<0 then bb=255 endif r(eckedip)=rr:g(eckedip)=gg:b(eckedip)=bb:fa(eckedip)=rgb(rr,gg,bb) INKIS(eckedip,eckedip) ECKENUM(eckedip) FAKIS() MENUZEICH(menudip,eckedip) wait 200 return rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem Anwahl der Menupunkte r g b nach rechts rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ MENURE: inc menudip,1 if menudip>3 then menudip=1 MENUZEICH(menudip,eckedip) wait 200 return rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem Anwahl der Menupunkte r g b nach links rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ MENULI: dec menudip,1 if menudip<1 then menudip=3 MENUZEICH(menudip,eckedip) wait 200 return rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rem Zufallsauswahl rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ ZUFALL: rr=rnd(51)*5:gg=rnd(51)*5:bb=rnd(51)*5 r(eckedip)=rr:g(eckedip)=gg:b(eckedip)=bb:fa(eckedip)=rgb(rr,gg,bb) INKIS(eckedip,eckedip) ECKENUM(eckedip) FAKIS() MENUZEICH(menudip,eckedip) wait 200 return rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++ |