Page 20 of 43

Re: Tyhmät kysymykset (II/2009)

Posted: Sat Aug 01, 2009 7:21 pm
by matti3
Tein sen datoilla, mutta ei toimi koodit joita käytän...

Code: Select all



maali=MakeObject()
maali_data=99

For y_5=1 To MapWidth()
For x_5=1 To MapWidth()
    If GetMap2(3,x_5,y_5)>19 Then maali_data+1
    'way=maxdata
Next x_5
Next y_5

If ObjectsOverlap(ukko,maali) Then lap+1

Ja osaan datakerroksien lisäyksen jo, sekä kaikki muut kerrokset. :)

Re: Tyhmät kysymykset (II/2009)

Posted: Sat Aug 01, 2009 8:10 pm
by phons
Johtuisikohan se siitä, että otat kaksi kertaa kartan leveyden, siis x, että y kohdassa vaikka y kohassa pitäisi ottaa MapHeight(), joo tuosta näkeekin että otit tuon CB:n esimerkistä, koska se virhe oli siellä.

Re: Tyhmät kysymykset (II/2009)

Posted: Sun Aug 02, 2009 12:40 am
by matti3
Ei johtunut siitä.

Re: Tyhmät kysymykset (II/2009)

Posted: Sun Aug 02, 2009 11:55 am
by phons
Minulla on tällainen todella typerä ongelma, tiedän... Jostain kumman syystä se pääsi kahteen If:iin vaikka ne ovat elseillä... Pääongelma, nyt ei juuri ollut se, anteeksi tuli pieni moka... siis se on se pääongelma XD, siis yritin, tehdä sellaista että se piirtää neliöitä, vain neljään suuntaan, tämä on niinsanotusti pohjaa tienrakentamiseen...

Code: Select all

Repeat
    
    If MouseHit(1) And build_r = False Then
        build_r = True
        start_x_ = MouseWX()
        start_y_ = MouseWY()
        ClearMouse
        
    EndIf
    
    DrawGame
    
    If build_r = True Then
        
        road_angle = GetAngle(start_x_,start_y_,MouseWX(),MouseWY())
        road_angle = WrapAngle(road_angle)
        
        DrawToWorld ON
            
            If road_angle < 45 Or road_angle > 315 Then
                
                For x_ = start_x_ To MouseWX() Step 32
                    
                    Color cbWhite
                    Box x_,start_y_,32,32,0
                    
                Next x_
                
            ElseIf road_angle =< 315 Or road_angle > 225 Then
                
                For y_ = start_y_ To MouseWY() Step -32
                    
                    Color cbWhite
                    Box start_x_,y_,32,32,0
                    
                Next y_
                
            ElseIf road_angle =< 225 Or road_angle > 135 Then
                
                For x_ = start_x_ To MouseWX() Step -32
                    
                    Color cbWhite
                    Box x_,start_y_,32,32,0
                    
                Next x_
                
            ElseIf road_angle =< 135 Or road_angle > 45 Then
                
                For y_ = start_y_ To MouseWY() Step 32
                    
                    Color cbWhite
                    Box start_x_,y_,32,32,0
                    
                Next y_
                
            EndIf
            
        DrawToWorld OFF
         
    EndIf
    
    Text 0,0,road_angle
    
    DrawScreen
Until EscapeKey()
Edit: Siis, se, että nuo neliöt menevät moneen suuntaan, eli ylös\alas että sivuille... vaikka kaiken järjen mukaan niin ei pitäisi käydä kun käyttää ElseIf:iä...

Re: Tyhmät kysymykset (II/2009)

Posted: Sun Aug 02, 2009 12:07 pm
by TheFish
phons wrote:Minulla on tällainen todella typerä ongelma, tiedän... Jostain kumman syystä se pääsi kahteen If:iin vaikka ne ovat elseillä... Pääongelma, nyt ei juuri ollut se, mutta siis yritin, tehdä sellaista että se piirtää neliöitä, vain neljään suuntaan, tämä on niinsanotusti pohjaa tienrakentamiseen...

