Tyhmät kysymykset (I/2011)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
jorre

Re: Tyhmät kysymykset (I/2011)

Post by jorre »

VesQ wrote:
jorre wrote:Hei vaan kaikille.

Olen nyt ladannut CB:n koneelle, ja alkanut vähän kokeilemaan sitä. Tein nuo kaikki alkuharjotukset läpi ja osaankin suhteellisen hyvin perusasiat (eli huonosti), mutta nyt minulla on ongelma:

Yritän tehdä harjoitukseksi peliä, jossa ohjataan ruudun alareunassa alusta, joka ampuu vastaantulevia vihuja. Ongelmana on kuitenkin se että KAIKKI vihut katoavat automaattisesti, jos ammun aluksellani. Liitän käyttämäni koodin tähän alle, jos se helpottaa...:

Code: Select all

For luoti.AMMUS = Each AMMUS
        For vihol.VIHO = Each VIHO
            If luoti <> vihol Then
                DeleteObject vihol\vih
                Delete vihol
            EndIf
        Next vihol
    Next luoti
Koodissasi on se ongelma, että tarkistat vain ovatko silmukassa läpikäymäsi objektit toisia kuin luoti-objekti. Sinun tulisi tarkistaa törmäykset luoti-objektin kanssa vaikkapa komennon Distance2-avulla. Katso manuaalista Distance2-esimerkki.

Kiitän :D
Nyt peli toimii!
Eräs Vierailija

Re: Tyhmät kysymykset (I/2011)

Post by Eräs Vierailija »

Tervehdys.

Minulla on pienimuotoinen ongelma. Koodissani on kaksi kokonaislukumuuttujaa, x ja y, jotka määrittävät alueen, jolla pelaaja on. Eli siis x=ObjectX(pelaaja)/4000 ja y=ObjectY(pelaaja)/4000. Miten saisin niin, että kun saavutaan uudelle alueelle, muuttujan UudellaAlueella arvoksi tulee 1? Eli siis... aloitusalue on x=0 ja y=0. Jos saavutaan alueelle x=0,y=1, muuttuja UudellaAlueella=1. Mutta kun palataan alueelle x=0,y=0, UudellaAlueella=0 ja kun taas mennään alueelle x=0,y=1, UudellaAlueella=0, koska alueella on jo kerran käyty. Mutta esimerkiksi alue x=1,y=1 on yhä käymätön. Eli peli pitäisi saada muistamaan käydyt alueet.

Kylläpä oli typerä selitys. Mutta toivottavasti ymmärrätte.
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Tyhmät kysymykset (I/2011)

Post by Koodiapina »

Code: Select all

SCREEN 800,600

Const neliosivu = 200 // muokkaa tähän se 4000
Dim alueet(30,30) // katso ettet yli- tai alilue

FrameLimit 60

lol = LoadObject("media/guy.bmp",360)

uudelalueel = 1

x# = 0
y# = 0

Repeat

   // ihan vain havainnollistavuuden takia
	DrawToWorld ON 
	For ix = 0 To 30
		For iy = 0 To 30
			Color alueet(ix,iy)*255,alueet(ix,iy)*255,alueet(ix,iy)*255
			Box (ix-15)*neliosivu-(neliosivu/2),(iy-15)*neliosivu+(neliosivu/2),neliosivu,neliosivu
		Next iy
	Next ix

	MoveObject lol,(UpKey() - DownKey())*2
	TurnObject lol,(RightKey()-LeftKey())*3
	
	x = ObjectX(lol)/neliosivu
	y = ObjectY(lol)/neliosivu
	
	If ox <> Int(x) Or oy <> Int(y) Then
		alueet(ox+15,oy+15) = 1
		uudelalueel = Not alueet(Int(x)+15,Int(y)+15)
	EndIf 
	
	Color cbred
	Text 0,0,"uudella alueella:"+uudelalueel
	
	ox = x
	oy = y
	
	DrawScreen
Forever
Käyttää staattisia taulukoita, mutta ei liene ongelma, jos alueiden koot tosiaan ovat pelissäsi 4000^2.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post by Latexi95 »

Eräs Vierailija wrote:Tervehdys.

