Tyhmät kysymykset (I/2009)
Re: Tyhmät kysymykset
Eli. Väsäilin top down shooter engineä, mutta törmäsin ongelmaan tehdessäni ampumista.
Error:
Memory acces violate mikä lie.
http://paste.servut.us/ysqb
siinä koodi ^^
Jos joku löytää ja kertoaa ongelman syyn niin olisin kiitollinen, koska itse en sitä löydä millään.
Error:
Memory acces violate mikä lie.
http://paste.servut.us/ysqb
siinä koodi ^^
Jos joku löytää ja kertoaa ongelman syyn niin olisin kiitollinen, koska itse en sitä löydä millään.
Glory&Pride <--- selainpeli projektini
Pelilä<- yksi ylläpitämäni sivusto.
World leaders Ensimmäinen CoolBasic projektini
Pelilä<- yksi ylläpitämäni sivusto.
World leaders Ensimmäinen CoolBasic projektini
Re: Tyhmät kysymykset
Sen siitä saa kun kopioi suoraan! Sinulla ei ole missään määritelty tuota pati:a
eli siellä on:
ammus\obj=cloneobject(pati)<<<<< tuossa!! ja missä lukee?:
pati=loadobject("media\ammus.bmp",72)
showobject pati,off
lisääppä!
eli siellä on:
ammus\obj=cloneobject(pati)<<<<< tuossa!! ja missä lukee?:
pati=loadobject("media\ammus.bmp",72)
showobject pati,off
lisääppä!
Re: Tyhmät kysymykset
Saisko hieman esimerkkiä, miten saan CBSK:n Janelkasessa ruudun ns. Käynnistä-palkkiin?
Yritin saada sen toimimaan mutta sehän sekoili kokoajan.
Palkki kumminkin toimi.
Yritin saada sen toimimaan mutta sehän sekoili kokoajan.
Palkki kumminkin toimi.
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Codegolf: 99 bottles of beer (oneliner) - Water map partition
- -Z-
- Devoted Member
- Posts: 682
- Joined: Tue Aug 28, 2007 3:33 pm
- Location: In ur danmaku, grazin ur bullets
Re: Tyhmät kysymykset
Sitten tarvitaan taas cb-foorumin ongelmanratkaisijavelhoja
Eli:
-miksi Ammus ei liiku siihen suuntaan kuin pitäisi? (ammunta tapahtuu painamalla hiiren nappia pohjassa, vetämällä johonkin suuntaan ja päästämällä namiskasta irti alle sekunnissa)
-ja miksi se venkoaa, eikä pysy suorana kuten kunnon ammuksen pitäisi?
Sin ja Cos lienevät kaiken takana, ja en niiden vekkuleiden kanssa mikään mestari ole. Joten vähän apua tarvitaan.
Se pieni teksti: todennäköisesti syynä on kuitenkin edellisen yön unettomuudesta johtuva väsymys, eli älkää naurako liikaa tyhmälle virheelle.
Code: Select all
FrameLimit 60
Type BULLET
Field _type
Field XPos
Field YPos
Field dir
End Type
SCREEN 1024,768,0,0
ShowMouse OFF
fontti=LoadFont("system",30)
SetFont fontti
Repeat
DrawToWorld ON
an+10
If an>360 Then an=0
Drawship(x,y,an,255,255,255)
DrawScreen
If Distance(x,y,destx,desty)>3 Then
Color cbred
Circle destx-3,desty-3,7,0
x=x+Sin(GetAngle(x,y,destx,desty)+90)*5
y=y+Cos(GetAngle(x,y,destx,desty)+90)*5
EndIf
If MouseHit(1) Then
tapdur = Timer()
TapX=MouseWX()
TapY=MouseWY()
EndIf
If MouseUp(1) Then
If Timer()<tapdur+1000 And MouseWX()>tapx-25 And MouseWX()<tapx+25 And MouseWY()>tapY-25 And MouseWY()<tapY+25 Then
DestX=MouseWX()
DestY=MouseWY()
ElseIf Timer()<tapdur+1000 And Distance(MouseWX(),MouseWY(),tapx,tapy)>40 Then
shot.BULLET = New(BULLET)
shot\dir = GetAngle(TapX,TapY,MouseWX(),MouseWY())
shot\xpos= X+Sin(shot\dir)*10
shot\ypos= Y+Cos(shot\dir)*10
EndIf
EndIf
Gosub updatebullets
Color cbwhite
Text 0,0, tapdur
Forever
updatebullets:
For shot.BULLET = Each BULLET
shot\XPos=shot\Xpos+Sin(shot\dir)*7
shot\YPos=shot\YPos+Cos(shot\dir)*7
For i= 1 To 9
deg=25*i
Color 255-deg,0,0
Dot Sin(shot\xpos-90)*i,cos(shot\ypos-90)*i
Next i
Next shot
Return
Function DrawShip(x,y,a,r,g,b)
topX#=X+Sin(a)*15
TopY#=Y+Cos(a)*15
LX#=X+Sin(a-120)*15
LY#=Y+Cos(a-120)*15
RX#=X+Sin(a+120)*15
RY#=Y+Cos(a+120)*15
Color r,g,b
Line topx,topy,lx,ly
Line topx,topy,rx,ry
Line lx,ly,rx,ry
EndFunction
-miksi Ammus ei liiku siihen suuntaan kuin pitäisi? (ammunta tapahtuu painamalla hiiren nappia pohjassa, vetämällä johonkin suuntaan ja päästämällä namiskasta irti alle sekunnissa)
-ja miksi se venkoaa, eikä pysy suorana kuten kunnon ammuksen pitäisi?
Sin ja Cos lienevät kaiken takana, ja en niiden vekkuleiden kanssa mikään mestari ole. Joten vähän apua tarvitaan.
Se pieni teksti: todennäköisesti syynä on kuitenkin edellisen yön unettomuudesta johtuva väsymys, eli älkää naurako liikaa tyhmälle virheelle.
"Fallout 3 (#10) marked a shift in the industry, a move that saw the western RPG begin to surpass its Japanese counterparts." -IGN top 100 RPGs of all time
Re: Tyhmät kysymykset
Cosinia ja plussaamista X-koordinaatin kanssa, Siniä ja vähentämistä Y-koordinaatin kanssa. Tuossa koodissasi näyttäisi olevan nuo väärin päin. : ]
Hengität nyt manuaalisesti.
- -Z-
- Devoted Member
- Posts: 682
- Joined: Tue Aug 28, 2007 3:33 pm
- Location: In ur danmaku, grazin ur bullets
Re: Tyhmät kysymykset
Siis häh, mitäh? minkä pitää olla ja miten päin? kaikki sinit on äksän ja kosinit yyn kanssa kimpassa, näin on aina ennenki toiminut.DatsuniG wrote:Cosinia ja plussaamista X-koordinaatin kanssa, Siniä ja vähentämistä Y-koordinaatin kanssa. Tuossa koodissasi näyttäisi olevan nuo väärin päin. : ]
Ainiin, ja ammukset tosiaan spawnaavat aina keskelle ruutua, eivät aluksen päälle. Enkä tähänkään tajunnut syytä.
"Fallout 3 (#10) marked a shift in the industry, a move that saw the western RPG begin to surpass its Japanese counterparts." -IGN top 100 RPGs of all time
Re: Tyhmät kysymykset
Ööh... Cos on x-koordinaattien laskemiseen ja sin y-koordinaattien. En tiedä sitten miten olet joskus aikaisemmin saanut ne toimimaan eri päin...
Re: Tyhmät kysymykset
FAIL! Kannattaa perehtyä vähän noihin trigonometrisiin funktioihin ennen käyttöä (klikkaa kuvaa, niin saat lisäselitystä)-Z- wrote:Siis häh, mitäh? minkä pitää olla ja miten päin? kaikki sinit on äksän ja kosinit yyn kanssa kimpassa, näin on aina ennenki toiminut.
Ja vielä pari lainausta:
Regalis näköjään ehti ensin, mutta laitan nyt tämän tähän tuon kuvan takia, joka mahdollisesti selittää asiaa (ja ainakin sen lähteen pitäisi selittää)http://matwww.ee.tut.fi/jkkm/trigonom/trigo03.htm wrote:Määritelmä 4. Kulman sini on kulmaa vastaavan kehäpisteen y -koordinaatti.
Määritelmä 5. Kulman kosini on kulmaa vastaavan kehäpisteen x -koordinaatti.
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Tyhmät kysymykset
Tässä vielä pieni koodinpätkä sinin ja kosinin tyypillisimmästä käytöstä, eli jonkin liikuttamisesta tietty matka tiettyyn kulmaan.
CB:n koordinaatit ovat käänteiset, monissa muissa kielissä myös y:hyn lisätään. D on tässä siis etäisyys ja a kulma. Näitä kannattaa pohtia ihan ajan kanssa, sillä niitä tulee tarvitsemaan paljon jos aikoo tehdä graafista kikkailua tai pelejä kehittyneemmillä kielillä, joissa valmista objektisysteemiä ei ole. Ja ihan matemaattiseltakin kannalta ovat vekkuleita otuksia.
Code: Select all
x# = x# + d#*cos(a#)
y# = y# - d#*sin(a#)
- -Z-
- Devoted Member
- Posts: 682
- Joined: Tue Aug 28, 2007 3:33 pm
- Location: In ur danmaku, grazin ur bullets
Re: Tyhmät kysymykset
Mmmjuuu... Katotaan jos saataisiin jotain tolkkua tähän hommaan, on näemmä aika hyvin pyyhkiytynyt muistista nämä säännöt... Kiitoksia avusta vaan kaikille.
"Fallout 3 (#10) marked a shift in the industry, a move that saw the western RPG begin to surpass its Japanese counterparts." -IGN top 100 RPGs of all time
Re: Tyhmät kysymykset
Yksinkertainen juttu , mutta milläs saisin ton ukon liikkumaan suoraan pisteestä a -> b.
Ja koodia
Ja koodia
Code: Select all
SetWindow "Ukko"
hx#= 50 'liuku lukuina koska vauhtia on säädetty
hy#= 50 'näillä
dx#=50
dy#=50
ase = 0
Repeat
'komento piste
If MouseHit(1)
hx=MouseX()
hy=MouseY()
EndIf
Color 255,0,0
Dot hx+2,hy+6
Color 255,255,255
'ukon grafiikat
Dot dx-1,dy+13
Dot dx+4,dy+13
Circle dx,dy,4
Box dx,dy+4,4,4
Line dx,dy+8,dx,dy+12
Line dx+3,dy+8,dx+3,dy+12
'liikkuminen x akselilla
If dx > hx Then
dx = dx-0.5
ElseIf dx < hx Then
dx = dx+0.5
EndIf
'liikkuminen y akselilla
If dy > hy Then
dy = dy-0.5
ElseIf dy < hy Then
dy = dy+0.5
EndIf
'aseen vaihto
If KeyHit(57) And ase=0
ase=1
ElseIf KeyHit(57) And ase=1
ase=0
EndIf
If ase=1 Then
Line dx+3,dy+4,dx+7,dy+6
Line dx+7,dy+6,dx+7,dy
EndIf
DrawScreen
Forever
-
- Active Member
- Posts: 116
- Joined: Sat Feb 14, 2009 7:47 am
Re: Tyhmät kysymykset
Tarvitsen yhteen peliini neuvoa. Miten saan tehtyä tuon vuoden vaihtumisen. Päivä, kuukausi ja vuosi ovat erillisiä muuttujia.
Meneekö se ihan tällä tavalla:
Meneekö se ihan tällä tavalla:
Code: Select all
If päivä = 31 And kuukausi = 12 Then päivä = 1 And kuukausi = 1 And vuosi +1
Projektit:
Ships Income Liikenne Suomesta Beta 2: valmis. Lataa tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
Diktaattori Beta 2: valmis. Lataa Tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
Ships Income Liikenne Suomesta Beta 2: valmis. Lataa tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
Diktaattori Beta 2: valmis. Lataa Tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: Tyhmät kysymykset
Code: Select all
If päivä = 31 And kuukausi = 12 Then
päivä = 1
kuukausi = 1
vuosi +1
endif
Re: Tyhmät kysymykset
EDIT: hitailen
-
- Active Member
- Posts: 116
- Joined: Sat Feb 14, 2009 7:47 am
Re: Tyhmät kysymykset
KiitosGrandi wrote:Käytit and-operaattoria virheellisesti.Code: Select all
If päivä = 31 And kuukausi = 12 Then päivä = 1 kuukausi = 1 vuosi +1 endif
Entä miten saan näytettyä tuon päivämäärän tässä muodossa: 12.10.1972? Kuten jo sanoin päivä, kuukausi ja vuosi ovat kukin om muuttujansa.
Projektit:
Ships Income Liikenne Suomesta Beta 2: valmis. Lataa tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
Diktaattori Beta 2: valmis. Lataa Tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
Ships Income Liikenne Suomesta Beta 2: valmis. Lataa tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
Diktaattori Beta 2: valmis. Lataa Tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
Re: Tyhmät kysymykset
cool-driver wrote:Entä miten saan näytettyä tuon päivämäärän tässä muodossa: 12.10.1972? Kuten jo sanoin päivä, kuukausi ja vuosi ovat kukin om muuttujansa.
Code: Select all
Text x, y, päivä +"."+ kuukausi +"."+ vuosi
Re: Tyhmät kysymykset
Miten voisin tehdä sellaisen, että käyttäjä saa itse valita muuttujan arvon esim:
Kuinka paljon ostat? Sitten tähän se summa jonka käyttäjä haluaa. Tieto pitäisi tallentua muuttujaan, koska sitähän luonnollisesti käytetään myöhemmin.
Kuinka paljon ostat? Sitten tähän se summa jonka käyttäjä haluaa. Tieto pitäisi tallentua muuttujaan, koska sitähän luonnollisesti käytetään myöhemmin.
Glory&Pride <--- selainpeli projektini
Pelilä<- yksi ylläpitämäni sivusto.
World leaders Ensimmäinen CoolBasic projektini
Pelilä<- yksi ylläpitämäni sivusto.
World leaders Ensimmäinen CoolBasic projektini
Re: Tyhmät kysymykset
Katsoppa manuaalista komento "Input"matti3 wrote:Miten voisin tehdä sellaisen, että käyttäjä saa itse valita muuttujan arvon esim:
Kuinka paljon ostat? Sitten tähän se summa jonka käyttäjä haluaa. Tieto pitäisi tallentua muuttujaan, koska sitähän luonnollisesti käytetään myöhemmin.
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
Re: Tyhmät kysymykset
Ja huvikseni laitoin vielä pienen esimerkin:VesQ wrote:Katsoppa manuaalista komento "Input"matti3 wrote:Miten voisin tehdä sellaisen, että käyttäjä saa itse valita muuttujan arvon esim:
Kuinka paljon ostat? Sitten tähän se summa jonka käyttäjä haluaa. Tieto pitäisi tallentua muuttujaan, koska sitähän luonnollisesti käytetään myöhemmin.
Code: Select all
AddText "Siikaa myynnissä 1 kg 20e"
Repeat
Locate 0,20 : s = Input ("Kuinkas monta kiloa ostat?: ") //Se käyttäjän määrittelemä muuttuja
If KeyHit(cbkeyreturn) Then Locate 0,40: AddText "Ostit "+s+" kg siikaa! Se maksoi: "+s*20+"e"
DrawScreen()
Until EscapeKey()
Last edited by vilQuri on Wed Mar 11, 2009 8:44 pm, edited 1 time in total.
Re: Tyhmät kysymykset
Nyt kyllä olen ymmälläni... Cos 90 astettahan on 0, mutta CB heittää arvoksi jonkun -4.37114e-008. Osaisiko joku selittää tätä? Eihän tuo kyllä koodamista juurikaan haittaa, ihmetyttää vaan.
Code: Select all
Text 0,0,Cos(90)
DrawScreen
WaitKey