Code: Select all

koodia
Jospa vaikka aloitat kertomalla mikä on ongelmana (siis hieman enemmän suomen kieliopin mukaisesti).

Re: Tyhmät kysymykset (II/2009)

Posted: Mon Aug 03, 2009 1:19 pm
by skorpioni-cb
Miten tehdään sellainen juttu että kun valot on päällä niin objecti varastoi valoa ja sitten kun valo olisi poissa niin objceti alkaisi loistaa?
EDIT:

Sain idean eräästä matkamuistosta.

EDIT:

off:
100 viestiä


Re: Tyhmät kysymykset (II/2009)

Posted: Mon Aug 03, 2009 4:30 pm
by Feuer

Code: Select all

While Soundplaying(biisi)=TRUE 'biisi on loadsoundilla määritelty .mp3
text x,y,isokasatietoja
wend
Tuottaa MAVin, warum?

Re: Tyhmät kysymykset (II/2009)

Posted: Mon Aug 03, 2009 4:38 pm
by Character
Et voi käyttää käyttää SoundPlaying -komentoa LoadSoundin kanssa.
Lataa se näin: biisi = PlaySound(...blaa...)

Re: Tyhmät kysymykset (II/2009)

Posted: Mon Aug 03, 2009 5:29 pm
by matti3
Miksei muuta kierrosten määrää?

Code: Select all


maali=MakeObject()
maali_data=99

For y_5=1 To MapHeigth()
For x_5=1 To MapWidth()
    If GetMap2(3,x_5,y_5)>19 Then maali_data+1
    'way=maxdata
Next x_5
Next y_5

If ObjectsOverlap(ukko,maali) Then lap+1

Tuosta koodista ei tapahdu oikeastaan mitään. :O

Re: Tyhmät kysymykset (II/2009)

Posted: Mon Aug 03, 2009 5:41 pm
by Substance
matti3 wrote:Miksei muuta kierrosten määrää? Tuosta koodista ei tapahdu oikeastaan mitään. :O
Koska maali objektilla ei ole kuvaa, lataa se objektina tai maalaa se.

Re: Tyhmät kysymykset (II/2009)

Posted: Mon Aug 03, 2009 5:41 pm
by Pate5
skorpioni-cb wrote:Miten tehdään sellainen juttu että kun valot on päällä niin objecti varastoi valoa ja sitten kun valo olisi poissa niin objceti alkaisi loistaa?
EDIT:

Sain idean eräästä matkamuistosta.

EDIT:

off:
100 viestiä

No aluksi varmaan tarvitaan animaatio sille objektille. Kun valot ovat päällä (esim. valot_paalla=1) niin objektin varastoimaa valoa kuvaavaa muuttujaa suurennetaan (esim. valoa_varastossa + 1), ja näytetään valaistun objektin kuva. Kun valot ovat pois päältä, näytetään hohtavan esineen kuva, ja varastoitua valoa kuvaavaa muuttujaa vähennetään. Kun muuttuja on nollassa, näytetään kuva pimeästä objektista. Animaatioon voi myös laittaa monta eri kirkkautta varastoidun valon määrän mukaan.

Re: Tyhmät kysymykset (II/2009)

Posted: Mon Aug 03, 2009 5:42 pm
by Pate5
LittleGreen wrote:
matti3 wrote:Miksei muuta kierrosten määrää? Tuosta koodista ei tapahdu oikeastaan mitään. :O
Koska maali objektilla ei ole kuvaa, lataa se objektina tai maalaa se.
Kyllä sen tuollakin koodilla pitäisi muuttua, koska objectsoverlap ei ole pikselintarkalla.

Ehkä vika on siinä, että auto ei kosketa maalia?

Re: Tyhmät kysymykset (II/2009)