Minulla on pienimuotoinen ongelma. Koodissani on kaksi kokonaislukumuuttujaa, x ja y, jotka määrittävät alueen, jolla pelaaja on. Eli siis x=ObjectX(pelaaja)/4000 ja y=ObjectY(pelaaja)/4000. Miten saisin niin, että kun saavutaan uudelle alueelle, muuttujan UudellaAlueella arvoksi tulee 1? Eli siis... aloitusalue on x=0 ja y=0. Jos saavutaan alueelle x=0,y=1, muuttuja UudellaAlueella=1. Mutta kun palataan alueelle x=0,y=0, UudellaAlueella=0 ja kun taas mennään alueelle x=0,y=1, UudellaAlueella=0, koska alueella on jo kerran käyty. Mutta esimerkiksi alue x=1,y=1 on yhä käymätön. Eli peli pitäisi saada muistamaan käydyt alueet.

Kylläpä oli typerä selitys. Mutta toivottavasti ymmärrätte.
Onko alue jolle voi päästä jotenkin rajattu? Siis päättyykö kenttä johonkin? Jos se on jotenkin selkeästi rajattu alueisiin voit tehdä vaikka taulukon.
Tässä pieni esimerkki:
Oletetaan, että alue johon voi päästä on 5*5 ja aloituspaikka(maailmakoordinaatit (0,0)) on alueen keskellä alueella (3,3).

Code: Select all

Dim alueet(4,4) as Byte //Oikeasti 5*5 taulukko kun 0 lasketaan mukaan. Tyyppinä tavu, koska ei tarvita enempää.
edellinenAlueX = 0
edellinenAlueY = 0
repeat
x=ObjectX(pelaaja)/4000
y=ObjectY(pelaaja)/4000
if edellinenAlueX <> x or edellinenAlueY <> y then
    if alueet(x+2,y+2) = 0 then UudellaAlueella = 1 Else UudellaAlueella = 0
    alueet(x+2,y+2) = 1 //Alue merkataa jo käydyksi
    edellinenAlueX = x
    edellinenAlueY = y
endif
forever


Tämä vaatii vähän suunnittelua sillä peli kaatuu jos mennään alueelle joka ei ole taulukossa.
EDIT:

Grandi ehti ensin...

Eräs Vieralija

Re: Tyhmät kysymykset (I/2011)

Post by Eräs Vieralija »

Kiitoksia molemmille! Näillä saan varmaankin jotain aikaan.
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2011)

Post by DJ-Filbe »

Miten lataan pallon 3d-vektoreiksi xyz-koordinaatteihin? Piirrän vektorit Line-komennoilla, ensin lasken viivan kummankin pään näytön X ja Y-koordinaatin.
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset (I/2011)

Post by koodaaja »

Tee tarpeeksi tesselloitu 3d-kuutio ja normalisoi jokainen vektori.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post by Latexi95 »

DJ-Filbe wrote:Miten lataan pallon 3d-vektoreiksi xyz-koordinaatteihin? Piirrän vektorit Line-komennoilla, ensin lasken viivan kummankin pään näytön X ja Y-koordinaatin.
Mihinkä ihmeeseen tarvitset palloa? CB:llä 3d:n tekeminen on tosi kökköä... Riippuen vähän mihin tarvitset, mutta luulen että vaikka Atomimallin pallojen renderöintiä muokkaamalla saisit paljon komeampaa jälkeä...
User avatar
Peltsi
Active Member
Posts: 121
Joined: Thu Sep 30, 2010 12:16 pm

Re: Tyhmät kysymykset (I/2011)

Post by Peltsi »

Morjens!
Kuulkaas, onko yksinkertaista ratkaisua semmoseen pulmaan kun teksti (Text x,x,"..") jää tilekartan alle. Olen liimannut kameran objektiin ja kun objektia liikuttaa niin näyttää tilekartta "liikkuvan" (koska tilekartta pysyy paikallaan ja kamera liikkuu) välillä tekstien päälle. Aattelin että tilekarttaa voisi estää menemästä tekstin päälle :idea: mutta sitä en osaa aatella että miten se tapahtuisi. Sori, saattoi olla hieman sekava selitys...

Kiitoksia etukäteen!
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus »

Peltsi wrote:Morjens!
Kuulkaas, onko yksinkertaista ratkaisua semmoseen pulmaan kun teksti (Text x,x,"..") jää tilekartan alle. Olen liimannut kameran objektiin ja kun objektia liikuttaa niin näyttää tilekartta "liikkuvan" (koska tilekartta pysyy paikallaan ja kamera liikkuu) välillä tekstien päälle. Aattelin että tilekarttaa voisi estää menemästä tekstin päälle :idea: mutta sitä en osaa aatella että miten se tapahtuisi. Sori, saattoi olla hieman sekava selitys...

Kiitoksia etukäteen!
Laita ensin DrawGame, sitten vasta tekstikomennot, sitten vasta DrawScreen. Silloin teksti piirtyy objektien päälle toisin kuin yleensä.
User avatar
Peltsi
Active Member
Posts: 121
Joined: Thu Sep 30, 2010 12:16 pm

