Tyhmät kysymykset (I/2012)

Voit pyytää apua ohjelmointiongelmiin täältä.
User avatar
BIG_BOMM
Newcomer
Posts: 7
Joined: Fri Dec 30, 2011 1:08 pm

Re: Tyhmät kysymykset (I/2011)

Post by BIG_BOMM » Wed Jan 04, 2012 11:12 pm

Ja vielä yks ongelma... on nyt ollu niin miljoona ongelmaa noitten vihujen luomisen kanssa (typeillä), että voisko joku kiltti ihminen postata toimivan typemallin vihuista niin että näkisin mikä on mun koodissa mennyt vikaan. muuten oon saanut jo kaikki melkein ookoo toimimaan, muuta elkkujen vähennys ei toimi... pitääkö muuttuja esimerkiksi lisätä Fieldinä typeen? :oops:



tämmösillä taikasanoilla oon yrittäny...

Code: Select all

Type ykkösvihu
    Field obj
    Field EV1 As Integer
    End Type

C=Rand(-150,150)
D=Rand(-150,150)


If ST=0 Then 
PV.ykkösvihu = New(ykkösvihu)
    PV\obj = CloneObject(vihu1)
        PositionObject PV\obj,C,D
        PV\EV1=10
        ST=2000
EndIf
   If ST>0 Then ST=ST-1           
     For PV.ykkösvihu = Each ykkösvihu
            PointObject PV\obj,player
            MoveObject PV\obj,1,0
                If ObjectsOverlap(laser\obj,PV\obj,3) Then
                    PV\EV1=PV\EV1-1
                           If PV\EV1=0 Then 
                            DeleteObject(PV\obj)
                            Delete PV
                EndIf            
       EndIf
     Next PV
ja kiitokset niille jotka jo aikasemmin tätä vyyhtiä selvensi...
Mans got to do what mans got to do...

FACEPLANT!

jaahas
Advanced Member
Posts: 307
Joined: Sat Feb 06, 2010 12:36 am
Location: Tornio

Re: Tyhmät kysymykset (I/2011)

Post by jaahas » Thu Jan 05, 2012 2:30 am

BIG_BOMM wrote:...

Code: Select all

...
   If ST>0 Then ST=ST-1           
     For PV.ykkösvihu = Each ykkösvihu
            PointObject PV\obj,player
            MoveObject PV\obj,1,0
                If ObjectsOverlap(laser\obj,PV\obj,3) Then
                    PV\EV1=PV\EV1-1
                           If PV\EV1=0 Then 
                            DeleteObject(PV\obj)
                            Delete PV
                EndIf            
       EndIf
     Next PV
...
Jos ymmärsin oikein, EV1 on elämät. Lisää "For PV.ykkösvihu" silmukkaan laser typen läpikäynti.

User avatar
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 4:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb » Thu Jan 05, 2012 10:57 am

Voiko joku kertoa, miksi tässä "pelissä" laatikko jumiutuu vasempaan alakulmaan eikä pääse pois
Ellei sitten se johdu siitä että mä teen linuxilla :?
Koodi:

Code: Select all

//We limit FPS in here
FrameLimit 40
//Set screen widht and height and bss and window's type
SCREEN 800,600,0,1

//Set color into red
Color 255,0,0

//X-coordinate,Y-coordinate,and Widht,Height
x=0
y=0
Const WH=20
Const SPEED = 20

Repeat
	//Checks if you press Up,Down,Left or Right
	If LeftKey() Then x = x - SPEED
	If RightKey() Then x = x + SPEED
	If UpKey() Then y = y - SPEED
	If DownKey() Then y = y + SPEED
	//Go to sub-program where we check collission
	Gosub checkCollission
	//Draw box
	Box x,y,WH,WH
	//U know what this make ;D
	DrawScreen
Forever

//Actual collission-checking
checkCollission:

	If(x < 0) Then x = 0
	If(x+WH > 400) Then x = 800-WH
	If(y<0) Then y = 0
	If(y+WH > 300) Then y = 600-WH
//Now we leave this Logic-part and we go back to 
//main program
Return  
Ja tää on mun oma kirjoittama ohjelma, että en oo kopioinut mistään :D
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.

Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus » Thu Jan 05, 2012 12:03 pm

skorpioni-cb wrote:

Code: Select all

	If(x < 0) Then x = 0
	If(x+WH > 400) Then x = 800-WH 'WHhan on 20, joten jos x sattuu jossain vaiheessa olemaan yli 380, sen jälkeen se on koko loppu pelin ajan 780 koska myös 780 on enemmän kuin 380
	If(y<0) Then y = 0
	If(y+WH > 300) Then y = 600-WH 'ja sama tässä
Olen koulussa, joten nyt en pääse testaamaan ja 100% varmuudella en voi sanoa, mutta väittäisin melkeinpä, että tuossa on vika.

User avatar
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 4:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb » Thu Jan 05, 2012 1:26 pm

Chaosworm wrote:
skorpioni-cb wrote:

