Page 59 of 154

Re: Tyhmät kysymykset

Posted: Fri Aug 08, 2008 9:52 pm
by valscion
Jonhu wrote:
OonSuomesta wrote:
Jonhu wrote:Edelleen tässä pelissä ongelmana, että en saa poistettua objecteja, ja aloitettua pelia alusta. Elämät vaikeuttavat asiaa huomattavasti =/
Ainakin ongelmana on huono sisennys. Aloitat pääloopin alusta For...Each silmukan sisällä ja hypit sen For...Each silmukan välistä pois, se aiheuttaa kaatumisen. Aseta mielummin johonkin muuttujaan tieto että ollaan kuoltu ja tee jotain For...Each silmukan ULKOPUOLELLA ei sen sisällä!
Joku korjas mun vanhan bugin pistämällä mun function ton sisälle.. no yritän siistiä tota vähäsen katotaa, jos sitten toimisi..

EDIT: Miten pystyn käyttämään tota functiota, jos en saa pistää sitä for lauseen sisään???

If ObjectsOverlap(ukko,maara\obj,2) Then
Ei se tarkota sitä ettet sais sitä käyttää siinä sisällä. Laitat vain tuon If-lausekkeen sisällä jonkin tietyn muuttujan arvoksi 1 (tai mitä vaan ikinä haluatkin) ja tarkistat silmukan ulkopuolella onko muuttujan arvo 1 (tai mikä se nyt onkaan).

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 11:04 am
by autoilija
Onko cb:llä mahdollista tehdä 80x80 kokonen kartta johon tulis aina viiva sille kohdalle mistä on liikuttu "oikeassa pelissä". Elikkä siis pikkukartta mihin tulee viivaa liikkumisen mukaan? Jos on niin miten?

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 12:03 pm
by autoilija
Joo ton sain jo ratkaistua. Nyt tarvisin apuu tälläseen: Miten saisin ukon hyppimään joka toinen sekuntti ilmaan ja laskeutumaan "painovoiman" avulla takaisin alas.

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 12:09 pm
by Koodiapina
Käytät vaikka timeriä. Teet muuttujan, jossa on vanha aika. Jos nykyinen aika (Timer) on vanha aika + 2000 (2 sekunttia), niin laitat ukon hyppäämään ja laitat vanhaan aikaan nykyisen ajan. Muista myös tarkistuttaa, että tyyppi on maassa hyppy hetkellä. Esimerkki painovoimasta taas löytyy learning centeristä esimerkistä 19.

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 12:23 pm
by Guest
autoilija wrote:Onko cb:llä mahdollista tehdä 80x80 kokonen kartta johon tulis aina viiva sille kohdalle mistä on liikuttu "oikeassa pelissä". Elikkä siis pikkukartta mihin tulee viivaa liikkumisen mukaan? Jos on niin miten?
En oo saanu ratkastua kun joku hyypiö kokoajan laittaa tohon että ratkastu :evil: Vaikka lukis etä ratkastu niin auttakaa!

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 1:00 pm
by valscion
Vieras wrote:En oo saanu ratkastua kun joku hyypiö kokoajan laittaa tohon että ratkastu :evil: Vaikka lukis etä ratkastu niin auttakaa!
Rekisteröidy ettei tuollaista tapahdu.

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 2:57 pm
by Olwi
autoilija wrote:Onko cb:llä mahdollista tehdä 80x80 kokonen kartta johon tulis aina viiva sille kohdalle mistä on liikuttu "oikeassa pelissä". Elikkä siis pikkukartta mihin tulee viivaa liikkumisen mukaan? Jos on niin miten?
Ei ole tässä CB:tä nytten saatavilla,mutta tällä tavalla sen toteuttaisin:
Otetaan hahmon koordinaatit talteen tietyn ajan välein,ja merkitään se pikkukarttaan pisteellä. Sitten vain yhdistellään pisteet viivoilla sitä mukaa kun pisteitä tulee(jos kartta on reaaliaikainen,eli päivittyy jatkuvasti samalla kun ukko liikkuu).

Pitääpä alkaa toteuttaa tuollaista heti kun pääsen omalle koneelle.

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 5:36 pm
by guest_jonez
Periaatteessa sun tarvii tietää maailman korkeus ja leveys, maailmaa vastaavan minimapin korkeus ja leveys sekä minimappiin piirrettävän esineen koordinaatit. Tästä saadaan pieni matemaattinen yhtälö, jolla voidaan laskea esineen koordinaatit minimapilla:

