Tyhmät kysymykset (I/2009)
Re: Tyhmät kysymykset
Ai juu, enpä huomannut.
Re: Tyhmät kysymykset
mite saan tämän aseen vaihdon tehtyä? ongelmana on se että kun se vaihtaa miekan pistooliin niin se ei enää vaihda sitä eteen päin?apuaa
ja miksei ääni kuulu kun ampuu? se toimi ennen tätä aseenvaihtoa , mutta ei enää..
tässä koodi
ja miksei ääni kuulu kun ampuu? se toimi ennen tätä aseenvaihtoa , mutta ei enää..
tässä koodi
Code: Select all
peli:
SCREEN 800,600
FrameLimit 40
//tehdään tyypit
Type AMMUS
Field obj
Field hp
Field dmg
End Type
Type vihut
Field obj
Field id
Field hp
Field dmg
Field score
EndType
//pelin maasto
grass=MakeObjectFloor()
lawn=LoadImage("metsä.png")
PaintObject grass,lawn
PositionObject grass,0,0, -2
//ladataan kaikki pelin objectit
////pelaajan jutut////
hiiri = LoadObject ("tähtäin.png")
pelaaja = LoadObject ("ukkopistooli.png",72)
miekkaukko = LoadObject ("miekkaukko.png",72) : ShowObject miekkaukko,OFF
pistooliukko = LoadObject ("ukkopistooli.png",72) :ShowObject pistooliukko,OFF
konepistooliukko = LoadObject ("konepistooli.png",72) :ShowObject konepistooliukko,OFF
pati=LoadObject("luoti.png")
ShowObject pati,OFF
////vihollisen jutut////
vihollinen1 = loadobject ("monsteri1.png",72)
vihollinen2 = loadobject ("monsteri2.png",72)
ShowObject vihollinen1,OFF
ShowObject vihollinen2,OFF
//ladataan musiikit ja äänet
pistooli = LoadSound ("colt45.mp3")
konepistooli = LoadSound ("machinegun.mp3")
miekka = LoadSound ("sword.mp3")
lyöminen = LoadSound ("bulletbody.mp3")
yläpalkki = LoadImage ("yläpalkki.png")
//laitetaan pelaajan hp , voima , kaikkea..
hp=100
voima=5
ammukset = 20
//tapot sekä pisteet
tapot=0
tapotpisteet=1000
//aseenvaihto
miekka=1
pistooli=0
konepistooli=0
If miekka = 1 Then
PaintObject pelaaja,miekkaukko
EndIf
If pistooli = 1 Then
PaintObject miekkaukko,pistooliukko
EndIf
If konepistooli = 1 Then
PaintObject pelaaja,konepistooliukko
EndIf
Repeat////
//pelaajan ohjaus
PointObject pelaaja,hiiri
If LeftKey() Then TurnObject pelaaja,5
If RightKey() Then TurnObject pelaaja,-5
If UpKey() Then MoveObject pelaaja,2
If DownKey() Then MoveObject pelaaja,-2
If pistooli=1 And MouseHit (1) And reload=0 Then
luoti.AMMUS = New(AMMUS)
luoti\obj=CloneObject(pati)
luotihp=2
ammukset - 1
PlaySound pistooli,50
CloneObjectPosition luoti\obj,pelaaja
CloneObjectOrientation luoti\obj,pelaaja
reload=5
EndIf
If konepistooli=1 and MouseHit (1) And reload=0 Then
luoti.AMMUS = New(AMMUS)
luoti\obj=CloneObject(pati)
ammukset - 1
PlaySound konepistooli,50
CloneObjectPosition luoti\obj,pelaaja
CloneObjectOrientation luoti\obj,pelaaja
reload=5
EndIf
If reload>0 Then reload=reload-1
For luoti.AMMUS = Each AMMUS
MoveObject luoti\obj,6
If Distance2(luoti\obj,pelaaja)>300 Then del=ON
If del=ON
DeleteObject luoti\obj
Delete luoti
del=OFF
EndIf
Next luoti
If ammukset = 0 Then ////ammusten loppuminen
reload=-1
EndIf
If ammukset < 1 Then ////ampuminen
reload=5
EndIf
//ALIENIT
If luo>80
newAlien.vihut= New(vihut)
newAlien\obj=CloneObject(vihollinen1)
PositionObject newAlien\obj,Rand(-1600,1000),Rand(1600,-1000)
newAlien\id=Rand(1,2)
If newAlien\id = 1 Then
newAlien\hp=Rand(130,190):newAlien\dmg=Rand(2,5):newAlien\score=Rand(10,30)
EndIf
If newAlien\id = 2 Then
PaintObject newAlien\obj,vihollinen2
newAlien\hp=Rand(300,320):newAlien\dmg=Rand(5,8):newAlien\score=Rand(15,35)
EndIf
luo=0
EndIf
luo+1
If KeyHit (cbkey9) And miekka=1 Then
PaintObject pelaaja,pistooliukko
pistooli=1
ClearKeys
If KeyHit (cbkey9) And pistooli=1 Then
PaintObject konepistooli,pelaaja
EndIf
EndIf
DrawGame
DrawImage yläpalkki ,0,0 : Text 10,10,"PISTEITÄ :"+tapotpisteet
Text 20,30,"LISÄÄ HP(1) +50hp -30p"
Text 20,45,"HP nyt ="+hp
If KeyHit(cbkey1) And tapotpisteet>29 Then
hp+50
tapotpisteet-30
if Not tapotpisteet=30 Then
hp-0
tapotpisteet-0
EndIf
EndIf
Text 250,30,"LISÄÄ VOIMAA(2) +5voima -20p"
Text 250,45,"VOIMA nyt ="+voima
If KeyHit(cbkey2) And tapotpisteet>19 Then
voima+5
tapotpisteet-20
if Not tapotpisteet=20 Then
voima-0
tapotpisteet-0
EndIf
EndIf
Text 500,30,"LISÄÄ AMMUKSIA(3) +25ammusta -10p"
Text 500,45,"AMMUKSIA nyt ="+ammukset
If KeyHit(cbkey3) And tapotpisteet>9 Then
ammukset+25
tapotpisteet-10
if Not tapotpisteet=10 Then
voima-0
tapotpisteet-0
EndIf
EndIf
Text 300,10,"UUSI ASE(4) -30p"
If KeyHit(cbkey4) And tapotpisteet>29 Then
ase1=1
tapotpisteet-30
If ase1=1 And KeyHit(cbkey4) And tapotpisteet>29 Then
ase2=1
EndIf
If Not tapotpisteet=30 Then
ase1-0
tapotpisteet-0
EndIf
EndIf
CloneCameraPosition pelaaja
//If hp=0 then goto kuolit
PositionObject hiiri,MouseWX(),MouseWY()
DrawScreen
Forever
Re: Tyhmät kysymykset
Nyt tuli lunta.
Nyt tuli ongelma, että mistä johtuu moinen?
Ohjelma toimii varsin mallikkaasti, sitten siirrän sen toiselle koneelle ja se ei toimikaan. Kun poistan seuraavan rivin, ohjelma toimii taas:
ja kaikki hyvin, paitsi että nyt en saa peliä fullscreeniin semmoiselle matalalle resoluutiolle, kun olisin halunnut. Kokeilin tuommoisella rivillä niin että nollan tilalla oli 16, sitten 24, sitten 36 ja sama unable to set graphics mode -virhe toistuu, mitä ei tapahtunut edellisellä koneella. Nyt kirjoitin epäselkeimmän viestin aikoihin. Että voisi tehdä tiivistelmän:
Screen- komento ja Unable to set graphics mode. Johtuneeko näyttiksestä?
Nyt tuli ongelma, että mistä johtuu moinen?
Ohjelma toimii varsin mallikkaasti, sitten siirrän sen toiselle koneelle ja se ei toimikaan. Kun poistan seuraavan rivin, ohjelma toimii taas:
Code: Select all
SCREEN 400, 300, 0, CbFullScreen
Screen- komento ja Unable to set graphics mode. Johtuneeko näyttiksestä?
Re: Tyhmät kysymykset
SCREEN 640, 480, 0, CbFullScreen?Chaosworm wrote:Nyt tuli lunta.
Nyt tuli ongelma, että mistä johtuu moinen?
Ohjelma toimii varsin mallikkaasti, sitten siirrän sen toiselle koneelle ja se ei toimikaan. Kun poistan seuraavan rivin, ohjelma toimii taas:ja kaikki hyvin, paitsi että nyt en saa peliä fullscreeniin semmoiselle matalalle resoluutiolle, kun olisin halunnut. Kokeilin tuommoisella rivillä niin että nollan tilalla oli 16, sitten 24, sitten 36 ja sama unable to set graphics mode -virhe toistuu, mitä ei tapahtunut edellisellä koneella. Nyt kirjoitin epäselkeimmän viestin aikoihin. Että voisi tehdä tiivistelmän:Code: Select all
SCREEN 400, 300, 0, CbFullScreen
Screen- komento ja Unable to set graphics mode. Johtuneeko näyttiksestä?
Re: Tyhmät kysymykset
Pölhö täällä taas, moi.
Nyt koodi on epäselkeää ja mitä ilmeisemmin ampuminen mavittaa, tähän en löydä syytä ja siksi laitan taas koko koodin tähän:
Apuja kaipaillaan. Valikko on vielä vähän kesken, en viitsinyt tehdä sitä vielä loppuun kun huomasin ongelman.
Nyt koodi on epäselkeää ja mitä ilmeisemmin ampuminen mavittaa, tähän en löydä syytä ja siksi laitan taas koko koodin tähän:
Code: Select all
Type VIHUT
Field obj
EndType
Type AMMUKSET
Field obj
EndType
SCREEN 640, 480, 0, cbFullScreen
FrameLimit 40
AddText "Loading Mediaguy.bmp, please wait"
vihu=LoadObject("Media\guy.bmp", 72)
ShowObject vihu,OFF
DrawScreen
AddText "Done. Loading Media\bullet.bmp, please wait"
DrawScreen
ammus=LoadObject("media\bullet.bmp", 72)
ShowObject ammus,OFF
DrawScreen
AddText "Done. Loading Media\bullet2.bmp, please wait"
ammus2=LoadObject("media\bullet2.bmp", 72)
ShowObject ammus2, OFF
DrawScreen
AddText "Done. Loading Media\point.png, please wait"
menutarget=LoadObject("media\point.png")
DrawScreen
AddText "Done. Loading Media\SK_Battle2.mp3, please wait"
musa=PlaySound("media\SK_Battle2.mp3")
DrawScreen
AddText "Done. Loading Media\ammu.wav, please wait"
mgun=LoadSound("media\ammu.wav")
DrawScreen
AddText "Done. Loading Media\blaster.wav, please wait"
lcannon=LoadSound("media\blaster.wav")
DrawScreen
AddText "Done. Loading Media\Boom 1.wav, please wait"
ylikuuma=LoadSound("media\Boom 1.wav")
DrawScreen
AddText "Done. Loading Media\soldier.bmp, please wait"
heebo=LoadObject("media\soldier.bmp", 72)
ShowObject heebo, OFF
DrawScreen
AddText "Loading is ready! Press any key."
DrawScreen
WaitKey
' ALKUJUTUT ON NYT TEHTY
'-------------------------------------------------
valikko=LoadObject("media\zombiekilla.png")
ClearText
aloitusvalikko:
ShowObject valikko, ON
valikkotarget=1
PositionObject menutarget, -70, 40
DrawScreen
Repeat
If KeyHit(cbkeydown) Then
Valikkotarget = valikkotarget + 1
If valikkotarget = 5 Then valikkotarget = 1
EndIf
If KeyHit(cbkeyup) Then
Valikkotarget = valikkotarget - 1
If valikkotarget = 0 Then valikkotarget = 4
EndIf
If valikkotarget = 1 Then PositionObject menutarget, -70, 40
If valikkotarget = 2 Then PositionObject menutarget, -70, 10
If valikkotarget = 3 Then PositionObject menutarget, -70, -20
If valikkotarget = 4 Then PositionObject menutarget, -70, -50
If KeyHit(cbkeyreturn) And valikkotarget = 3 Then ShowObject valikko, OFF : ShowObject heebo, ON: Goto themaingame
DrawScreen
Forever
Konekivaarintehot=1 'vielä aavistuksen turha
Kills=0 'kuin myös
Health=500
Taso=1
supermanmode=0
WaitKey
ClearText
AddText "Level: 1"
AddText "Starting Health: 500"
AddText "Your score is: 0"
AddText "Current weapon: Rifle"
'Alkuruutu on nyt tehty
'------------------------------------------------
themaingame:
Repeat
'Update Tuning
If LeftKey() Then TurnObject heebo,5
If RightKey() Then TurnObject heebo,-5
If UpKey() Then MoveObject heebo, 3
If DownKey() Then MoveObject heebo, -3
If KeyHit(cbkeyv) Then AddText "kills: " + Kills
If KeyHit(cbkeyb) Then AddText "health: " + Health
If KeyHit(cbkey1) Then konekivaarintehot=1
If KeyHit(cbkey2) And taso>9 Then konekivaarintehot=2
If KeyHit(cbkey3) And taso>19 Then konekivaarintehot=3
If KeyDown(cbkeyw) Then TranslateObject heebo,0,3
If KeyDown(cbkeys) Then TranslateObject heebo,0,-3
If KeyDown(cbkeya) Then TranslateObject heebo,-3,0
If KeyDown(cbkeyd) Then TranslateObject heebo,3,0
If ObjectX(heebo) <-320 Then PositionObject heebo, 319, ObjectY(heebo)
If ObjectX(heebo) >320 Then PositionObject heebo, -319, ObjectY(heebo)
If ObjectY(heebo) <-320 Then PositionObject heebo, ObjectX(heebo), 319
If ObjectY(heebo) >320 Then PositionObject heebo, ObjectX(heebo), -319
If KeyDown(cbkeylalt) Then supermanmode=True : score=0 Else supermanmode=False
CloneCameraPosition heebo
CloneCameraOrientation heebo
'----------------------------------------------
If KeyDown(cbkeyspace) And reload < 1 Then
If konekivaarintehot= 3 Then
For iVihu.VIHUT= Each VIHUT
kills=kills+1
DeleteObject iVihu\obj
Delete iVihu
reload=317
Next iVihu
PlaySound ylikuuma, 70
Else
uusAmmus.AMMUKSET= New(AMMUKSET)
If konekivaarintehot= 2 Then uusAmmus\obj=CloneObject(ammus)
If konekivaarintehot= 1 Then uusAmmus\obj=CloneObject(ammus2)
CloneObjectPosition uusAmmus\obj, heebo
CloneObjectOrientation uusAmmus\obj, heebo
MoveObject uusAmmus\obj, 24
If Konekivaarintehot=2 Then
PlaySound lcannon, 40
Else
PlaySound mgun, 40
reload=reload+5
EndIf
EndIf
EndIf
If vihutimer = < 1 Then
uusVihu.VIHUT= New(VIHUT)
uusVihu\obj=CloneObject(vihu)
PositionObject uusVihu\obj, Rnd (-300,300), Rnd(-300,300)
vihutimer = 23
EndIf
'-------------------------------------------------
'Update bullwts
For iAmmus.AMMUKSET= Each AMMUKSET
MoveObject iAmmus\obj,17
If Distance2 (iAmmus\obj, heebo) > 400 Then
DeleteObject iAmmus\obj
Delete iAmmus
EndIf
i=i+1
Next iAmmus
'Update vihulliset
For iVihu.VIHUT= Each VIHUT ' update vihullaiset
PointObject iVihu\obj, heebo
MoveObject iVihu\obj, 1
If ObjectsOverlap (iVihu\obj, heebo) Then
If supermanmode=True Then
DeleteObject iVihu\obj
Delete iVihu
Else
Health = Health-1
EndIf
If Health = 0 Then Goto ending
EndIf
Next iVihu
'--------------------------------------------------
For iVihu.VIHUT = Each VIHUT
tuhoa=OFF
For iAmmus.AMMUKSET = Each Ammukset
If ObjectsOverlap(iVihu\obj,iAmmus\obj) Then
If bulletmode=0 Then
DeleteObject iAmmus\obj
Delete iAmmus
EndIf
tuhoa=ON
EndIf
Next iAmmus
If tuhoa Then
Delete iVihu
DeleteObject iVihu\obj
Kills=Kills+1
EndIf
Next iVihu
If Kills>50 Then
Locate 1,1
ClearText
Kills=0
Taso=Taso+1
Score=score+health
AddText "Level: " + Taso
AddText "Your health in the end of previous level was: " + Health
AddText "Your score is: "+ score
If taso=10 Then AddText "New weapon is found: Laser Cannon"
If taso=20 Then AddText "New weapon is found: Instant Kill Grenade"
If Taso>35 Then bulletmode=1
EndIf
'---------------------------------------------------
If SoundPlaying(musa)=0 Then
musa = PlaySound ("Media\SK_Battle2.mp3")
EndIf
'--------------------------------------------------
If reload>0 Then reload=reload-Konekivaarintehot
If vihutimer>0 Then vihutimer=vihutimer-Taso
DrawScreen
Forever
ending:
ClearText
AddText "The zombies kill you!"
AddText "Your score was: "+score
AddText "You were in level "+taso
AddText "Press any key to quit."
DrawScreen
WaitKey
Re: Tyhmät kysymykset
Mitenkä tämän törmäyksen voisi tehdä pehmeämmin tai liukuvana?
Toiseksi, miksei kamera seuraa alusta? Koodi:
Toiseksi, miksei kamera seuraa alusta? Koodi:
Code: Select all
FrameLimit 40
lvl=LoadImage("Media\level.bmp")
Dim alus(360) As Integer
alus(0) = LoadImage("Media\ship.bmp")
For i = 1 To 360
alus(i) = CloneImage(alus(0))
RotateImage alus(i), i
Next i
Global x, y, angle
x = 70
y = 60
angle = 0
oldx = 0
oldy = 0
Repeat
oldx = x
oldy = y
DrawImage lvl, 0, 0
DrawImage alus(angle), x, y
If LeftKey() Then angle = angle - 5
If RightKey() Then angle = angle + 5
If angle < 1 Then angle = angle + 360
If angle > 360 Then angle = angle - 360
If UpKey() Then
x = x + Cos(angle) * 5
y = y + Sin(angle) * 5
EndIf
If DownKey() Then
x = x - Cos(angle) * 5
y = y - Sin(angle) * 5
EndIf
If ImagesCollide(alus(angle),x,y,0,lvl,0,0,0) Then
x = oldx: y = oldy
EndIf
PositionCamera x, y
DrawScreen
Forever
Re: Tyhmät kysymykset
Mikset käytä objekteja?
Sitäpaitsi PositionCamera siirtää vain objektien kameraa ja kuviin se ei vaikuta mitenkään. Sitäkin varten objektisysteemissä on kätevä komento CloneCameraPosition jolla saat kameran suoraan "liimattua" kiinni objektiin.
Sitäpaitsi PositionCamera siirtää vain objektien kameraa ja kuviin se ei vaikuta mitenkään. Sitäkin varten objektisysteemissä on kätevä komento CloneCameraPosition jolla saat kameran suoraan "liimattua" kiinni objektiin.
Re: Tyhmät kysymykset
Objekteilla en saisi törmäystä bittikarttaan onnistumaan.
Sen kameran liimaamisen sain tehtyä kun laitoin DrawToWorld OFF, ON, OFF.
Mutta miten se pehmeä törmäys onnistuu?
Sen kameran liimaamisen sain tehtyä kun laitoin DrawToWorld OFF, ON, OFF.
Mutta miten se pehmeä törmäys onnistuu?
Re: Tyhmät kysymykset
muutama ongelma
1.miksi ääni ei kuulu ammuttaessa
2.miksi ammukset ei liiku ,kun ne ampuu?
nimet on kuitenkin oikein kirjoitettu.
1.miksi ääni ei kuulu ammuttaessa
2.miksi ammukset ei liiku ,kun ne ampuu?
nimet on kuitenkin oikein kirjoitettu.
Code: Select all
peli:
SCREEN 800,600
FrameLimit 40
//tehdään tyypit
Type BULLETS
Field obj
Field hp
Field dmg
Field speed
Field id
End Type
Type vihut
Field obj
Field id
Field hp
Field dmg
Field score
EndType
//pelin maasto
grass=MakeObjectFloor()
lawn=LoadImage("metsä.png")
PaintObject grass,lawn
PositionObject grass,0,0, -2
//ladataan kaikki pelin objectit
////pelaajan jutut////
hiiri = LoadObject ("tähtäin.png")
pelaaja = LoadObject ("ukkopistooli.png",72)
miekkaukko = LoadObject ("miekkaukko.png",72) : ShowObject miekkaukko,OFF
pistooliukko = LoadObject ("ukkopistooli.png",72) :ShowObject pistooliukko,OFF
konepistooliukko = LoadObject ("konepistooli.png",72) :ShowObject konepistooliukko,OFF
pati=LoadObject("luoti.png")
ShowObject pati,OFF
////vihollisen jutut////
vihollinen1 = loadobject ("monsteri1.png",72)
vihollinen2 = loadobject ("monsteri2.png",72)
ShowObject vihollinen1,OFF
ShowObject vihollinen2,OFF
//ladataan musiikit ja äänet
pistooli = LoadSound ("colt45.mp3")
konepistooli = LoadSound ("machinegun.mp3")
miekka = LoadSound ("sword.mp3")
lyöminen = LoadSound ("bulletbody.mp3")
yläpalkki = LoadImage ("yläpalkki.png")
//laitetaan pelaajan hp , voima , kaikkea..
hp=100
voima=5
ammukset = 20
//tapot sekä pisteet
tapot=0
tapotpisteet=1000
//aseenvaihto
miekka=1
pistooli=0
konepistooli=0
If miekka = 1 Then
PaintObject pelaaja,miekkaukko
EndIf
If pistooli = 1 Then
PaintObject pelaaja,pistooliukko
EndIf
If konepistooli = 1 Then
PaintObject pelaaja,konepistooliukko
EndIf
Repeat////
//pelaajan ohjaus
PointObject pelaaja,hiiri
If LeftKey() Then TurnObject pelaaja,5
If RightKey() Then TurnObject pelaaja,-5
If UpKey() Then MoveObject pelaaja,2
If DownKey() Then MoveObject pelaaja,-2
If MouseHit (1) And reload<0
newBullet.BULLETS= New(BULLETS)
newBullet\obj=CloneObject(pati)
newbullet\dmg=voima
newbullet\speed=speedupg
PlaySound pistooli,50
ammukset - 1
CloneObjectPosition newBullet\obj,pelaaja
CloneObjectOrientation newbullet\obj,pelaaja
MoveObject newBullet\obj,24
reload=5
EndIf
reload-1
If ammukset = 0 Then ////ammusten loppuminen
reload=-1
EndIf
If ammukset < 1 Then ////ampuminen
reload=5
EndIf
//ALIENIT
If luo>80
newAlien.vihut= New(vihut)
newAlien\obj=CloneObject(vihollinen1)
PositionObject newAlien\obj,Rand(-1600,1000),Rand(1600,-1000)
newAlien\id=Rand(1,2)
If newAlien\id = 1 Then
newAlien\hp=Rand(130,190):newAlien\dmg=Rand(2,5):newAlien\score=Rand(10,30)
EndIf
If newAlien\id = 2 Then
PaintObject newAlien\obj,vihollinen2
newAlien\hp=Rand(300,320):newAlien\dmg=Rand(5,8):newAlien\score=Rand(15,35)
EndIf
luo=0
EndIf
luo+1
For iAlien.vihut= Each vihut'Aloitetaan zombien läpikäynti
sidle=Rand(-20,20)
If CountCollisions(iAlien\obj) Then MoveObject iAlien\obj,0,sidle'jos kosketaan deinään, niin stepataan
If ObjectSight (iAlien\obj,pelaaja) Then MoveObject iAlien\obj,1 Else MoveObject iAlien\obj,0
PointObject iAlien\obj,pelaaja'zombi tähtää pelaajaan
If ObjectsOverlap(iAlien\obj,pelaaja) Then hp-iAlien\dmg
For ibullet.bullets=Each bullets
If ObjectsOverlap(ibullet\obj,iAlien\obj) Then
iAlien\hp-ibullet\dmg
ibullet\hp=-1
EndIf
Next ibullet
If ObjectsOverlap (pelaaja,iAlien\obj) Then iAlien\hp-4
If iAlien\hp<0 Then 'jos zombin energiat loppuu, niin tapetaan se ja annetaan pisteet
tapotpisteet+1
tapot+1
DeleteObject iAlien\obj
Delete iAlien
EndIf
Next iAlien
If KeyHit (cbkey9) And miekka=1 Then
PaintObject pelaaja,pistooliukko
pistooli=1
ClearKeys
If KeyHit (cbkey9) And pistooli=1 Then
PaintObject konepistooli,pelaaja
EndIf
EndIf
DrawGame
DrawImage yläpalkki ,0,0 : Text 10,10,"PISTEITÄ :"+tapotpisteet : Text 200,10,"TAPOT :"+tapot
Text 20,30,"LISÄÄ HP(1) +50hp -30p"
Text 20,45,"HP nyt ="+hp
If KeyHit(cbkey1) And tapotpisteet>29 Then
hp+50
tapotpisteet-30
if Not tapotpisteet=30 Then
hp-0
tapotpisteet-0
EndIf
EndIf
Text 250,30,"LISÄÄ VOIMAA(2) +5voima -20p"
Text 250,45,"VOIMA nyt ="+voima
If KeyHit(cbkey2) And tapotpisteet>19 Then
voima+5
tapotpisteet-20
if Not tapotpisteet=20 Then
voima-0
tapotpisteet-0
EndIf
EndIf
Text 500,30,"LISÄÄ AMMUKSIA(3) +25ammusta -10p"
Text 500,45,"AMMUKSIA nyt ="+ammukset
If KeyHit(cbkey3) And tapotpisteet>9 Then
ammukset+25
tapotpisteet-10
if Not tapotpisteet=10 Then
voima-0
tapotpisteet-0
EndIf
EndIf
CloneCameraPosition pelaaja
//If hp=0 then goto kuolit
PositionObject hiiri,MouseWX(),MouseWY()
DrawScreen
Forever
EDIT:
hehe sehä unohtui
vielä ongelma 1 ...
en keksi itse mitään ratkaisua siihe
Last edited by rami123 on Tue Jan 20, 2009 4:53 pm, edited 1 time in total.
Re: Tyhmät kysymykset
Et edes liikuta niitä missään vaiheessa koodia.rami123 wrote: 2.miksi ammukset ei liiku ,kun ne ampuu?
Hengität nyt manuaalisesti.
Re: Tyhmät kysymykset
Code: Select all
PlaySound pistooli,50
Re: Tyhmät kysymykset
ei se ongelma siinä ollut ..Character wrote:Vika on varmaan tuossa..Code: Select all
PlaySound pistooli,50
poistin pari koodiriviä niin alko toimimaan äänetkin
EDIT:
kiitos avusta
Re: Tyhmät kysymykset
Tämä ei varsinaisesti ole ongelma mutta otsikko on "Tyhmät kysymykset"
Voisiko joku lähettä kunnollisen esimerkin rekursiosta?´
Olisi katsos kiva tietää, että mikä se on.
Voisiko joku lähettä kunnollisen esimerkin rekursiosta?´
Olisi katsos kiva tietää, että mikä se on.
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
Re: Tyhmät kysymykset
No vaikka tämmönen:
Eli rekursiivisen funktion pääidea on se että se kutsuu itseään tekemään jotakin. Kannattaa varoa ettei kuitenkaan onnistu tekemään loputonta rekursiota.
Code: Select all
Rekursiivi(5)
WaitKey
Function Rekursiivi(count)
Print "Moi, olen rekursiivinen funktio!"
count - 1
If count > 0 Then
Rekursiivi(count)
EndIf
End Function
-
- Tech Developer
- Posts: 545
- Joined: Sun Aug 26, 2007 2:43 pm
- Location: Liminka
Re: Tyhmät kysymykset
Tässä olisi vielä esimerkkinä Sierpinskin Kolmio rekursion avulla toteutettuna:
Code: Select all
SCREEN 800, 800
sierTri(0, 800, 400, 0, 800, 800, 7, 0, 1)
DrawScreen OFF
WaitKey
Function sierTri(x1#, y1#, x2#, y2#, x3#, y3#, d, n = 0, dd = 0)
Line x1 + 1, y1, x2 + 1, y2
Line x2 + 1, y2, x3 + 1, y3
Line x3 + 1, y3, x1 + 1, y1
If n < d Then
If n = 0 Then
sierTri((x1 + x2) * 0.5, (y1 + y2) * 0.5, (x1 + x3) * 0.5, y1, (x2 + y3) * 0.5, (y1 + y2) * 0.5, d, 1, dd)
Else
sierTri((x1 + x2) * 0.5, y1 - (y2 - y1) * 0.5, (x1 + x3) * 0.5, y1, (x2 + x3) * 0.5, y1 - (y2 - y1) * 0.5, d, n + 1, dd)
sierTri(((x1 + x2) * 0.5) - (x3 - x2), y1 + (y2 - y1) * 0.5, (x1 + x3) * 0.5 - (x3 - x1) * 0.5, y2, (x2 + x3) * 0.5 - (x3 - x2), y1 + (y2 - y1) * 0.5, d, n + 1, dd)
sierTri(((x1 + x2) * 0.5) + (x3 - x2), y1 + (y2 - y1) * 0.5, (x1 + x3) * 0.5 + (x3 - x1) * 0.5, y2, (x2 + x3) * 0.5 + (x3 - x2), y1 + (y2 - y1) * 0.5, d, n + 1, dd)
EndIf
EndIf
If dd and Rand(1, 10) = 1 Then DrawScreen OFF
EndFunction
CoolBasic henkilökuntaa
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Re: Tyhmät kysymykset
Kun haluan piirtää neliöitä, onko nopeampaa käyttää CBn Box -funkkaria vai piirtää halutun värinen pikseli koordinaatteihin 0,0, lukita ruutu, lukea se funktiolla GetPixel2 ja sitten muodostaa neliö PutPixel2:sella?
Entä saavuttaako muistipalojen käytöllä eroa nopeudessa verrattuna että käyttäisi normaaleita taulukoita a la CB?
Entä saavuttaako muistipalojen käytöllä eroa nopeudessa verrattuna että käyttäisi normaaleita taulukoita a la CB?
Re: Tyhmät kysymykset
Okei, minulla on pelimaailma, joka piirretään piirtokomennoilla. Kenttätiedostot siis sisältävät ainoastaan tietoa tyyliin "Kordinaateissa X ja Y on Z kokoinen ympyrä." Koska pelin resoluution on oltava muutettavissa, resoluutiot annetaan liukulukuina, esim. 0.5 on puolessa välissä ruutua jne.
Havaitsin kuitenkin ikävän varjopuolen systeemissä: koska kaikki koordinaatit lasketaan näytön korkeuden ja leveyden perusteella, resoluution kuvasuhteen muutos saa kentänkin venymään; sen lisäksi että se näyttää typerältä, siitä saattaa toisinaan olla todellista haittaa.
Miten siis saan koordinaatit skaalautumaan resoluutioon, mutta ilman että resoluutio vaikuttaa kuvasuhteeseen? Voinko esim. verrata alkuperäistä kuvasuhdetta nykyiseen, ja venyttää kordinaatit niiden mukaan? Tarvitsisin aika yksityiskohtaisen selityksen, esimerkinkin mielellään, minulla ei ole hajuakaan kuinka esim. kuvasuhde lasketaan.
Kiitos.
Havaitsin kuitenkin ikävän varjopuolen systeemissä: koska kaikki koordinaatit lasketaan näytön korkeuden ja leveyden perusteella, resoluution kuvasuhteen muutos saa kentänkin venymään; sen lisäksi että se näyttää typerältä, siitä saattaa toisinaan olla todellista haittaa.
Miten siis saan koordinaatit skaalautumaan resoluutioon, mutta ilman että resoluutio vaikuttaa kuvasuhteeseen? Voinko esim. verrata alkuperäistä kuvasuhdetta nykyiseen, ja venyttää kordinaatit niiden mukaan? Tarvitsisin aika yksityiskohtaisen selityksen, esimerkinkin mielellään, minulla ei ole hajuakaan kuinka esim. kuvasuhde lasketaan.
Kiitos.