Posted: Mon Aug 03, 2009 11:26 pm
by matti3
Pitäisi koskettaa ja tuohan on tehty data kerroksella. Radan leveys on 5 ruutua joten siinä on 5 saman arvoista data kerrosta.

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Aug 04, 2009 12:08 am
by TheFish
matti3 wrote:Pitäisi koskettaa ja tuohan on tehty data kerroksella. Radan leveys on 5 ruutua joten siinä on 5 saman arvoista data kerrosta.
Ehkä olen vain liian väsynyt, mutta en kyllä näe mitään järkeä tuossa viestissä.

Maaliin törmääminen on tehty objektilla maali. En tiedä mitä yrität tehdä maali_data-muuttujalla, mutta et käytä sitä mihinkään tuossa koodinpätkässä. Muutenkaan tuo datakerroksen läpikäyminen ei tee mitään muuta kuin muuttaa maali_datan arvoa, eli se ei vaikuta maalin kokoon tai sijaintiin. Maali objektia ei tuossa sijoiteta mihinkään, tai muuteta sen kokoa mitenkään, joten se on (muistaakseni) 1x1 pikselin kokoinen objekti koordinaateissa (0, 0). Mielestäni on siis melko todennäköistä, että auto ei vain osu maaliin.

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Aug 04, 2009 2:01 pm
by matti3
Mutta jos teen maali viivan objectilla niinkuin ylempänä näkyy niin kierros vaihtuu, mutta mitään muuta ei sitten tapahdukkaan. Sijoitus ei vaihdu jne. Sijoitus on koko ajan 0 tai 1 vaikka olisin neljäntenä vasta.

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Aug 04, 2009 2:19 pm
by TheFish
matti3 wrote:Mutta jos teen maali viivan objectilla niinkuin ylempänä näkyy niin kierros vaihtuu, mutta mitään muuta ei sitten tapahdukkaan. Sijoitus ei vaihdu jne. Sijoitus on koko ajan 0 tai 1 vaikka olisin neljäntenä vasta.
Millaisella koodilla yrität vaihtaa sijoitusta? Tuossa ylläolevassa sitä ei ainakaan ole mukana.

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Aug 04, 2009 2:37 pm
by matti3
Tällaisella:

Code: Select all

If Distance2(ukko_oma, maali_viiva) < 50 Then
    If kierros = 2 Then
        lap=lap+1
        kierros=1
    EndIf
Else
kierros=2
EndIf

If Distance2(ukko, maali_viiva) < 50 Then
    If kierros_1 = 2 Then
        lap=lap+1
        kierros_1=1
    EndIf
Else
kierros_1=2
EndIf

If Distance2(ukko_1, maali_viiva) < 50 Then
    If kierros_2 = 2 Then
        lap=lap+1
        kierros_2=1
    EndIf
Else
kierros_2=2
EndIf

If Distance2(ukko_2, maali_viiva) < 50 Then
    If kierros_3 = 2 Then
        lap=lap+1
        kierros_3=1
    EndIf
Else
kierros_3=2
EndIf

If Distance2(ukko_3, maali_viiva) < 50 Then
    If kierros_4 = 2 Then
        lap=lap+1
        kierros_4=1
    EndIf
Else
kierros_4=2
EndIf

If Distance2(ukko_4, maali_viiva) < 50 Then
    If kierros_5 = 2 Then
        lap=lap+1
        kierros_5=1
    EndIf
Else
    kierros_5=2