x = esineX / MAAILMAN_LEVEYS * MINIMAPIN_LEVEYS
y = esineY / MAAILMAN_KORKEUS * MINIMAPIN_KORKEUS

seuraavassa koodissa kyseinen yhtälö lasketaan riveillä 24 ja 25.

Code: Select all

Const MM_WIDTH = 200
Const MM_HEIGHT = 100

Const SCR_WIDTH = 800
Const SCR_HEIGHT = 600

Const SYNC = 40

SCREEN SCR_WIDTH, SCR_HEIGHT
FrameLimit SYNC

minimap = MakeImage( MM_WIDTH, MM_HEIGHT )

ukko = LoadObject( "media\cow.bmp" )

ShowMouse OFF
Repeat
    
    PositionObject ukko, MouseWX(), MouseWY()

    DrawToImage minimap
    //lasketaan lehmän koordinaatit minimapissa
    drawX# = Float( MouseWX() + SCR_WIDTH / 2 ) / SCR_WIDTH * MM_WIDTH
    drawY# = Float( -MouseWY() + SCR_HEIGHT / 2 ) / SCR_HEIGHT * MM_HEIGHT    

    //piirretään viiva joka viidesosasekunti.
    aika = aika + 1
    If aika > SYNC / 5 Then
        aika = 0
        
        If oldX# <> 0 Or oldY# <> 0 Then
            Line oldX, oldY, drawX, drawY
        EndIf
        
        oldX = drawX
        oldY = drawY
    EndIf
    DrawToScreen
    
    //piirretään minimappi kokonaisuudessaan
    Box 0, 0, MM_WIDTH, MM_HEIGHT, 0
    Circle drawX, drawY, 2
    DrawImage minimap, 0, 0

    DrawScreen
Forever

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 5:50 pm
by Kelli
Saakos tossa cb:n editorissa mitenkään väliaikaisesti pois syntaxivärjäystä? Menee nimittäin hermo kun täytyis tekstiä tulostella, missä on cb komentoja ja ne sit tulee aina isolla alkukirjaimella. Miksköhän ihmeessä se ylipäänsä tarkistaa oikeinkirjotuksen heittomerkkien sisältä? :x

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 6:19 pm
by Koodiapina
Ei tietääkseni saa, mutta purkkaratkaisu: Jos pitää kirjoittaa esim. for, silleen, että kaikki kirjaimet ovat pienellä, niin näin:

1. Kirjoita ensin. kaksi heittomerkkiä "", eli tyhjämerkkijono.
2. Sen sisälle kirjoitat for, ja ylimääräinen heittomerkki loppuun "for"".
3. Sitten painat del näppäintä ja saat "for".

Eikä se muutu isolla alkukirjaimella kirjoitetuksi, jos et klikkaa sitä hiirellä. Ja varmaan pelittäis, jos käyttäisi Notepad++:aa editorina. Nixen ohjeet löytyy foorumihaulla.

Toinen purkka ratkaisu, jos pitää kirjoittaa merkkijonon sisällä, esimerkiksi "Hello for world".

1. Kirjoitat ensin "Hello world".
2. Kirjoitat for:n jonkun sanan alkuun, esim: "Hello forworld".
3. Painat spacea, ja se jää pienellä kirjoitetuksi, jos et klikkaa sitä: "hello for world".

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 6:54 pm
by Kelli
Grandi wrote:Ei tietääkseni saa, mutta purkkaratkaisu: Jos pitää kirjoittaa esim. for, silleen, että kaikki kirjaimet ovat pienellä, niin näin:

1. Kirjoita ensin. kaksi heittomerkkiä "", eli tyhjämerkkijono.
2. Sen sisälle kirjoitat for, ja ylimääräinen heittomerkki loppuun "for"".
3. Sitten painat del näppäintä ja saat "for".

Eikä se muutu isolla alkukirjaimella kirjoitetuksi, jos et klikkaa sitä hiirellä. Ja varmaan pelittäis, jos käyttäisi Notepad++:aa editorina. Nixen ohjeet löytyy foorumihaulla.