Re: Tyhmät kysymykset (I/2011)

Post by Peltsi »

Chaosworm wrote: Laita ensin DrawGame, sitten vasta tekstikomennot, sitten vasta DrawScreen. Silloin teksti piirtyy objektien päälle toisin kuin yleensä.
Ainiin... Aloin ajattelemaan asiaa aivan väärältä kantilta... :oops:

Kiitoksia, sain asian kuntoon! :D
User avatar
DJ-Seacrest
Newcomer
Posts: 2
Joined: Tue Feb 22, 2011 5:48 pm

Re: Tyhmät kysymykset (I/2011)

Post by DJ-Seacrest »

Koodamista aloittelen,ei mitään aiempaa kokemusta.
CB editorin latasin koneelle erään tutun ehdotuksesta.
Mutta miten pääsisin alkuun koodamisessa?
(perusasiat pitää tietty opetella,mutta ihan yleisesti)
♥DJ-Filbe
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by valscion »

DJ-Seacrest wrote:CB editorin latasin koneelle erään tutun ehdotuksesta.
Villi veikkaus, oisko Filbe?
DJ-Seacrest wrote:Mutta miten pääsisin alkuun koodamisessa?
(perusasiat pitää tietty opetella,mutta ihan yleisesti)
Lue läpi tutoriaalit (editorissa F8) ja ymmärrä ne. Leiki eri numeroiden kanssa ja katso mitä tapahtuu. Lue myös manuaalista kohta "Perusteet" (online-help) ajatuksen kanssa. Jos jotkut sanat tuntuvat oudoilta, käänny manuaalin sanakirjan puoleen. Myös manuaalin hakutoiminto auttaa kummasti.

Sitten kun tuntuu, että ehkä osaisit jo itse soveltaa jotain, ala tekemään manuaalissa olevia alkupään tehtäviä. Voit toki myös itse keksiä jonkun projektin idean, mutta aluksi ei kannata ajatella mitään monimutkaista koodattavaa, tai jotain muuta über-hienoa peliä. Kaikki ajallaan.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2011)

Post by DJ-Filbe »

VesQ wrote:
DJ-Seacrest wrote:CB editorin latasin koneelle erään tutun ehdotuksesta.
Villi veikkaus, oisko Filbe?
:o mistä se arvas :roll:
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 7:56 pm
Location: Joku piste pohjoisessa.

Re: Tyhmät kysymykset (I/2011)

Post by naputtelija »

Ohjelma pyörii n. 5 sek ja sitten mav. Mistä johtuu??

Code: Select all

FrameLimit 40 'rajoita nopeutta

Type ammus
    Field obj
End Type

Type ammus2
    Field obj2
End Type

Type mobi
    Field obj
    Field reload
End Type

kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
PlayObject kartta,0,0,1

ukko = LoadObject ("Media\guy.bmp",72)
pati=LoadObject ("Media\bullet.bmp")
ShowObject pati, OFF
vihu=CloneObject (ukko)
ShowObject vihu, OFF

SetupCollision ukko, kartta, 1, 4, 2
For i=1 To 5
    eny.mobi = New(mobi)
    eny\obj=CloneObject(vihu)
    PositionObject eny\obj,i*30-50,250
    TurnObject eny\obj,-90
Next i