Code: Select all

	If(x < 0) Then x = 0
	If(x+WH > 400) Then x = 800-WH 'WHhan on 20, joten jos x sattuu jossain vaiheessa olemaan yli 380, sen jälkeen se on koko loppu pelin ajan 780 koska myös 780 on enemmän kuin 380
	If(y<0) Then y = 0
	If(y+WH > 300) Then y = 600-WH 'ja sama tässä
Olen koulussa, joten nyt en pääse testaamaan ja 100% varmuudella en voi sanoa, mutta väittäisin melkeinpä, että tuossa on vika.
Jos tuo toimii niin sitten mä tajuun, kun en muokannut kaikkee
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.

User avatar
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 8:56 pm
Location: Joku piste pohjoisessa.

Re: Tyhmät kysymykset (I/2011)

Post by naputtelija » Thu Jan 05, 2012 5:48 pm

Muutin fullscreeniksi ja korjasin mittavirheet loppukoodissa. Korjautui.

Code: Select all

    //We limit FPS in here
    FrameLimit 40
    //Set screen widht and height and bss and window's type
    SCREEN 800,600,0,0

    //Set color into red
    Color 255,0,0

    //X-coordinate,Y-coordinate,and Widht,Height
    x=0
    y=0
    Const WH=20
    Const SPEED = 20

    Repeat
       //Checks if you press Up,Down,Left or Right
       If LeftKey() Then x = x - SPEED
       If RightKey() Then x = x + SPEED
       If UpKey() Then y = y - SPEED
       If DownKey() Then y = y + SPEED
       //Go to sub-program where we check collission
       Gosub checkCollission
       //Draw box
       Box x,y,WH,WH
       //U know what this make ;D
       DrawScreen
    Forever

    //Actual collission-checking
    checkCollission:

       If(x < 0) Then x = 0
       If(x+WH > 800) Then x = 800-WH
       If(y<0) Then y = 0
       If(y+WH > 600) Then y = 600-WH
    //Now we leave this Logic-part and we go back to
    //main program
    Return  
<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...

User avatar
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 4:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb » Thu Jan 05, 2012 6:09 pm

naputtelija wrote:Muutin fullscreeniksi ja korjasin mittavirheet loppukoodissa. Korjautui.

Code: Select all

    //We limit FPS in here
    FrameLimit 40
    //Set screen widht and height and bss and window's type
    SCREEN 800,600,0,0

    //Set color into red
    Color 255,0,0

    //X-coordinate,Y-coordinate,and Widht,Height
    x=0
    y=0
    Const WH=20
    Const SPEED = 20

    Repeat
       //Checks if you press Up,Down,Left or Right
       If LeftKey() Then x = x - SPEED
       If RightKey() Then x = x + SPEED
       If UpKey() Then y = y - SPEED
       If DownKey() Then y = y + SPEED
       //Go to sub-program where we check collission
       Gosub checkCollission
       //Draw box
       Box x,y,WH,WH
       //U know what this make ;D
       DrawScreen
    Forever

    //Actual collission-checking
    checkCollission:

       If(x < 0) Then x = 0
       If(x+WH > 800) Then x = 800-WH
       If(y<0) Then y = 0
       If(y+WH > 600) Then y = 600-WH
    //Now we leave this Logic-part and we go back to
    //main program
    Return  
Sorry,Chaosworm ehti ekaksi XD
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.

User avatar
BIG_BOMM
Newcomer
Posts: 7
Joined: Fri Dec 30, 2011 1:08 pm

Re: Tyhmät kysymykset (I/2011)

Post by BIG_BOMM » Thu Jan 05, 2012 9:21 pm

kiitos jaahas!
Mans got to do what mans got to do...

FACEPLANT!

CoolMan

Re: Tyhmät kysymykset (I/2011)

Post by CoolMan » Sun Jan 15, 2012 2:06 pm

Kuinka saisin tehtyä silleen että kun auto osuu esim. laatikkoo niin kuuluu ääni, laatikko häviää ja siirtyy eri paikkaan kentässä?
Kiitos!

Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus » Sun Jan 15, 2012 2:20 pm

CoolMan wrote:Kuinka saisin tehtyä silleen että kun auto osuu esim. laatikkoo niin kuuluu ääni, laatikko häviää ja siirtyy eri paikkaan kentässä?
Kiitos!
Koodaamalla. Hyväksi voi käyttää esimerkiksi komentoa PositionObject ja funktioita PlaySound ja ObjectsOverlap.

matsir
Newcomer
Posts: 1
Joined: Thu Jan 12, 2012 4:55 pm

Objektin häviäminen, kun ammus osuu

Post by matsir » Sun Jan 15, 2012 3:13 pm

Ongelmani on objektin poisto, kun siihen osuu toinen objekti. Esimerkki: Kun ukkeli ampuu toiseen ukkeliin luodin, pitäisi osuman saaneen ukkelin hävitä. Eli, voisiko joku tehdä mahdollisimman yksinkertaisen esimerkin kyseisestä asiasta, kun en millään ole keksinyt ratkaisua tähän asiaan. Kiitos.