Toinen purkka ratkaisu, jos pitää kirjoittaa merkkijonon sisällä, esimerkiksi "Hello for world".

1. Kirjoitat ensin "Hello world".
2. Kirjoitat for:n jonkun sanan alkuun, esim: "Hello forworld".
3. Painat spacea, ja se jää pienellä kirjoitetuksi, jos et klikkaa sitä: "hello for world".
Juu tiedän kyllä että toisinaan välilyönneillä sun muilla saa sen pysymään, mutta sitten jos maalaa tai klikkaa niin taas muuttuu. Täytyy varmaan tosiaan vaihtaa notepad++:aan.

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 8:45 pm
by Pangut
Miten saan laitettua Windows tyylisennappulan vaihtamaan kuvaa?
Ois tärkeetä saada vastaus.

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 8:47 pm
by Koodiapina
Täältä löytyy WinXP namiska, ja kuvan vaihtaminen löytyy kun selaat hieman tätä aihetta taaksepäin.

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 10:39 pm
by Smuliii
Heitetääs ilmoille pari kysymystä:

Ensinnäkin milläs tekniikalla jää-efektin voisi toteuttaa? Eli tyyppi liukuu pikkasen matkaa ja sitten stoppaa?
Ja toinen kysymys käsittelee liukuhihnaa. Mietiskelin MoveObject-komentoa, eikös se sillä helpoiten onnistuisi?

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 10:54 pm
by Koodiapina
milläs tekniikalla jää-efektin voisi toteuttaa? Eli tyyppi liukuu pikkasen matkaa ja sitten stoppaa?
Teet muuttujan ukon vauhdista. Kun ukkoa liikutetaan, syntyy vauhtia, joka tavallisella maalla nollataan heti. Mutta jäällä ollessa laitat sen pienenemään hitaammin.
Ja toinen kysymys käsittelee liukuhihnaa. Mietiskelin MoveObject-komentoa, eikös se sillä helpoiten onnistuisi?
Jos tarkoitat sellaista, jonka päälle ukon astuessa ukko lähtee liukumaan johonkin suuntaan, niin moveobject / translateobject (Jos käytät objekteja).

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 11:07 pm
by valscion
Kelli wrote:
Grandi wrote:Ei tietääkseni saa, mutta purkkaratkaisu: Jos pitää kirjoittaa esim. for, silleen, että kaikki kirjaimet ovat pienellä, niin näin:

1. Kirjoita ensin. kaksi heittomerkkiä "", eli tyhjämerkkijono.
2. Sen sisälle kirjoitat for, ja ylimääräinen heittomerkki loppuun "for"".
3. Sitten painat del näppäintä ja saat "for".

Eikä se muutu isolla alkukirjaimella kirjoitetuksi, jos et klikkaa sitä hiirellä. Ja varmaan pelittäis, jos käyttäisi Notepad++:aa editorina. Nixen ohjeet löytyy foorumihaulla.

Toinen purkka ratkaisu, jos pitää kirjoittaa merkkijonon sisällä, esimerkiksi "Hello for world".

1. Kirjoitat ensin "Hello world".
2. Kirjoitat for:n jonkun sanan alkuun, esim: "Hello forworld".
3. Painat spacea, ja se jää pienellä kirjoitetuksi, jos et klikkaa sitä: "hello for world".
Juu tiedän kyllä että toisinaan välilyönneillä sun muilla saa sen pysymään, mutta sitten jos maalaa tai klikkaa niin taas muuttuu. Täytyy varmaan tosiaan vaihtaa notepad++:aan.
Voit myös käyttää samaa tapaa kuin minä välillä, eli jos pitää vaikka kirjoittaa pienellä "on" (ilman heittomerkkejä) niin olen laittanut CB-koodina sen näin (purkkaa ;))

Code: Select all

Print "Tämä o"+"n purkkaa, mutta toimii"
Eli olen vain poikkaissut sanan keskeltä ja yhdistänyt sitten merkkijonot + operaattorilla toisiinsa.

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 11:21 pm
by Koodiapina
Ei sitä tarvitse edes yhdistää. Typistetty versio:

Code: Select all

Print "Tämä o""n purkkaa"
Tämä menee jo pilkunviilaamiseksi, mutta tulipa nyt tämäkin laitettua.

Re: Tyhmät kysymykset