Repeat

    'Ukon ohjaus
    If LeftKey() Then TurnObject ukko,5
    If RightKey() Then TurnObject ukko,-5
    If UpKey() Then MoveObject ukko,2
    If DownKey() Then MoveObject ukko,-2
    UpdateGame
    
        'Ammu-systeemi. Vain, jos ase on ladattu
    If KeyDown(cbKeyRControl) And reload=0 Then    
        luoti.AMMUS = New(AMMUS) 'luo uusi ammus
        luoti\obj=CloneObject(pati) 'tee klooni
        'asetetaan pati samaan paikkaan
        CloneObjectPosition luoti\obj,ukko                
        'käännetään pati samaan suuntaan
        CloneObjectOrientation luoti\obj,ukko            
        reload=5 'aseen lataus        
    EndIf
    'päivitä aseen lataaminen
    If reload>0 Then reload=reload-1

    'Päivitä kaikki ammukset
    For luoti.AMMUS = Each AMMUS
        MoveObject luoti\obj,6
        If ObjectX(luoti\obj)<-1000 Or ObjectX(luoti\obj)>1000 Or ObjectY(luoti\obj)<-1000 Or ObjectY(luoti\obj)>1000 Then
            'ammus ylittää rajan -> tuhoa se                
            DeleteObject luoti\obj 'poista objekti
            Delete luoti 'poista luoti kokonaan
        EndIf        
    Next luoti
    
    'viholliskontrolli
    For eny.mobi=Each mobi
        'ampuminen
        If eny\reload=0 Then
            luoti2.AMMUS2 = New(AMMUS2)
            luoti2\obj2=CloneObject(pati)
            SetupCollision luoti2\obj2,kartta, 2,4,1
            CloneObjectPosition luoti2\obj2,eny\obj               
            CloneObjectOrientation luoti2\obj2,eny\obj
            TurnObject luoti2\obj2,Rand(-5,5)'hieman epätarkkuutta...
            eny\reload=Rand(10,20)'ja lisää vivahdetta
        EndIf
        If eny\reload>0 Then eny\reload=eny\reload-1
        For luoti2.AMMUS2 = Each AMMUS2
            MoveObject luoti2\obj2,2
            If ObjectX(luoti2\obj2)<-1000 Or ObjectX(luoti2\obj2)>1000 Or ObjectY(luoti2\obj2)<-1000 Or ObjectY(luoti2\obj2)>1000 Then               
                DeleteObject luoti2\obj2
                Delete luoti2
            EndIf
            'kartta-luoti collision
            If CountCollisions (luoti2\obj2)<>0 Then
                DeleteObject luoti2\obj2
                Delete luoti2
            EndIf
        Next luoti2
    Next eny
    
    DrawGame

    CloneCameraPosition ukko

    DrawScreen

Forever
EDIT:

The sign of citystrikes development...

<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
TheFish
Developer
Developer
Posts: 477
Joined: Mon Aug 27, 2007 9:28 pm
Location: Joensuu

Re: Tyhmät kysymykset (I/2011)

Post by TheFish »

naputtelija wrote:Ohjelma pyörii n. 5 sek ja sitten mav. Mistä johtuu??

Code: Select all

...
        For luoti2.AMMUS2 = Each AMMUS2
            MoveObject luoti2\obj2,2
            If ObjectX(luoti2\obj2)<-1000 Or ObjectX(luoti2\obj2)>1000 Or ObjectY(luoti2\obj2)<-1000 Or ObjectY(luoti2\obj2)>1000 Then               
                DeleteObject luoti2\obj2
                Delete luoti2
            EndIf
            'kartta-luoti collision
            If CountCollisions (luoti2\obj2)<>0 Then
                DeleteObject luoti2\obj2
                Delete luoti2
            EndIf
        Next luoti2
    Next eny
Poistat luodin kun se ylittää ensimäisessä if:issä olevat rajat, mutta yrität vielä tarkistaa poistetulla objektilla törmäyksiä.
CoolBasic henkilökuntaa
Kehittäjä
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post by Latexi95 »

naputtelija wrote:Ohjelma pyörii n. 5 sek ja sitten mav. Mistä johtuu??

Code: Select all

FrameLimit 40 'rajoita nopeutta

Type ammus
    Field obj
End Type

Type ammus2
    Field obj2
End Type

Type mobi
    Field obj
    Field reload
End Type

kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
PlayObject kartta,0,0,1

ukko = LoadObject ("Media\guy.bmp",72)
pati=LoadObject ("Media\bullet.bmp")
ShowObject pati, OFF
vihu=CloneObject (ukko)
ShowObject vihu, OFF

SetupCollision ukko, kartta, 1, 4, 2
For i=1 To 5
    eny.mobi = New(mobi)
    eny\obj=CloneObject(vihu)
    PositionObject eny\obj,i*30-50,250
    TurnObject eny\obj,-90
Next i

