Code: Alles auswählen
InitSprite()
InitSprite3D()
InitSound()
InitKeyboard()
InitMouse()
ExamineScreenModes()
Global startX.w
Global startY.w
Global mark.b
Global dauer.b
Global markierX.w
Global markierY.w
Global pressed.b
Global trans.w
Global add.b
trans=255
add=(-1)
#max = 10
Dim infX.w(#max)
Dim infY.w(#max)
Dim beweg.b(#max)
Dim marked.b(#max)
Dim zielX.w(#max)
Dim zielY.w(#max)
For x=1 To #max
infX(x)=10+x*10
infY(x)=10
Next
OpenScreen(1024,768,32,"World Conquest")
Sprite3DQuality(1)
SetFrameRate(80)
LoadSprite(0,"grafic\cursor.bmp",#PB_Sprite_Texture)
CreateSprite3D(0,0)
LoadSprite(2,"grafic\infantrie.bmp")
TransparentSpriteColor(2,255,0,255)
LoadSound(1,"sound\pop.wav")
SoundFrequency(1,50000)
SoundVolume(1,50)
TransparentSpriteColor(0,255,255,255)
LoadSprite(1,"grafic\gras.bmp")
LoadSprite(3,"grafic\1x1.bmp")
TransparentSpriteColor(3,0,0,0)
ClearScreen(255,255,255)
MouseLocate(250,200)
Repeat
If trans=100
add=1
ElseIf trans=255
add=-1
EndIf
trans=trans+add
ExamineMouse()
DisplaySprite(1,0,0)
DisplaySprite(1,450,0)
DisplaySprite(1,0,400)
DisplaySprite(1,450,400)
For x=1 To #max
If SpriteCollision(3,startX,startY,2, infX(x)+x,infY(x)+x)=1 And MouseButton(1)=1
marked(x)=1
ElseIf SpriteCollision(3,startX,startY,2, infX(x)+x,infY(x)+x)=0 And MouseButton(1)=1
marked(x)=0
EndIf
If beweg(x)=1
If infX(x) >zielX(x)
infX(x)=infX(x)-1
ElseIf infX(x) < zielX(x)
infX(x)=infX(x)+1
EndIf
If infY(x) > zielY(x)
infY(x)=infY(x)-1
ElseIf infY(x) < zielY(x)
infY(x)=infY(x)+1
EndIf
EndIf
If infX(x)=zielX(x) And infY(x) = zielY(x)
beweg(x)=0
EndIf
DisplayTransparentSprite(2,infX(x)+x,infY(x)+x)
If marked(x)=1
StartDrawing(ScreenOutput())
Circle(infX(x)+x+20,infY(x)+x+10,5,RGB(0,255,0))
Locate(infX(x)+x+15,infY(x)+x+3)
DrawingMode(1)
DrawText(Str(x))
StopDrawing()
EndIf
Next
If MouseButton(1)=1
If mark=0
mark=1
startX=MouseX()
startY=MouseY()
For x=1 To #max
marked(x)=0
Next
EndIf
StartDrawing(ScreenOutput())
DrawingMode(4)
Box(startX,startY,MouseX()-startX,MouseY()-startY,RGB(0,255,0))
StopDrawing()
FreeSprite(3)
If GrabSprite(3,startX,startY,MouseX()+1-startX,MouseY()+1-startY,0)
ElseIf GrabSprite(3,MouseX(),MouseY(),startX,startY,0)
ElseIf GrabSprite(3,startX,MouseY(),MouseX(),startY,0)
ElseIf GrabSprite(3,MouseX(),startY,startX,MouseY(),0)
Else
LoadSprite(3,"grafic\1x1.bmp")
EndIf
Else
mark=0
EndIf
ExamineMouse()
If MouseButton(2)=1 And pressed=0
dauer=50
markierX=MouseX()
markierY=MouseY()
pressed=1
PlaySound(1)
For x=1 To #max
If marked(x)=1
beweg(x)=1
zielX(x)=markierX
zielY(x)=markierY
EndIf
Next
EndIf
If dauer > 0
dauer=dauer-1
StartDrawing(ScreenOutput())
DrawingMode(4)
Circle(markierX,markierY,5,RGB(0,255,0))
Circle(markierX,markierY,15,RGB(0,255,0))
StopDrawing()
Else
pressed=0
EndIf
StartDrawing(ScreenOutput())
DrawingMode(1)
FrontColor(255,255,255)
Locate(900,10)
DrawText(Str(trans)+" "+Str(add))
Locate(900,23)
DrawText("MouseX:"+Str(MouseX()))
Locate(900,36)
DrawText("MouseY:"+Str(MouseY()))
Locate(900,49)
DrawText("StartX:"+Str(startX))
Locate(900,62)
DrawText("StartY:"+Str(startY))
StopDrawing()
DisplaySprite(3,100,100)
Start3D()
DisplaySprite3D(0,MouseX(),MouseY(),trans)
FlipBuffers()
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)