Posted: Sat Aug 09, 2008 11:38 pm
by Kelli
OonSuomesta wrote: Voit myös käyttää samaa tapaa kuin minä välillä, eli jos pitää vaikka kirjoittaa pienellä "on" (ilman heittomerkkejä) niin olen laittanut CB-koodina sen näin (purkkaa ;))

Code: Select all

Print "Tämä o"+"n purkkaa, mutta toimii"
Eli olen vain poikkaissut sanan keskeltä ja yhdistänyt sitten merkkijonot + operaattorilla toisiinsa.
Hei, tuohan onkin kätevä vaikka purkkaa onkin. Enpä tullut itse ajatelleeksi. :D Kiitokset!

Re: Tyhmät kysymykset

Posted: Sun Aug 10, 2008 10:21 am
by Jonhu
Miten saisin värjättyä segmentin pinta-alan?
onko mitään sektorin piirtokäskyä, tai voiko tuon alueen merkata jotenkin?

Code: Select all

SCREEN 800,600
    AddText "Tämä ohjelma laskee segmentin x pinta-alan"
    AddText "Anna keskuskuma : "
Repeat    
    keskuskulma#=Input(">> ")
    If keskuskulma>180 Then
        MakeError "Keskuskulma ei voi olla suurempi kuin 180 astetta!!!"
    EndIf
    DrawScreen
Until KeyHit(28)
    CloseInput
    Cls
    ClearText
    AddText ""
    AddText "Anna ympyrän säde (cm): "
Repeat    
    sade#=Input(">> ")
    DrawScreen
Until KeyHit(28)
    
    // itse lasku:
    janne1#=2*Sin(keskuskulma/2)*sade
    janne2#=2*Sin((360-(keskuskulma*2))/4)*sade
    pii#=3.1415926535
    vastaus#=((pii#*sade#*sade#)-(janne1#*janne2#))/4
    piirto(keskuskulma#,sade#)
    
    Color cbwhite
    Text 10,100,"Vastaus = "+vastaus#+" (cm2)"
    DrawScreen
    WaitKey
    End
    
Function piirto(keskuskulma#,sade#)
  
    Circle 400,200,300,0
    Line 550,350,550+Sin(keskuskulma#)*150, 350-Cos(keskuskulma#)*150
    Line 550,350,550+Sin(360)*150, 350-Cos(360)*150
    CenterText 500,300, "Säde = "
    CenterText 500,312, sade#+" (cm)"
    Color cbgreen
    Line 550+Sin(360)*150, 350-Cos(360)*150,550+Sin(keskuskulma#)*150, 350-Cos(keskuskulma#)*150

EndFunction

Re: Tyhmät kysymykset

Posted: Sun Aug 10, 2008 11:48 am
by Kelli
Jonhu wrote:Miten saisin värjättyä segmentin pinta-alan?
onko mitään sektorin piirtokäskyä, tai voiko tuon alueen merkata jotenkin?
Vaikkapa tällä tavalla :

Code: Select all

Function draw_sector(x1#, y1#, x2#, y2#, x3#, y3#, resolution)

    x_dif1# = x1# - x2# : x_dif2# = x2# - x3# : x_dif3# = x3# - x1#
    y_dif1# = y1# - y2# : y_dif2# = y2# - y3# : y_dif3# = y3# - y1#

    to_x# = x2# : to_y# = y2#
    
    For i=1 To resolution
        Line x1#,y1#,to_x#,to_y#
        to_x# = to_x# - x_dif2#/resolution
        to_y# = to_y# - y_dif2#/resolution
    Next i

    to_x# = x3# : to_y# = y3#
    
    For i=1 To resolution
        Line x2#,y2#,to_x#,to_y#
        to_x# = to_x# - x_dif3#/resolution
        to_y# = to_y# - y_dif3#/resolution
    Next i
    
    to_x# = x1# : to_y# = y1#
    
    For i=1 To resolution
        Line x3#,y3#,to_x#,to_y#
        to_x# = to_x# - x_dif1#/resolution
        to_y# = to_y# - y_dif1#/resolution
    Next i

End Function
sinun koodissasi sitten piirrät sektorin vain

draw_sector(550, 350, 550+Sin(360)*150, 350-Cos(360)*150,550+Sin(keskuskulma#)*150, 350-Cos(keskuskulma#)*150, 200)