ongelma huoneiden kans
-
- Newcomer
- Posts: 25
- Joined: Tue Aug 28, 2007 8:29 pm
ongelma huoneiden kans
tää on ehkä liijan pieni omaa topickkii varte mut kun teen yläviistost kuvattuu rgp peliä nii mten siihen sais toteutettuu huoneet
siis ku ukko menee talon oven kohalle ja painaa entterii nii se menis sisää?
siis ku ukko menee talon oven kohalle ja painaa entterii nii se menis sisää?
Re: ongelma huoneiden kans
Tee type huoneita varten ja laitat siihen typeen kaikille huoneille oman numeron (huoneID tai jotain vastaavaa). Sitten laitat kartan data kerrokseen oven kohdalle sen huoneen numeron. Kun enteriä painetaan, tarkistat onko data kerroksessa jonkun huoneen numero, ja jos on niin siirryt siihen huoneeseen.
En ole testannut tuommoista, mutta saattaisi toimia.
En ole testannut tuommoista, mutta saattaisi toimia.
CoolBasic henkilökuntaa
Kehittäjä
Kehittäjä
-
- Newcomer
- Posts: 25
- Joined: Tue Aug 28, 2007 8:29 pm
Re: ongelma huoneiden kans
siis miten ne huaneet tehää ku laitaa gosub huone
ni se menee huone:
mitä mitä sit huoneesee laitetaa ladataaks mappi ja kaikki muut vai?
ni se menee huone:
mitä mitä sit huoneesee laitetaa ladataaks mappi ja kaikki muut vai?
Re: ongelma huoneiden kans
Jos gosubilla teet niin kannattais tehdä näin:
En tosin suosittele gosubin käyttöä. Jos mahdollista niin tee se funktioilla.
Code: Select all
IF painetaan entteriä oikeassa kohdassa THEN
gosub laatahuone 2 & laita objektit oikeille paikoilleen
ENDIF
Since 24-March 05
-
- Newcomer
- Posts: 25
- Joined: Tue Aug 28, 2007 8:29 pm
Re: ongelma huoneiden kans
pitääks sie "huoneessa" ladata objektit mappi ja muut tsydeemit sitä hain takaa
ja huonee tarkotus on ooll trainig-room siel siis mätkitää äijii
ja huonee tarkotus on ooll trainig-room siel siis mätkitää äijii
Re: ongelma huoneiden kans
Tietysti mapit ja objektit täytyy ladata.nassi-setä wrote:pitääks sie "huoneessa" ladata objektit mappi ja muut tsydeemit sitä hain takaa
ja huonee tarkotus on ooll trainig-room siel siis mätkitää äijii
Itse tekisin tällaisen systeemin luultavasti functionoilla.
Eli tarkista mapin data-kerros GetMap-komennolla, jos ukkon koordinaatit täsmäävät tilen kanssa niin...
Code: Select all
If GetMap (3, ObjectX(ukko), ObjectY(ukko)) = 1 Then
*toiminnot*
EndIf
Code: Select all
If GetMap (3, ObjectX(ukko), ObjectY(ukko)) = 1 And KeyDown(cbKeyReturn) Then
huone1()
Endif
Ja jos haluat huoneeseen vihuja, joita saa mätkiä sen voi luoda vaikka typeillä. Luo type opas manuaalista
-
- Newcomer
- Posts: 25
- Joined: Tue Aug 28, 2007 8:29 pm
Re: ongelma huoneiden kans
ongelmana on se etten älyy yhtikäs mitään funktioista
Re: ongelma huoneiden kans
Functioilla luodaan lisää komentoja CB:hen. Funktio voi toimia siis samalla tavalla kuin esimerkiksi kuin LoadObject, mutta sinun täytyy itse "rakentaa" functio eli tavallaan luoda uusi komento.
-
- Newcomer
- Posts: 25
- Joined: Tue Aug 28, 2007 8:29 pm
Re: ongelma huoneiden kans
ok,mut tuli toine ongnelma se valittaa sitä:can`t find missing REPEAT
täs koodii mikä olis vikana
täs koodii mikä olis vikana
Code: Select all
Type AMMUS
Field obj
EndType
Type VIHUT
Field obj2
Field elu
Field ase
EndType
kartta = LoadMap("Media\alku1.til","Media\tileset3.bmp")
PlayObject kartta,0,0,1
miekka=LoadObject("media\miekka.bmp",90)
ukko1=LoadObject("media\vasen.bmp")
MaskObject ukko1,cbMagenta
ShowObject ukko1,OFF
ukko2=LoadObject("media\oikee.bmp")
MaskObject ukko2,cbMagenta
ShowObject ukko2,OFF
ukko3=LoadObject("media\taka.bmp")
MaskObject ukko3,cbMagenta
ShowObject ukko3,OFF
ukko4=LoadObject("Media\etu.bmp")
MaskObject ukko4,cbMagenta
ShowObject ukko4,OFF
talo=LoadObject("media\talo.bmp")
pati=LoadObject("media\nuoli.bmp",90)
ukko = CloneObject (ukko4)
M_vihu=LoadObject("media\etu.bmp")
SetupCollision ukko, kartta, 1, 4, 2
lvl=1
attack=1
defu=1
Strr=1
AddText "LVL="+lvl
AddText "attack="+attack
AddText "defense="+defu
AddText "strenght="+Strr
Repeat
CloneObjectPosition miekka,ukko
MoveObject miekka,7
PositionObject talo,-50,80
'Ukon ohjaus
If LeftKey() Then
MoveObject ukko,-5
PaintObject ukko,ukko1
EndIf
If RightKey() Then
MoveObject ukko,5
PaintObject ukko,ukko2
EndIf
If UpKey() Then
MoveObject ukko,0,-5
PaintObject ukko,ukko3
EndIf
If DownKey() Then
MoveObject ukko,0,5
PaintObject ukko,ukko4
EndIf
UpdateGame
CloneCameraPosition ukko
If KeyDown(cbKeyZ) Then TurnObject miekka,12
If KeyDown(cbKeyX) Then TurnObject miekka,-12
If ObjectsOverlap(ukko,talo) And KeyHit(28) Then
vihu.VIHUT = New(VIHUT) 'luo uusi ammus
vihu\obj2=CloneObject(M_vihu) 'tee klooni
vihu.VIHUT = New(VIHUT) 'luo uusi ammus
vihu\ase=CloneObject(miekka)
CloneObjectPosition vihu\ase,vihu\obj2
'käännetään pati samaan suuntaan
'Päivitä kaikki ammukset
For vihu.VIHUT = Each VIHUT
MoveObject vihu\obj2,1
PointObject vihu\obj2,ukko
PointObject Vihu\ase,ukko
SetupCollision ukko,vihu\obj2
vihu\elu=20
If vihu\elu=0 Then
DeleteObject vihu\obj2
Delete vihu
EndIf
If ObjectsOverlap(miekka,vihu\obj2) Then
vihu\elu=-5
EndIf
Next vihu
DrawScreen
Until EscapeKey()
Re: ongelma huoneiden kans
Yksi endiffi puuttui, ja lisäksi SetupCollisionista puuttui törmäystyypin parametrit. Kolmanteja virheenä yritit käyttää vihu\obj21:stä, jota ei ollut olemassa. Korjasin virheet.
Code: Select all
Type AMMUS
Field obj
EndType
Type VIHUT
Field obj2
Field elu
Field ase
EndType
kartta = LoadMap("Media\alku1.til","Media\tileset3.bmp")
PlayObject kartta,0,0,1
miekka=LoadObject("media\miekka.bmp",90)
ukko1=LoadObject("media\vasen.bmp")
MaskObject ukko1,cbMagenta
ShowObject ukko1,OFF
ukko2=LoadObject("media\oikee.bmp")
MaskObject ukko2,cbMagenta
ShowObject ukko2,OFF
ukko3=LoadObject("media\taka.bmp")
MaskObject ukko3,cbMagenta
ShowObject ukko3,OFF
ukko4=LoadObject("Media\etu.bmp")
MaskObject ukko4,cbMagenta
ShowObject ukko4,OFF
talo=LoadObject("media\talo.bmp")
pati=LoadObject("media\nuoli.bmp",90)
ukko = CloneObject (ukko4)
M_vihu=LoadObject("media\etu.bmp")
SetupCollision ukko, kartta, 1, 4, 2
lvl=1
attack=1
defu=1
Strr=1
AddText "LVL="+lvl
AddText "attack="+attack
AddText "defense="+defu
AddText "strenght="+Strr
Repeat
CloneObjectPosition miekka,ukko
MoveObject miekka,7
PositionObject talo,-50,80
'Ukon ohjaus
If LeftKey() Then
MoveObject ukko,-5
PaintObject ukko,ukko1
EndIf
If RightKey() Then
MoveObject ukko,5
PaintObject ukko,ukko2
EndIf
If UpKey() Then
MoveObject ukko,0,-5
PaintObject ukko,ukko3
EndIf
If DownKey() Then
MoveObject ukko,0,5
PaintObject ukko,ukko4
EndIf
UpdateGame
CloneCameraPosition ukko
If KeyDown(cbKeyZ) Then TurnObject miekka,12
If KeyDown(cbKeyX) Then TurnObject miekka,-12
If ObjectsOverlap(ukko,talo) And KeyHit(28) Then
vihu.VIHUT = New(VIHUT) 'luo uusi ammus
vihu\obj2=CloneObject(M_vihu) 'tee klooni
vihu.VIHUT = New(VIHUT) 'luo uusi ammus
vihu\ase=CloneObject(miekka)
CloneObjectPosition vihu\ase,vihu\obj2
'käännetään pati samaan suuntaan
EndIf
'Päivitä kaikki ammukset
For vihu.VIHUT = Each VIHUT
MoveObject vihu\obj2,1
PointObject vihu\obj2,ukko
PointObject Vihu\ase,ukko
SetupCollision ukko,vihu\obj2,1,4,2
vihu\elu=20
If vihu\elu=0 Then
DeleteObject vihu\obj2
Delete vihu
EndIf
If ObjectsOverlap(miekka,vihu\obj2) Then
vihu\elu=-5
EndIf
Next vihu
DrawScreen
Until EscapeKey()
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: ongelma huoneiden kans
Itse tekisin ison kartan, jossa kaikki huoneet ovat. Huoneet voivat olla myös erillään, jolloin seuraavaa ei näe seinän läpi.
ÖffTöpik:
Puhutaan mieluummin suomea, eikö? Ei siis function, functio tms. vaan funktio, tai tuttavallisemmin funkkari.
ÖffTöpik:
Puhutaan mieluummin suomea, eikö? Ei siis function, functio tms. vaan funktio, tai tuttavallisemmin funkkari.
-
- Newcomer
- Posts: 25
- Joined: Tue Aug 28, 2007 8:29 pm
Re: ongelma huoneiden kans
kiitti sain peliini tosipaljo etee päin
tää ei kyl liity tähän mut voiko komennolla RAND tehä tämmösen et ku miekka osuu vihuu niise arpoo kuoleeko vai torjuuko vihu iskun?
tää ei kyl liity tähän mut voiko komennolla RAND tehä tämmösen et ku miekka osuu vihuu niise arpoo kuoleeko vai torjuuko vihu iskun?
Re: ongelma huoneiden kans
Kyllä.nassi-setä wrote:kiitti sain peliini tosipaljo etee päin
tää ei kyl liity tähän mut voiko komennolla RAND tehä tämmösen et ku miekka osuu vihuu niise arpoo kuoleeko vai torjuuko vihu iskun?
Code: Select all
If Rand(1) then
'vihollinen kuolee
Else
'vihollinen torjuu
Endif
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
-
- Newcomer
- Posts: 25
- Joined: Tue Aug 28, 2007 8:29 pm
Re: ongelma huoneiden kans
mä oon teijän mielest varmaa avuton pikku kakru ku kyselen koko ajan kaikkee
mut kummiskin miten pystyy laittaa tyypeil tehyille vihuille heltin oon yrittäny käyttää tämmöstä ku
mut en älyy miten tot field elu:uu käytetää
mut kummiskin miten pystyy laittaa tyypeil tehyille vihuille heltin oon yrittäny käyttää tämmöstä ku
Code: Select all
Type VIHUT
Field obj2
Field elu
EndType
-
- Advanced Member
- Posts: 335
- Joined: Tue Aug 28, 2007 3:55 pm
- Location: Siellä jossain
Re: ongelma huoneiden kans
Esim kun ukko menettää enkkua komennat
Toivottavasti tajusit idean. Ja jos haluat laittaa alussa, kun luot vihun, enkuksi vaikka 100 laitat vain luonnin perään vihu\elu=100 eli aivan niinkuin muuttujaa Ja en pidä sua tyhmänä, itelläkin oli typeriä ongelmia aluksi...
Code: Select all
For vihu.VIHUT=Each VIHUT
vihu\elu-1
next vihu
Projektit:
Joku projekti meneillään... Mitähän siitäkin tulee
Joku projekti meneillään... Mitähän siitäkin tulee
-
- Newcomer
- Posts: 25
- Joined: Tue Aug 28, 2007 8:29 pm
Re: ongelma huoneiden kans
tokavika kysymys voisko joku tehä mulle xp laskurin etku miekka osuu vihuu nii tulee vaik 2xp tä ja sit ku on vaik 20xp nii attack nousee levelil?
koitin tehä mut ei onnistunu
koitin tehä mut ei onnistunu
Last edited by nassi-setä on Sun Oct 07, 2007 3:10 pm, edited 1 time in total.
Re: ongelma huoneiden kans
Code: Select all
Repeat
If keyhit(cbkeyspace) then 'vaihda tohon vihuun osuminen
xp + 2
EndIf
If xp > 20 then
lvl + 1
xp = 0
Endif
Text 0,0,"XP: " + xp
text 0,13,"LVL: " + lvl
DrawScreen
Forever
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Re: ongelma huoneiden kans
viewtopic.php?f=12&t=61nassi-setä wrote:tokavika kysymys voisko joku tehä mulle xp laskurin etku miekka osuu vihuu nii tulee vaik 2xp tä ja sit ku on vaik 20xp nii attack nousee levelil?
koitin tehä mut ei onnistunu
-
- Newcomer
- Posts: 25
- Joined: Tue Aug 28, 2007 8:29 pm
Re: ongelma huoneiden kans
taas kysyisin tämmöstä että miten pystyy tekemään sillee et miekka liikkuu sopivaa vauhtia jonkin matkaa sivulle ja sit palaa takas
ymmärskö kukaa?
ymmärskö kukaa?
Re: ongelma huoneiden kans
Sinun täytyy luoda se frameilla. Oletan, että se on ukko, jonka tulisi lyödä miekalla.nassi-setä wrote:taas kysyisin tämmöstä että miten pystyy tekemään sillee et miekka liikkuu sopivaa vauhtia jonkin matkaa sivulle ja sit palaa takas
ymmärskö kukaa?
Eli siis sisnun täytyy luoda kuvaan frameja ja se objekti täytyy ladata loadanimobjectilla.
Esimerkkinä tästä on vaikka CoolBasicin media kansiossa oleva ampu.bmp kuva. Jokaisen framen täytyy olla samankokoinen.
Katso vaikka oppitunti 19: Painovoima. Siinä käytetään animoituja objekteja.
Eli ne ladataan näin:
Code: Select all
ukko = loadanimobject("media\ukko.bmp",30,20,11,0.5)