Mikä on pielessä:
Code: Select all
Type Omat
Field Tyyppi$
Field MaxTeho
Field Ase$
Field Tarkkuus
Field Panokset
Field SuuntaX#
Field SuuntaY#
Field Kohde
Field Ukko
Field Paikalleenasettuminen#
Field Nopeus#
Field Kokemus
Field Numero
EndType
Type Vihut
Field Tyyppi$
Field Teho
Field Ase$
Field Tarkkuus
Field Panokset
Field Kohde
Field Ukko
Field SuuntaX
Field Nopeus
EndType
Monesko=1
SCREEN 480,800
FrameLimit 40
Tileset=LoadImage("C:\\APPS\CoolBasic\Media\tileset.bmp")
map=MakeMap(15,25,32,32)
PaintObject map,tileset
konekiväärimies=LoadObject("C:\\APPS\CoolBasic\Media\Ukkeli.bmp",360)
konekivääri=LoadImage("C:\\APPS\CoolBasic\Media\konekivääri.jpg")
ShowObject konekiväärimies,OFF
MaxTarkkuus=30
AlkuJoukot=4
For y=1 To 25
For x=1 To 15
r=Rand(0,7)
If r=0 Or r=5 Then Piirrettävätile=16
If r=1 Or r>=6 Then Piirrettävätile=21
If r=2 Then Piirrettävätile=26
If r=3 Then Piirrettävätile=27
If r=4 Then Piirrettävätile=28
If r=2 Then
EditMap map,0,x,y,piirrettävätile
EditMap map,3,x,y,1
Else
EditMap map,0,x,y,piirrettävätile
EndIf
Next x
Next y
Repeat
If KeyHit(2) And TaktiikkaPisteet>3 Or AlkuJoukot>0 Then
Oma.Omat=New (Omat)
Oma\Ukko=CloneObject(konekiväärimies)
Oma\Panokset=50
Oma\Ase="M\27"
Oma\Tarkkuus=Rand(10,MaxTarkkuus)
Oma\Tyyppi="konekivääri"
Sijainti=Rand(-150,150)
PositionObject Oma\Ukko,Sijainti,-450
Oma\SuuntaX=Sijainti
Oma\SuuntaY=-350
Oma\Kokemus=1
Oma\Nopeus=1.0
Oma\Paikalleenasettuminen=4000/(22*Oma\Kokemus)
AlkuJoukot-1
Oma\Numero=monesko
monesko+1
EndIf
CameraPick MouseX(),MouseY()
PO=PickedObject()
For Oma.Omat=Each Omat
If Valittu=Oma\Numero Then
If MouseHit(1) Then
Oma\SuuntaX=MouseWX()
Oma\SuuntaY=MouseWY()
Valittu=0
EndIf
EndIf
If Oma\SuuntaX<>ObjectX(Oma\Ukko) Or Oma\SuuntaY<>ObjectY(Oma\Ukko) Then
suunta=GetAngle(ObjectX(Oma\Ukko),ObjectY(Oma\Ukko),Oma\SuuntaX,Oma\SuuntaY)
RotateObject Oma\Ukko,suunta
MoveObject Oma\Ukko,Oma\Nopeus
Oma\PaikalleenAsettuminen=4000/(22*Oma\Kokemus)
Else
Oma\PaikalleenAsettuminen-1
EndIf
If Distance(ObjectX(Oma\Ukko),ObjectY(Oma\Ukko),MouseWX(),MouseWY())<35 Then
If MouseHit(1) Then
Valittu=Oma\Numero
EndIf
EndIf
CloneCameraPosition Oma\Ukko
Next Oma
DrawGame
Text 10,10,"X"+MouseWX()
Text 10,20,"Y"+MouseWY()
DrawScreen
Forever
mutta jostain syystä ukkelit eivät millään mene oikeaan suuntaan.
Älkää välittäkö tämän hetkisestä toteutuksesta.
Toteutin sen jo kertaalleen PickedObject:in avulla,
mutta kun se ei toiminut kokeilin tätä, mutta tämäkään ei toimi.
Eli missä vika
Ei myöskään tarvitse välittää kartasta,
koska olisi turhaa ladata tänne oikea tileset,
kun ongelma ei johdu siitä.