User avatar
Peltsi
Active Member
Posts: 121
Joined: Thu Sep 30, 2010 12:16 pm

Re: Objektin häviäminen, kun ammus osuu

Post by Peltsi » Sun Jan 15, 2012 5:45 pm

matsir wrote:Ongelmani on objektin poisto, kun siihen osuu toinen objekti. Esimerkki: Kun ukkeli ampuu toiseen ukkeliin luodin, pitäisi osuman saaneen ukkelin hävitä. Eli, voisiko joku tehdä mahdollisimman yksinkertaisen esimerkin kyseisestä asiasta, kun en millään ole keksinyt ratkaisua tähän asiaan. Kiitos.
Katso manuaalista "DeleteObject" ja "ObjectsOverlap".

User avatar
Latexi95
Guru
Posts: 1164
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Objektin häviäminen, kun ammus osuu

Post by Latexi95 » Sun Jan 15, 2012 6:53 pm

matsir wrote:Ongelmani on objektin poisto, kun siihen osuu toinen objekti. Esimerkki: Kun ukkeli ampuu toiseen ukkeliin luodin, pitäisi osuman saaneen ukkelin hävitä. Eli, voisiko joku tehdä mahdollisimman yksinkertaisen esimerkin kyseisestä asiasta, kun en millään ole keksinyt ratkaisua tähän asiaan. Kiitos.
Tarkista ObjectsOverLapin avulla ovatko luoti ja ukkeli päällekäin. DeleteObjectilla saat poistettua luodin ja ukkelin. Luodit varmaankin ovat toteutettu Typejen avulla? Silloin muista poistaa ensiksi luodin objecti ja sen jälkeen Tyypin jäsen. Muista sitten, että kun olet poistanut ukkelin DeleteObjectilla et voi käyttää sitä enää missään. Muista tehdä jokin tarkistus, että ukkeli on olemassa ennen kuin esim. liikutat sitä. Muuten seurauksena on MAV.

Aral

Re: Tyhmät kysymykset (I/2011)

Post by Aral » Mon Jan 16, 2012 8:47 pm

Ongelmani on se että en saa tehtyä millään ajastinta jossa on 1min aikaa ja kun aika loppuu niin peli loppuu.
Onko tälläinen vaikea tehdä?

Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus » Mon Jan 16, 2012 8:51 pm

Aral wrote:Ongelmani on se että en saa tehtyä millään ajastinta jossa on 1min aikaa ja kun aika loppuu niin peli loppuu.
Onko tälläinen vaikea tehdä?
Ei ole vaikea tehdä.

Code: Select all

SCREEN 800, 600
aika = Timer()
Repeat
    Text 0, 0, "Tämä teksti näkyy minuutin ajan ja sitten ohjelma sulkeutuu. Aikaa kulunut: "+Int(Timer()-aika)+" millisekuntia."
    DrawScreen
Until Timer()-aika > 60000
Vaihtoehtoinen toteutustapa, joka on FPS-riippuvaisissa peleissä luultavasti parempi (tosin yleensä pelit kannattaisi periaatteessa tehdä FPS-riippumattomiksi):

Code: Select all

SCREEN 800, 600
FrameLimit 60
Repeat
    aika+1
    Text 0, 0, "Tämä teksti näkyy minuutin ajan ja sitten ohjelma sulkeutuu. Frameja kulunut: "+aika
    DrawScreen
Until aika > 3600

Aral

Re: Tyhmät kysymykset (I/2011)

Post by Aral » Mon Jan 16, 2012 9:04 pm

Kyllähän tuo noinkin käy, mutta tarkoitin aluksi sellaista joka lähtee 60 ja etenee siitä 59, 58, 57...

Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus » Mon Jan 16, 2012 9:12 pm

Aral wrote:Kyllähän tuo noinkin käy, mutta tarkoitin aluksi sellaista joka lähtee 60 ja etenee siitä 59, 58, 57...
Katso esimerkkiä noista laittamistani koodeista ja hyväksikäytä miinusmerkkiä jossain välissä.

Character
Active Member
Posts: 113
Joined: Thu Nov 27, 2008 3:16 pm

Re: Tyhmät kysymykset (I/2011)

Post by Character » Tue Jan 17, 2012 6:55 pm

Miksiköhän pukkaa aina mavia kun yritän jotain kuvaa ladata? :( Ennen on toiminut hyvin.

Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus » Tue Jan 17, 2012 8:09 pm

Character wrote:Miksiköhän pukkaa aina mavia kun yritän jotain kuvaa ladata? :( Ennen on toiminut hyvin.
Mitä sellaista olet tehnyt, joka olisi mahdollisesti voinut aiheuttaa virheen?

Character
Active Member
Posts: 113
Joined: Thu Nov 27, 2008 3:16 pm

Re: Tyhmät kysymykset (I/2011)

Post by Character » Tue Jan 17, 2012 8:41 pm

En tiedä/muista. Tämä on siis kaikissa projekteissani. Ennen toimi mutta nyt ei

Locked