Tyhmät kysymykset (II/2009)
Re: Tyhmät kysymykset (II/2009)
If- lauseke suomeksi:
Jos pelaaja1:hden ja pelaaja2:hden välinen etäisyys on alle 30 ja painetaan näppäintä Q ja oikea nuolinäppäin on päästetty irti nin sitte...
Ok, ongelma on se että KeyUp on 1 vain sen jälkeen kun se on päästetty ja KeyHit on 1 vain kun se on laitettu alas ei silloin kun se on, eli sinun pitäisi painaa q alas ja päästä oikea nuoli ylös täsyin samaanaikaan.. Tai se tietysti voi riippua myös FPS:stä, mutta mutta..
Ei tarvita koodeja tämän enempää.. En tiedä mihin pyrit tällä koodilla joten en osaa auttaa tekemään mitään parempaa koodia tuon tilalle.
Jos pelaaja1:hden ja pelaaja2:hden välinen etäisyys on alle 30 ja painetaan näppäintä Q ja oikea nuolinäppäin on päästetty irti nin sitte...
Ok, ongelma on se että KeyUp on 1 vain sen jälkeen kun se on päästetty ja KeyHit on 1 vain kun se on laitettu alas ei silloin kun se on, eli sinun pitäisi painaa q alas ja päästä oikea nuoli ylös täsyin samaanaikaan.. Tai se tietysti voi riippua myös FPS:stä, mutta mutta..
Ei tarvita koodeja tämän enempää.. En tiedä mihin pyrit tällä koodilla joten en osaa auttaa tekemään mitään parempaa koodia tuon tilalle.
Re: Tyhmät kysymykset (II/2009)
Pyrin siihen että, jos puolustus-nappia painetaan ei iskut mene läpi.
Re: Tyhmät kysymykset (II/2009)
En tajua noita sinun koodejasi mitkä näppäimet tekevät mitäkin? Itse tekisin näin:
Näin..
Code: Select all
If KeyDown(pelaaja1_puolustusnappi) Then pelaaja1_defence = 1 Else pelaaja1_defence = 0
If KeyDown(pelaaja2_puolustusnappi) Then pelaaja2_defence = 1 Else pelaaja2_defence = 0
If KeyDown(pelaaja1_hyökkäysnappi) Then
If pelaaja2_defence = 0 Then pelaaja2_hp - 4
EndIf
If KeyDown(pelaaja2_hyökkäysnappi) Then
If pelaaja1_defence = 0 Then pelaaja1_hp - 4
EndIf
Re: Tyhmät kysymykset (II/2009)
Juu. Ite justiin tein tolla tyylillä. Hivenen erillain. Kiitos avusta.phons wrote:En tajua noita sinun koodejasi mitkä näppäimet tekevät mitäkin? Itse tekisin näin:Näin..Code: Select all
If KeyDown(pelaaja1_puolustusnappi) Then pelaaja1_defence = 1 Else pelaaja1_defence = 0 If KeyDown(pelaaja2_puolustusnappi) Then pelaaja2_defence = 1 Else pelaaja2_defence = 0 If KeyDown(pelaaja1_hyökkäysnappi) Then If pelaaja2_defence = 0 Then pelaaja2_hp - 4 EndIf If KeyDown(pelaaja2_hyökkäysnappi) Then If pelaaja1_defence = 0 Then pelaaja1_hp - 4 EndIf
Re: Tyhmät kysymykset (II/2009)
En löytäny manuaalista mitä esimerkkei mite tälläne tehtäis.Pitäs saada kopioituu viivoja esim.3000kpl.koitin jotai epätoivosesti typellä säätää mut en opnnistu nii joku sais auttaa.
siel toistuu samat jutut monta kertaa, kun en yhtää tienny et minne noi pitäs laittaa...
Code: Select all
Type viivat
Field x1
Field y1
Field x2
Field y2
End Type
...
For iviiva.viivat= Each viivat
i=0 To 30
newviiva.viivat= New(viivat)
newviiva\x1=Rand(1,1280)
newviiva\x2=Rand(1,1280)
newviiva\y1=Rand(1,1024)
newviiva\y2=Rand(1,1024)
Line x1,y1,x2,y2
i=0 To 30
Line x1,y1,x2,y2
i=i+1
Next iviiva
Re: Tyhmät kysymykset (II/2009)
Meni vähän ohi tuo sinun ongelmasi, mutta säädin koodinpätkäsi toimivaan muotoon. Koodi piirtää 30 satunnaista viivaa näytölle.
Edit. muokkasin koodia ettei kukaan neropatti tulisi kertomaan että koodi piirtääkin 31 viivaa.
Code: Select all
Type viivat
Field x1
Field y1
Field x2
Field y2
End Type
//Luodaan 30 viivaa
For i = 1 To 30
newviiva.viivat= New(viivat)
newviiva\x1=Rand(1, ScreenWidth() )
newviiva\x2=Rand(1, ScreenWidth() )
newviiva\y1=Rand(1, ScreenHeight() )
newviiva\y2=Rand(1, ScreenHeight() )
Next i
//Pääsilmukka
Repeat
//Käydään viivat läpi
For iviiva.viivat= Each viivat
//piirretään viiva
Line iviiva\x1, iviiva\y1, iviiva\x2, iviiva\y2
Next iviiva
DrawScreen
Forever
Re: Tyhmät kysymykset (II/2009)
HAHA FAILIlkka wrote:Scan-koodeja ei ole pakko muistaa ulkoa, vaan tilalle voi myös kirjoittaa jonkun CoolBasicin sisäänrakennetuista näppäinvakioista. Esim. KeyHit(cbKeyA) tarkastaa, painetaanko J-näppäintä. Listan näppäinvakioista näet SCAN-taulukosta (linkki yllä)
Vai että A -näppäin tarkistaa, että paineaanko näppäintä J
Alussa oli asiakas, projekti ja Koodari...
[/size]
Code: Select all
[23:36:33] <Minixmix> jos nyt viel yhen lastin heittäis
[23:36:48] <Minixmix> Sit loput vois hoitaa kännyllä :/
[00:14:49] <Minixmix> mutta nyt tyhjennykselle ->
- Zero
- Lead Developer
- Posts: 727
- Joined: Sun Aug 26, 2007 2:30 pm
- Location: Helsinki, Finland
- Contact:
Re: Tyhmät kysymykset (II/2009)
Copy-Paste ... vakava, vakava asia
CoolBasic henkilökuntaa
Johtava Suunnittelija
CoolBasic V3, CoolBasic Classic
http://www.coolbasic.com/blog
Johtava Suunnittelija
CoolBasic V3, CoolBasic Classic
http://www.coolbasic.com/blog
- kaneli2000
- Guru
- Posts: 1059
- Joined: Mon Mar 17, 2008 2:40 pm
- Location: Lempäälä
Re: Tyhmät kysymykset (II/2009)
Ei tarvitse päteä vaikka joku typottaisi. Sen sijaan voi korjata, että se tarkistaa painetaanko näppäintä A.Koodari wrote:HAHA FAILIlkka wrote:Scan-koodeja ei ole pakko muistaa ulkoa, vaan tilalle voi myös kirjoittaa jonkun CoolBasicin sisäänrakennetuista näppäinvakioista. Esim. KeyHit(cbKeyA) tarkastaa, painetaanko J-näppäintä. Listan näppäinvakioista näet SCAN-taulukosta (linkki yllä)
Vai että A -näppäin tarkistaa, että paineaanko näppäintä J
I see the rainbow rising
Re: Tyhmät kysymykset (II/2009)
Oikeastaan oli aikas huvittava huomautus manuskassa on siis itsessään tuo virhekaneli2000 wrote:Ei tarvitse päteä vaikka joku typottaisi. Sen sijaan voi korjata, että se tarkistaa painetaanko näppäintä A.
EDIT: Hui kamala! Viimeinen kerta näin turhaan offtopickiin minulta!
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
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
-
- Advanced Member
- Posts: 308
- Joined: Tue Nov 25, 2008 8:06 pm
- Contact:
Re: Tyhmät kysymykset (II/2009)
Voihan sen itselleen korjata manuaalin lähdekoodiin.VesQ wrote:Oikeastaan oli aikas huvittava huomautus manuskassa on siis itsessään tuo virhekaneli2000 wrote:Ei tarvitse päteä vaikka joku typottaisi. Sen sijaan voi korjata, että se tarkistaa painetaanko näppäintä A.
EDIT: Hui kamala! Viimeinen kerta näin turhaan offtopickiin minulta!
a.k.a. Gehock
Re: Tyhmät kysymykset (II/2009)
tuli ongelma.miten mittaa fps keskiarvo vaikka 20sekunnin ajalta??jotai pientä koodinpätkää jos joku viittis laittaa,ku ei oo mitää tietoo miten tollane tehää fps keskiarvo tietyltä ajalta
Re: Tyhmät kysymykset (II/2009)
Code: Select all
lol = Timer()
While lol+20000 > Timer()
If asd+1000 < Timer() Then
asd = Timer()
fpstotal = fpstotal + FPS()
End If
Text 0,0, FPS()
DrawScreen
Wend
Print "Average fps: "+fpstotal/20
WaitKey
Re: Tyhmät kysymykset (II/2009)
mikä tos kusee ,ku fps oli kokoaja yli 80 ja sitte lopuks näytti et keskiarvo oli 72 sitte ku laitoin fpstotal jakajaksi 18 nii alko näyttee enemmä oikeelta.
Re: Tyhmät kysymykset (II/2009)
Tuo esimerkki ei itsessään anna oikeaa tulosta, koska sen alussa pitäisi olla muutaman sekunnin odotus ennen mittaamista. Oikean tuloksen saat kun laitat sen keskelle jotain ohjelmaa (tarvittavin muokkauksin tietysti).koodari31 wrote:mikä tos kusee ,ku fps oli kokoaja yli 80 ja sitte lopuks näytti et keskiarvo oli 72 sitte ku laitoin fpstotal jakajaksi 18 nii alko näyttee enemmä oikeelta.
CoolBasic henkilökuntaa
Kehittäjä
Kehittäjä
Re: Tyhmät kysymykset (II/2009)
Itse tekisin tällä tavalla:koodari31 wrote:tuli ongelma.miten mittaa fps keskiarvo vaikka 20sekunnin ajalta??jotai pientä koodinpätkää jos joku viittis laittaa,ku ei oo mitää tietoo miten tollane tehää fps keskiarvo tietyltä ajalta
Code: Select all
startTime = Timer()
While startTime+20000 > Timer()
frames + 1
Text 0,0, FPS()
DrawScreen
Wend
Print "Average fps: "+frames/20
WaitKey
Projektit:
Jotain pientä (Ehkä vähän suurempaakin)
-Tuxi- (myös Tuxi4321)
Jotain pientä (Ehkä vähän suurempaakin)
-Tuxi- (myös Tuxi4321)
Re: Tyhmät kysymykset (II/2009)
Moi! Latasin Coolbasicin pari päivää sitten, luin oppitunnit ja yritin mahdollisimman paljon saada ensilukemalta niistä irti, jotain jäi ehkä jopa päähänkin
Olen kokeillut kaikkea omaa, ja tällaisen liikkuvan laatikon sain aikaan. Uskon että sama koodipätkä on mahdollista kirjoittaa lyhyemmi, tai ainakin matemaattisemmin tms. joten katsokaapa, olisitteko tehneet tämän toisin?
Olen kokeillut kaikkea omaa, ja tällaisen liikkuvan laatikon sain aikaan. Uskon että sama koodipätkä on mahdollista kirjoittaa lyhyemmi, tai ainakin matemaattisemmin tms. joten katsokaapa, olisitteko tehneet tämän toisin?
Code: Select all
z=5
yy=5
x=50
Repeat
Color 255, 0, 0
Box x, y, 100, 100
If x<200 And y=0 Then x=x+z
If x=200 And y<200 Then y=y+yy
If x<201 And y=200 Then x=x-z
If x=50 And y<201 Then y=y-yy
DrawScreen
Forever
Re: Tyhmät kysymykset (II/2009)
En näe koodissa sinänsä mitään vikaa. Hyvin toteutettu, jos olet täydellinen aloittelija ohjelmoinnissa. Jos joitain pitäisi kommentoida, niin kannattaa käyttää välejä, tyyliin:
Koodi on paljon selvempää.
Toinen asia, jonka voisi mainita, on että funktioiden kuten ScreenWidth() ja ScreenHeight() käyttäminen vakioarvojen sijaan on kannattavaa. Näin ohjelma toimii useammallakin resoluutiolla, jolloin käyttäjälle voi antaa valinnan vapauden.
Code: Select all
If x = 200 And y < 200 Then y = y + yy
Toinen asia, jonka voisi mainita, on että funktioiden kuten ScreenWidth() ja ScreenHeight() käyttäminen vakioarvojen sijaan on kannattavaa. Näin ohjelma toimii useammallakin resoluutiolla, jolloin käyttäjälle voi antaa valinnan vapauden.
Re: Tyhmät kysymykset (II/2009)
Oikeastaan mulla oli coolbasic n. 10-11-vuotiaana, mutta aika täydellisesti olen kaiken onnistunut unohtamaan.Jonez wrote:En näe koodissa sinänsä mitään vikaa. Hyvin toteutettu, jos olet täydellinen aloittelija ohjelmoinnissa. Jos joitain pitäisi kommentoida, niin kannattaa käyttää välejä, tyyliin:Koodi on paljon selvempää.Code: Select all
If x = 200 And y < 200 Then y = y + yy
Toinen asia, jonka voisi mainita, on että funktioiden kuten ScreenWidth() ja ScreenHeight() käyttäminen vakioarvojen sijaan on kannattavaa. Näin ohjelma toimii useammallakin resoluutiolla, jolloin käyttäjälle voi antaa valinnan vapauden.
Toinen kysymys: Voiko tyypeillä tai taulukoilla tehdä panosta(joka siis ei ole objekti, vaan vaikka ympyrä tai neliö), vai vaatiiko se ihan jokaisen neliön luomisen erikseen? Ajattelin yrittää tuolle liikkuvalle laatikolle saada jotenkin "kyvyn", jotta se ampuisi jotain tiettyä kohdetta.
Kysyisin vielä noista tyypeistä ja taulukoista. En kovin hyvin niitä osaa vielä soveltaa, mutta taulukkoa voidaan ajatella kai kirjastona, joka sisältää mm. kirjaosastoja, kirjahyllyjä ja kirjoja. Siitä sitten miettimään, missä asioissa siitä on hyötyä. Tyypit on kai aika samankaltaisia, mutta suunnitelmia/piirrustuksia joiden avulla luodaan asioita(suoraan type-tutoriaalista jota luen parhaillaan ? Mutta mitä taulukoilla voi tehdä jota tyypeillä ei voi tehdä ja toisinpäin? Olisi ehkä pitänyt lukea tuo type-tutoriaali kokonaan ennen kun laittaa tän kysymyksen, mutta näin pääs nyt käymään.
Toivottavasti en selitä ymmärtämättömästi.
Re: Tyhmät kysymykset (II/2009)
Tyyppien ja taulukoiden erojen tarkan analysoimisen jätän wanhoille parroille, mutta tähän osaan vastata. Kyllä tyypeillä voi tehdä laatikoitakin:koodi wrote: Toinen kysymys: Voiko tyypeillä tai taulukoilla tehdä panosta(joka siis ei ole objekti, vaan vaikka ympyrä tai neliö), vai vaatiiko se ihan jokaisen neliön luomisen erikseen? Ajattelin yrittää tuolle liikkuvalle laatikolle saada jotenkin "kyvyn", jotta se ampuisi jotain tiettyä kohdetta.
Code: Select all
Type LANTTULAATIKOT
Field x
Field y
EndType
For i = 1 to 10
newLaatikko.LANTTULAATIKOT = New (LANTTULAATIKOT)
newLaatikko\x = Rand (1,400)
newLaatikko\y = Rand (1,300)
Next i
Repeat
For iLaatikko.LANTTULAATIKOT = Each LANTTULAATIKOT
Box iLaatikko\x, iLaatikko\y, 18, 7, 1
iLaatikko\x = Rand(1,400)
iLaatikko\y = Rand(1,300)
Next iLaatikko
DrawScreen
Forever
Ammuksen kannattaisi kuitenkin olla objekti (CloneObject). Sen saa ampumaan jotain tiettyä kohdetta PointObjectilla.