TGC Codebase Backup



ek by Anonymous Coder

15th 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 +++++++++++++++++++++++++++++++++++++++++++++++++++++++