fb:porticula NoPaste
Simulation Verteilermast einer Betonpumpe (Rohversion)
Uploader: | onleinhermann |
Datum/Zeit: | 25.12.2011 22:13:51 |
' Steuerung mit Maustasten oder Mausrad im aktivem Feld
'12/2012 onleinhermann
screenres 1000, 600, 32
Dim mausx as Integer
Dim mausy as Integer
Dim maustast as Integer
Dim mausrad As Integer
Dim As Single az,bz,cz,dz
Dim As Single Amast1x, Amast1y,Amast2x,Amast2y
Dim As Single Bmast1x, Bmast1y,Bmast2x,Bmast2y
Dim As Single Cmast1x, Cmast1y,Cmast2x,Cmast2y
Dim As Single Dmast1x, Dmast1y,Dmast2x,Dmast2y
Dim As Single endschlx,endschly,endradius=60
Dim mausradvor As Integer
Dim mausradnach As Integer
Dim dreh As Single
Dim As Single aradius,bradius,cradius,dradius ' Länge der Mastsegmente
#Define Quit Inkey=CHR(255,107) 'Programm über das Schließenkreuz beenden
Do Until Quit ' .................Beginn Schleife............................
'Aktuelle Mausposition abfragen
GetMouse(mausx, mausy,mausrad , maustast)
'dreht sich mausrad?
mausradvor=mausrad
If mausradvor <> mausrad Then GetMouse(mausx,mausy,mausradnach)
Amast1x=50:amast1y=450 :aradius =200
Amast2x=Amast1x+aradius*Cos(az)
Amast2y=Amast1y+aradius*Sin(az)
Bmast1x=Amast2x:Bmast1y=Amast2y:bradius=130
Bmast2x=Bmast1x+bradius*Cos(bz)
Bmast2y=Bmast1y+bradius*Sin(bz)
Cmast1x=Bmast2x:Cmast1y=Bmast2y:cradius=160
Cmast2x=Cmast1x+cradius*Cos(cz)
Cmast2y=Cmast1y+cradius*Sin(cz)
Dmast1x=Cmast2x:Dmast1y=Cmast2y:dradius=150
Dmast2x=Dmast1x+dradius*Cos(dz)
Dmast2y=Dmast1y+dradius*Sin(dz)
endschlx=dmast2x
endschly=dmast2y+endradius
'.................Zeichnen..............................
ScreenLock 'Flimmern verhindern
Cls
LINE (250, 550)-(280, 580),, B 'Steuerfeld A-Mast
Circle (265,565),15
Line (300, 550)-(330, 580),, B 'Steuerfeld B-Mast
Circle (315,565),15
Line (350, 550)-(380, 580),, B 'Steuerfeld C-Mast
Circle (365,565),15
Line (400, 550)-(430, 580),, B 'Steuerfeld D-Mast
Circle (415,565),15
Line (Amast1x,Amast1y)-(Amast2x,Amast2y),&h00ff00'Zeichne A-Mast
Line (Amast1x+1,Amast1y+1)-(Amast2x+1,Amast2y+1),&h00ff00'Zeichne A-Mast nocheinmal
Line (Bmast1x,Bmast1y)-(Bmast2x,Bmast2y),&h00ff00'Zeichne B-Mast
Line (Cmast1x,Cmast1y)-(Cmast2x,Cmast2y),&h00ff00'Zeichne C-Mast
Line (Dmast1x,Dmast1y)-(Dmast2x,Dmast2y),&h00ff00'Zeichne D-Mast
Line (Dmast2x,Dmast2y)-(endschlx,endschly),&hFF0202 'Zeichne Endschlauch
'.......................................Steuern................
'................AMast..........
If mausx>249 And mausx<281 And mausy>549 And mausy<581 Then
Circle (265,565),14,&hffff00,,,,F
EndIf
If mausx>249 And mausx<281 And mausy>549 And mausy<581 And mausradvor>mausradnach Then
az=az-.05
bz=bz-.05
cz=cz-.05
dz=dz-.05
EndIf
If mausx>249 And mausx<281 And mausy>549 And mausy<581 And maustast=1Then
az=az-.005
bz=bz-.005
cz=cz-.005
dz=dz-.005
EndIf
If mausx>249 And mausx<281 And mausy>549And mausy<581 And mausradvor<mausradnach Then
az=az+.05
bz=bz+.05
cz=cz+.05
dz=dz+.05
EndIf
If mausx>249 And mausx<281 And mausy>549 And mausy<581 And maustast=2 Then
az=az+0.005
bz=bz+0.005
cz=cz+0.005
dz=dz+0.005
EndIf
'.........Steuer......BMast............
If mausx>299 And mausx<331 And mausy>549 And mausy<581 Then
Circle (315,565),14,&hffff00,,,,F
EndIf
If mausx>299 And mausx<331 And mausy>549 And mausy<581 And mausradvor>mausradnach Then
bz=bz-.05
cz=cz-.05
dz=dz-.05
EndIf
If mausx>299 And mausx<331 And mausy>549 And mausy<581 And maustast=1Then
bz=bz-.005
cz=cz-.005
dz=dz-.005
EndIf
If mausx>299 And mausx<331 And mausy>549And mausy<581 And mausradvor<mausradnach Then
bz=bz+.05
cz=cz+.05
dz=dz+.05
EndIf
If mausx>299 And mausx<331 And mausy>549 And mausy<581 And maustast=2 Then
bz=bz+0.005
cz=cz+0.005
dz=dz+0.005
EndIf
'.........Steuer......CMast............
If mausx>349 And mausx<381 And mausy>549 And mausy<581 Then
Circle (365,565),14,&hffff00,,,,F
EndIf
If mausx>349 And mausx<381 And mausy>549 And mausy<581 And mausradvor>mausradnach Then
cz=cz-.05
dz=dz-.05
EndIf
If mausx>349 And mausx<381 And mausy>549 And mausy<581 And maustast=1Then
cz=cz-.005
dz=dz-.005
EndIf
If mausx>349 And mausx<381 And mausy>549And mausy<581 And mausradvor<mausradnach Then
cz=cz+.05
dz=dz+.05
EndIf
If mausx>349 And mausx<381 And mausy>549 And mausy<581 And maustast=2 Then
cz=cz+0.005
dz=dz+0.005
EndIf
'.........Steuer......DMast............
If mausx>399 And mausx<422 And mausy>549 And mausy<581 Then
Circle (415,565),14,&hffff00,,,,F
EndIf
If mausx>399 And mausx<431 And mausy>549 And mausy<581 And mausradvor>mausradnach Then
dz=dz-.05
EndIf
If mausx>399 And mausx<431And mausy>549 And mausy<581 And maustast=1Then
dz=dz-.005
EndIf
If mausx>399 And mausx<431 And mausy>549And mausy<581 And mausradvor<mausradnach Then
dz=dz+.05
EndIf
If mausx>399 And mausx<431 And mausy>549 And mausy<581 And maustast=2 Then
dz=dz+0.005
EndIf
mausradnach=mausradvor ' mausrad zurücksetzen
ScreenUnLock 'Flimmern verhindern
'kurz warten um CPU zu schonen
Sleep 1,1
Loop '..............................SCHLEIFE ENDE...................................
'..............................................................................
screen 0 'Bildschirm wieder schliessen
end 0