Page 1 of 1

Lukota!

Posted: Mon Aug 31, 2009 7:04 pm
by martti
Tarvittisin hieman apua autopelissä.

Ongelmat ovat seuraavat:

-Miten luoda vaihteet?

-Miten luoda ERITTÄIN hidas kiihtyminen autoille?

-Miten laskea kierrokset (kokeilin ite ja kävi niin ilkeesti että joka kerta kun tuli maaliviivalle niin kierrosksia oli yksi ja kun siirtyi
pois maaliviivalta kierroksia oli taas nolla :roll:) ?

Tässä sitten se koodi:

Code: Select all


SCREEN 1024,768,0,cbFullscreen

FrameLimit 40


ruoho = MakeObjectFloor ()
nurmikko = LoadImage ("Media\grass.bmp")
PaintObject ruoho, nurmikko
kartta = LoadMap("media\auto8.til","media\tileset.bmp")
PlayObject kartta,0,0,1

auto1 = LoadObject("media\car2.bmp",360)
auto2 = LoadObject("media\car2.bmp",360)


RotateObject auto1,0
RotateObject auto2,0


PositionObject auto2,-100,530
PositionObject auto1,-17,610

kamera1=MakeImage(510,768)
kamera2=MakeImage(510,768)

SetupCollision auto1, auto2, 2,2,1
SetupCollision auto2, auto1, 2,2,1
SetupCollision auto2, kartta, 1,4,2
SetupCollision auto1, kartta, 1,4,2

Repeat



 Select GetMap(3,ObjectX(auto2),ObjectY(auto2))
     Case 1: p2kierrokset=1 And p2kierrokset=2 And p2kierrokset=3
        EndSelect
        
        Select GetMap(3,ObjectX(auto1),ObjectY(auto1))
     Case 1: p1kierrokset=1
        EndSelect

        kl = 0

        If takavauhti<0.5 Then takavauhti=0
        If takavauhti<10 And DownKey() Then
        takavauhti+1
        Else
        takavauhti-1 
        EndIf
       
        If vauhti<15 And UpKey() Then
        vauhti+1
        Else
        vauhti-1
        EndIf 
        
        If nopeus<15 And KeyDown(cbkeyW) Then
        nopeus+1
        Else
        nopeus-1
        EndIf
        
        If takavauhti+1 Then kl+takavauhti 
        If nopeus<2 And KeyDown(cbkeyS) Then MoveObject auto2,-10         
        If vauhti<2 And DownKey() Then MoveObject auto1,-10
        If vauhti+1 Then kl+vauhti 
        If kl>5 Then kl=5  

        If vauhti<0.5 Then vauhti=0

        If kl>3 And LeftKey() Then MoveObject auto1, 0,5                
        If kl>3 And RightKey() Then MoveObject auto1, 0,-5

        If LeftKey() Then TurnObject auto1, kl
        If RightKey() Then TurnObject auto1, -kl 

        MoveObject auto1, vauhti

//---------------------------------------------------------------------//
        If nopeus+1 Then kl+nopeus
        If kl>5 Then kl=5
        
        If takanopeus<10 And KeyDown(cbkeyS) Then
        takavauhti+1
        Else
        takavauhti-1
        EndIf
        
        If takanopeus<0.5 Then takanopeus=0
        If takanopeus+1 Then kl+takanopeus
        If nopeus<0.5 Then nopeus=0

        If kl>3 And KeyDown(cbkeyA) Then MoveObject auto2, 0,5 
        If kl>3 And KeyDown(cbkeyD) Then MoveObject auto2, 0,-5

        If KeyDown(cbkeyA) Then TurnObject auto2, kl
        If KeyDown(cbkeyD) Then TurnObject auto2, -kl

        MoveObject auto2, nopeus


         Function camera(img,x,y)

l=ImageWidth(img)
k=ImageHeight(img)

     
UpdateGame

DrawToImage img
ClsColor cbblack
Cls
PositionCamera x,y
PositionCamera CameraX()+((ScreenWidth()-l)/2),CameraY()-((ScreenHeight()-k)/2)
DrawGame
DrawToScreen
EndFunction

        camera(kamera1,ObjectX(auto1),ObjectY(auto1))
        camera(kamera2,ObjectX(auto2),ObjectY(auto2))

    DrawImage kamera1,0,0
    DrawImage kamera2,510,0

      
      

    Color cbRed
    Text 0,30,"                                            pelaajien välimatka: "+Distance2(auto1,auto2)
    Text 0,30, "kierrokset" +p1kierrokset +p2kierrokset
    DrawScreen
    
Forever

teksti:

AddText "(Ei tietoa.)"
AddText " "
AddText "Palaa valikkoon painamalla ''L''"

Repeat

    If KeyHit (cbkeyL) Then Goto valikko

    DrawScreen

Forever



En ole varma toimiiko tuo lataus :? .

Re: Apua autopeliin.

Posted: Mon Aug 31, 2009 9:11 pm
by (11v)
Voisit laittaa ne kuva tiedostot mukaan.
EDIT:

Ahh, sori en huomannut :oops:


Apua löytyisi Cb kirjaston malleista kai, itse olen aika uusi =)

Re: Apua autopeliin.

Posted: Mon Aug 31, 2009 9:30 pm
by martti
Katsoin sieltä jo aikaisemmin ja löysin tuon kamera function.

Re: Apua autopeliin.

Posted: Mon Aug 31, 2009 9:44 pm
by Tuxi
Kannattaisi varmaan tehdä niin, että pistää radalle väliaikapisteitä. Maalviiva lasketaan myös väliaikapisteeksi. Sitten kun on ajanut kaikkiean väliaikapisteiden ohi, kierroslaskuria kasvatetaan yhdellä. Kannattaa tehdä myös niin, että väliaikapisteet täytyy ajaa tietyssä järjestyksessä. Valiaikapisteet voi tallettaa vaikka tilemapin Data-kerrokseen.

Re: Apua autopeliin.

Posted: Mon Aug 31, 2009 9:48 pm
by martti
Ok kiittos kokeilenpa nyt heti.

Re: Apua autopeliin.

Posted: Mon Aug 31, 2009 9:58 pm
by martti
Tässä nyt se muokattu.
auto8.1.rar
uusi versio siitä kartasta, nyt siinä on ne väliaikapisteet (niiden datat: 2,3,4&5)
(344 Bytes) Downloaded 108 times