EndIf
If lap = 17 Or lap > 16 Then

    If Distance2(ukko, maali_viiva) < 50 Then
        If kierros_1 = 2 Then
            sijoitus=sijoitus+1
        EndIf
    EndIf
    If Distance2(ukko_1, maali_viiva) < 50 Then
        If kierros_2 = 2 Then
            sijoitus=sijoitus+1
        EndIf
    EndIf
    If Distance2(ukko_2, maali_viiva) < 50 Then
        If kierros_3 = 2 Then
            sijoitus=sijoitus+1
        EndIf
    EndIf
    If Distance2(ukko_3, maali_viiva) < 50 Then
        If kierros_4 = 2 Then
            sijoitus=sijoitus+1
        EndIf
    EndIf
    If Distance2(ukko_4, maali_viiva) < 50 Then
        If kierros_5 = 2 Then
            sijoitus=sijoitus+1
        EndIf
    EndIf
    If Distance2(ukko, maali_viiva) < 50 Then
        If kierros_6 = 2 Then
            sijoitus=sijoitus+1
        EndIf
    EndIf
    If Distance2(ukko_oma, maali_viiva) < 50 Then
        If kierros = 2 Then
            sijoitus=sijoitus+1
            oma_sijoitus=sijoitus
        EndIf
    EndIf
    If sijoitus = 7 Then
        lap=4
    EndIf
EndIf

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Aug 04, 2009 3:21 pm
by TheFish
matti3 wrote:Tällaisella:

Code: Select all

...koodia...
Onko tuo siis samassa projektissa tuon aikaisemman koodin kanssa? Jos on, niin miksi sinulla on objektit maali_viiva ja maali? Kuitekin, tarvitsisit tuohon oman lap-muuttujan (mieluummin taulukolla) jokaiselle ukolle, koska eihän siitä tule kierrosta kaikille jos yksi ylittää maaliviivan.

Tuon saman muuten saisi taulukoilla tehtynä tiivistettyä tähän: (pidin kaiken logiikan samana)

Code: Select all

For i = 0 To 5
    If Distance2(ukot(i), maali_viiva) < 50 Then
        If kierrokset(i) = 2 Then
            If lap < 17 Then 
                lap = lap + 1
                kierrokset(i) = 1
            Else
                sijoitus = sijoitus + 1
                If i = 0 Then
                    oma_sijoitus = sijoitus
                EndIf 
            EndIf 
        EndIf 
    Else
        kierrokset(i) = 2
    EndIf 
Next i 

If lap > 16 Then
    If sijoitus = 7 Then
        lap=4
    EndIf
EndIf  
ukko_oma -> ukot(0)
...
ukko_4 -> ukot(5)
-------------------------
kierros -> kierrokset(0)
...
kierros_5 -> kierrokset(5)

Vielä sama tuon laps()-taulukon kanssa

Code: Select all

For i = 0 To 5
    If Distance2(ukot(i), maali_viiva) < 50 Then
        If kierrokset(i) = 2 Then
            If lap(i) < 17 Then 
                laps(i) = laps(i) + 1
                kierrokset(i) = 1
            Else
                sijoitus = sijoitus + 1
                If i = 0 Then
                    oma_sijoitus = sijoitus
                EndIf 
            EndIf 
        EndIf 
    Else
        kierrokset(i) = 2
    EndIf 
Next i 
Jätin lopusta tuon "lap = 4" if:in pois, koska en ymmärtänyt sen tarkoitusta/logiikkaa.

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Aug 04, 2009 11:24 pm
by MaGetzUb
Character wrote:Et voi käyttää käyttää SoundPlaying -komentoa LoadSoundin kanssa.
Lataa se näin: biisi = PlaySound(...blaa...)
Voipa käyttää SoundPlayingiä ladatuilla äänillä, tähän tyyliin:

Code: Select all

Sound =LoadSound("Media\sheep.Wav")
kulma = 90 
Repeat 
If SoundPlaying(Pum) = False Then Pum = PlaySound(Sound) 'Falsen tilalle käy myös 0 tai OFF
//Näitä alempia rivejä ei tarvita, vain erikoistehosteen vuoksi
SetSound Pum,100,Sin(Kulma)*100
Kulma = Kulma + 1

DrawScreen
Forever 

Re: Tyhmät kysymykset (II/2009)

Posted: Wed Aug 05, 2009 10:10 am
by matti3[matti3]
Ongelma on siinä, etten muista miten taulukko tehtiin enkä manuaalistakaan löytänyt.