KilledWhale edellisellä sivulla wrote:
...Tässä vielä muutama funktio ini-tiedostojen lukuun jos vaikka näillä toimisi: http://cbkk.systec.fi/koodi.php?id=213
Tuota kyseisen funktion hienoutta olen täälläkin ihmetellyt, mutta tosiaan oli tarve kirjoittavalle funktiolle... Voin tunnustautua puolinoobiksi, mutta taitoni eivät riitä sellaisen kirjoittamiseen.
osaisiko joku kertoa, että miten saisi kaksi eri objektia liitettyä yhteen haluamastaan kohtaan, eli itselläni on eri objektit ukolle ja verelle joka alkaa tippumaan sitten kun kaveri on saanut tarpeeksi iskua. voisihan sen tehdä myös tuolla tilesterillä, mutta oman käsitykseni mukaan tileset mappeja ei voida liikuttamaan kuten pelihahmoa. Tuo veri pitäisis siis saada esim vasempaan käteen jos siihen on osunut luoti jolloin veri tippuisi vasemmalta ja niin edelleen, toivottavasti ymmärsitte mitä tarkoitin.
p.s. poistakaa tämä viesti jos jossain sattuu olemaan jo samanlainen
Vastauksia ei enää tarvita. sain homman toimimaan tuolla positionobjektilla, mutta kiitosta kuitenkin vastanneille. toinen kysymykseni olisi kuitenkin sellainen että, saisiko coolbasicilla tehtyä ohjelmaa joka arpoisi esim viikon ruoan valitsemistaan ehdoista. Mielessäni olisi sellainen ohjelma johon laittaisin ruoka reseptejä joka suunnittelisi esimerkiksi viikon ruoan erilaisista ehdoista niin kuin käyttäjä haluaa. esim hinnan mukaan tai esimerkiksi sen mukaan paljonko siinä olisi kaloreita.
Last edited by jpmp on Sat Jul 18, 2009 1:48 pm, edited 1 time in total.
if damage > 9 Or damage = 10 Then
PositionObject kasi_veressa, ObjectX (ukko), ObjectY (ukko)//eli kasi_veressa objecti samaan kohtaan ukko objectin kanssa
DestroyObject ukko // tuhotaan ukko
ShowObject kasi_veressa, ON
EndIf
Ei kerro. Tarkoitus on laskea, mikä neliön pisteistä on lähimpänä jotain tiettyä pistettä. Kannattanee tutustua tarkemmin siihen manuaaliin, distance2 nimittäin palauttaa kahden objektin välisen etäisyyden.
Henkru wrote:Erittäin purkkaratkaisu olisi tarkistaa neliön jokaisen pisteen etäisyys kyseisestä pisteestä ja katsoa niistä lyhyin.
Lol, on niitä nyt muitakin purkkaratkaisutapoja, mutta tuo kyllä huonoin. :D Anyway, löytyi tuollainen: http://cbkk.systec.fi/koodi.php?id=204 ja sain modattua siitä toimivan.
Hene (Yleisellä koneella) wrote:Pystyykö CB pelistä tekemään jotenkin useamman pelaajan nettiversion?
Haulla pitäisi löytyä CbNetwork ja on sillä tehtykin 1 peli. "DeathMatch the end" taisi olla nimi.
Itseasiassa NetMatch the end, mutta kuitenkin, onhan sitten tuo uusi cbTCP, mutta nettijutut ovat niin vaikeita ettemme me ammattilaisetkaan oikeen välillä ymmärrä niitä.(Kun puhun ammatilaisista en vlttämättä tarkoita itseäni. )
Global player, rahat
Type moi
Field kuva
EndType
player = LoadObject("media/guy.bmp",72)
Hei.moi = New (moi)
Hei\kuva = CloneObject (PLayer)
Hei.moi = New (moi)
Hei\kuva = CloneObject (PLayer)
rahat = 100
Repeat
MoveObject player,(UpKey() - DownKey()) * 2
TurnObject player,(LeftKey() - RightKey()) * 5
MoveObject Hei\kuva,(UpKey() - DownKey()) * 2
TurnObject Hei\kuva,(LeftKey() - RightKey()) * 3
If KeyDown(cbkeyr)
rahat = rahat +1
EndIf
//F5 tallentaa ja F6 lataa pelin.
If KeyHit(cbkeyf5)
saveGame()
ElseIf KeyHit(cbkeyf6)
loadGame()
EndIf
Text 0,0,"Rahat: " + rahat
DrawScreen
Forever
//Pelin tallennus
Function saveGame()
f = OpenToWrite("save.sav") //Avataan tallennustiedosto
//Kirjoitetaan pelaajan nykyiset koordinaatit tiedostoon.
WriteInt f,ObjectX(player)
WriteInt f,ObjectY(player)
WriteInt f,ObjectX(Hei\kuva)
WriteInt f,ObjectY(Hei\kuva)
NextObject Hei\kuva
WriteInt f,ObjectX(Hei\kuva)
WriteInt f,ObjectY(Hei\kuva)
InitObjectList
//Myös rahat
WriteInt f,rahat
CloseFile f
EndFunction
//Pelin lataus
Function loadGame()
//Jos tallennus ON olemassa niin avataan se.
If FileExists("save.sav")
f = OpenToRead("save.sav")
//Luetaan koordinaatit samassa järjestyksessä kuin ne kirjoitettiinkin
tmpX = ReadInt(f)
tmpY = ReadInt(f)
Hei.moi = ReadInt(f)
Hei\kuva = ReadInt(f)
Hei\kuva = ReadInt(f)
NextObject Hei\kuva
Hei\kuva = ReadInt(f)
Hei\kuva = ReadInt(f)
InitObjectList
//Luetaan rahan määrä
rahat = ReadInt(f)
CloseFile f
//Asetetaan pelaaja juuri ladattuihin koordinaatteihin.
PositionObject player,tmpX,tmpY
EndIf
EndFunction
Korjaisin sen kai näin, eli laittaisin tuonne kaksi muuta fieldiä kuvax ja kuvay. Kun jos kerta haluat ladata sinne ne kordinaatit ei niitten kaikkien tunkeminen yhteen muuttujaan oikeen oo järkevää...
Global player, rahat
Type moi
Field kuva
Field kuvax
Field kuvay
EndType
player = LoadObject("media/guy.bmp",72)
Hei.moi = New (moi)
Hei\kuva = CloneObject (player)
Hei.moi = New (moi)
Hei\kuva = CloneObject (player)
rahat = 100
Repeat
MoveObject player,(UpKey() - DownKey()) * 2
TurnObject player,(LeftKey() - RightKey()) * 5
MoveObject Hei\kuva,(UpKey() - DownKey()) * 2
TurnObject Hei\kuva,(LeftKey() - RightKey()) * 3
If KeyDown(cbkeyr)
rahat = rahat +1
EndIf
//F5 tallentaa ja F6 lataa pelin.
If KeyHit(cbkeyf5)
saveGame()
ElseIf KeyHit(cbkeyf6)
loadGame()
EndIf
Text 0,0,"Rahat: " + rahat
DrawScreen
Forever
//Pelin tallennus
Function saveGame()
f = OpenToWrite("save.sav") //Avataan tallennustiedosto
//Kirjoitetaan pelaajan nykyiset koordinaatit tiedostoon.
WriteInt f,ObjectX(player)
WriteInt f,ObjectY(player)
For hei.moi = Each moi
WriteInt f,ObjectX(Hei\kuva)
WriteInt f,ObjectY(Hei\kuva)
Next hei
//Myös rahat
WriteInt f,rahat
CloseFile f
EndFunction
//Pelin lataus
Function loadGame()
//Jos tallennus ON olemassa niin avataan se.
If FileExists("save.sav")
f = OpenToRead("save.sav")
//Luetaan koordinaatit samassa järjestyksessä kuin ne kirjoitettiinkin
tmpX = ReadInt(f)
tmpY = ReadInt(f)
For hei.moi = Each moi
Hei\kuvax = ReadInt(f)
Hei\kuvay = ReadInt(f)
Next hei
//Luetaan rahan määrä
rahat = ReadInt(f)
CloseFile f
//Asetetaan pelaaja juuri ladattuihin koordinaatteihin.
PositionObject player,tmpX,tmpY
EndIf
EndFunction