Repeat

    'Ukon ohjaus
    If LeftKey() Then TurnObject ukko,5
    If RightKey() Then TurnObject ukko,-5
    If UpKey() Then MoveObject ukko,2
    If DownKey() Then MoveObject ukko,-2
    UpdateGame
    
        'Ammu-systeemi. Vain, jos ase on ladattu
    If KeyDown(cbKeyRControl) And reload=0 Then    
        luoti.AMMUS = New(AMMUS) 'luo uusi ammus
        luoti\obj=CloneObject(pati) 'tee klooni
        'asetetaan pati samaan paikkaan
        CloneObjectPosition luoti\obj,ukko                
        'käännetään pati samaan suuntaan
        CloneObjectOrientation luoti\obj,ukko            
        reload=5 'aseen lataus        
    EndIf
    'päivitä aseen lataaminen
    If reload>0 Then reload=reload-1

    'Päivitä kaikki ammukset
    For luoti.AMMUS = Each AMMUS
        MoveObject luoti\obj,6
        If ObjectX(luoti\obj)<-1000 Or ObjectX(luoti\obj)>1000 Or ObjectY(luoti\obj)<-1000 Or ObjectY(luoti\obj)>1000 Then
            'ammus ylittää rajan -> tuhoa se                
            DeleteObject luoti\obj 'poista objekti
            Delete luoti 'poista luoti kokonaan
        EndIf        
    Next luoti
    
    'viholliskontrolli
    For eny.mobi=Each mobi
        'ampuminen
        If eny\reload=0 Then
            luoti2.AMMUS2 = New(AMMUS2)
            luoti2\obj2=CloneObject(pati)
            SetupCollision luoti2\obj2,kartta, 2,4,1
            CloneObjectPosition luoti2\obj2,eny\obj               
            CloneObjectOrientation luoti2\obj2,eny\obj
            TurnObject luoti2\obj2,Rand(-5,5)'hieman epätarkkuutta...
            eny\reload=Rand(10,20)'ja lisää vivahdetta
        EndIf
        If eny\reload>0 Then eny\reload=eny\reload-1
        For luoti2.AMMUS2 = Each AMMUS2
            MoveObject luoti2\obj2,2
            If ObjectX(luoti2\obj2)<-1000 Or ObjectX(luoti2\obj2)>1000 Or ObjectY(luoti2\obj2)<-1000 Or ObjectY(luoti2\obj2)>1000 Then               
                DeleteObject luoti2\obj2
                Delete luoti2
            EndIf
            'kartta-luoti collision
            If CountCollisions (luoti2\obj2)<>0 Then
                DeleteObject luoti2\obj2
                Delete luoti2
            EndIf
        Next luoti2
    Next eny
    
    DrawGame

    CloneCameraPosition ukko

    DrawScreen

Forever
EDIT:

The sign of citystrikes development...

Juu... Vika on tavanomaiseen tapaan ammusten poistossa.
Koodissasi tulee mav kun ammus osuu seinään samalla päivitys kerralla kuin menee liian kauas pelaajasta, joten luotia yritetään poistaa kahteen kertaan. Vika korjautuu poistamalla rivin 83 endif:n ja vaihtamalla rivin 85 if:n elseif:ksim, silloin toinen tarkistus tehdään vain, jos luotia ei ole poistettu ekassa tarkistuksessa.
User avatar
Bajamaja
Newcomer
Posts: 23
Joined: Thu Feb 17, 2011 7:02 pm

Re: Tyhmät kysymykset (I/2011)

Post by Bajamaja »

Aloittelen vasta CoolBasicin käyttöä ja on tullut pieni pulma vastaan... En ole onnistunut saamaan kloonattuja objekteja osumaan yhtään mihinkään monennäköisistä yrityksistä huolimatta. :? Osaisiko mahdollisesti joku tietäväinen auttaa? Kiitos jo etukäteen.
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by valscion »

Bajamaja wrote:Aloittelen vasta CoolBasicin käyttöä ja on tullut pieni pulma vastaan... En ole onnistunut saamaan kloonattuja objekteja osumaan yhtään mihinkään monennäköisistä yrityksistä huolimatta. :? Osaisiko mahdollisesti joku tietäväinen auttaa? Kiitos jo etukäteen.
Aseta SetupCollisionilla sille kloonatulle objektille törmäys ja aseta törmättävälle objektille törmäys kloonatulle objektille. Tarkemmin en osaa neuvoa, ellet laita koodiasi mukaan.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
User avatar
Bajamaja
Newcomer
Posts: 23
Joined: Thu Feb 17, 2011 7:02 pm

Re: Tyhmät kysymykset (I/2011)

Post by Bajamaja »

VesQ wrote:
Bajamaja wrote:Aloittelen vasta CoolBasicin käyttöä ja on tullut pieni pulma vastaan... En ole onnistunut saamaan kloonattuja objekteja osumaan yhtään mihinkään monennäköisistä yrityksistä huolimatta. :? Osaisiko mahdollisesti joku tietäväinen auttaa? Kiitos jo etukäteen.
Aseta SetupCollisionilla sille kloonatulle objektille törmäys ja aseta törmättävälle objektille törmäys kloonatulle objektille. Tarkemmin en osaa neuvoa, ellet laita koodiasi mukaan.
Kiitos. Nyt tuntuu toimivan... Aiemmin olen jotain samantapaista kokeillut mutta ruutuun on pompannut MAV heti kun objectit ovat koskettaneet toisiaan..
Locked