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
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
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ä?
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:
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.
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)