Tyhmät kysymykset (I/2011)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
User avatar
Noun
Newcomer
Posts: 19
Joined: Sun May 08, 2011 8:17 pm
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Noun »

Mahtavaa, kiitoksia paljon!

Toinen ongelma liittyisi vihujen törmäykseen. Kun vihollinen törmää seinään ja toinen puskee tämän perään, vihu työntyy seinän läpi. Voiko tätä estää mitenkään?
User avatar
hannes98
Newcomer
Posts: 16
Joined: Sat May 08, 2010 10:38 am

Re: Tyhmät kysymykset (I/2011)

Post by hannes98 »

Noun wrote:Mahtavaa, kiitoksia paljon!

Toinen ongelma liittyisi vihujen törmäykseen. Kun vihollinen törmää seinään ja toinen puskee tämän perään, vihu työntyy seinän läpi. Voiko tätä estää mitenkään?
Se riippuu koodistasi. Olet luultavasti tehnyt niin, että vihujen törmäys on liukuva. Muuta törmäys pysähtyväksi.

Laita koodia näkymään niin voin auttaa paremmin. ;)
Hahaa!!! Tuhlasit elinaikaasi tyhmän viestini lukemiseen... :D

Projektit:
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset (I/2011)

Post by Jonez »

Noun wrote:Toinen ongelma liittyisi vihujen törmäykseen. Kun vihollinen törmää seinään ja toinen puskee tämän perään, vihu työntyy seinän läpi. Voiko tätä estää mitenkään?
Cb:n omalla törmäystarkistuksella ei tätä tietääkseeni pysty estämään, jos siis käytät liukuvaa törmäystä. Yksi ratkaisu on tarkastaa GetMapilla objektin ja hit-tilen päällekäisyys, ja siirtää objekti pois seinästä.

Eli jotenkin näin:
- Tarkastat törmäyksen kartan ja objektin kesken (GetMap(), GetCollision()). Jos törmätään, suoritetaan seuraavat askeleet:
- Katsot törmäyskulman (CollisionAngle())
- Siirrät objektin ensin törmäystilen keskustaan, ja sitten törmäyskulman vastaisesti (eli pois seinästä) tilen puolikkaan + objektin puolikkaan verran. Kannattaa tehdä siirtomatematiikka kerralla (vektorimatskua) ennen itse siirtoa, eli ei kahta erillistä siirtoa.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
User avatar
Noun
Newcomer
Posts: 19
Joined: Sun May 08, 2011 8:17 pm
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Noun »

Okei, tattista. Eiköhän tämä jotenkin onnistu.

Vielä yksi ehkä oikein tyhmä kysymys... miten saan selville missä tilekartan tilekoordinaateissa objekti on?

EDIT: Nm, SDK:ssa taitaa olla funktio.
EDIT2: Se ongelma ratkesi, mutta nyt EditMap heittää mavia. EditMapin esimerkistä muokattu koodi tässä:

Code: Select all

FrameLimit 40

'Create a map from Blank 
map=MakeMap(32,32,32,32)
u=LoadObject("Media\guy.bmp",72)

'Apply some graphics on it 
tileset=LoadImage("Media\tileset.bmp")
PaintObject map,tileset

'Randomly fill the map 
For y=1 To MapHeight()
For x=1 To MapWidth()
    If Rand(1,5)=5 Then 
        EditMap map,0,x,y,2 'drawing
        EditMap map,2,x,y,1 'collision
    Else 
        EditMap map,0,x,y,145
    EndIf
Next x
Next y

'The game loop-itself 
Repeat

    If UpKey() Then MoveObject u,2
    If DownKey() Then MoveObject u, -2
    If LeftKey() Then TurnObject u,5
    If RightKey() Then TurnObject u, -5
    
    'Glue camera to object position
    CloneCameraPosition u
    
    If GetMap(0,ObjectX(u),ObjectY(u))=2 Then
         EditMap map,0,GetTileX(ObjectX(u))/32,GetTileY(ObjectY(u))/32,145
         EditMap map,2,GetTileX(ObjectX(u))/32,GetTileY(ObjectY(u))/32,0
         EditMap map,3,GetTileX(ObjectX(u))/32,GetTileY(ObjectY(u))/32,0
    EndIf
    
    DrawScreen

Forever



//================================================================================
// Selvitetään maailmankoordinaattien mukainen tilen x-paikka.
// Parametrit:
// _x       - X-koordinatti pikseleinä. 
//================================================================================
Function GetTileX(_x)
    mapX# = (ObjectSizeX(gCurrentMap) / 2.0) - ObjectX(gCurrentMap)
    Return RoundUp((_x + mapX) / gTileWidth)
EndFunction


//================================================================================
// Selvitetään maailmankoordinaattien mukainen tilen y-paikka
// Parametrit:
// _y       - Y-koordinatti pikseleinä. 
//================================================================================
Function GetTileY(_y)
    mapY# = ObjectY(gCurrentMap) + (ObjectSizeY(gCurrentMap) / 2.0)
    Return RoundUp((mapY - _y) / gTileHeight)
EndFunction
Se voi ajaessa kaatua heti jos pelaaja spawnaa ruutuun, jota olisi tarkoitus muokata. Kartan nimi on oikein, objektin nimi on oikein...mutta mavaa.
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by valscion »

Noun wrote:Nm, SDK:ssa taitaa olla funktio.
Tässä se ongelma onkin. SDK:n funktio käyttää globaaleja muuttujia kartalle ja kartan korkeudelle/leveydelle. Spottaatko alla olevista funktioista muuttujat gCurrentMap, gTileWidth ja gTileHeight? Laita niiden tilalle karttasi tilejen leveys ja korkeus vastaavasti sekä globaalissa muuttujassa oleva karttasi. Kts. avainsanan Global ohje.
Noun wrote:

Code: Select all

//================================================================================
// Selvitetään maailmankoordinaattien mukainen tilen x-paikka.
// Parametrit:
// _x       - X-koordinatti pikseleinä. 
//================================================================================
Function GetTileX(_x)
    mapX# = (ObjectSizeX(gCurrentMap) / 2.0) - ObjectX(gCurrentMap)
    Return RoundUp((_x + mapX) / gTileWidth)
EndFunction


//================================================================================
// Selvitetään maailmankoordinaattien mukainen tilen y-paikka
// Parametrit:
// _y       - Y-koordinatti pikseleinä. 
//================================================================================
Function GetTileY(_y)
    mapY# = ObjectY(gCurrentMap) + (ObjectSizeY(gCurrentMap) / 2.0)
    Return RoundUp((mapY - _y) / gTileHeight)
EndFunction
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
User avatar
Laurenzo
Member
Posts: 85
Joined: Mon Apr 25, 2011 8:28 am
Location: Tampere
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Laurenzo »

KOne sanoo edelleen: can`t load map:Rata.til

Jotain tollasta sanoo en tajua missä vika nimessäEI pitäisi olla vikaa.
Aloittelija koodari joka
osaa jo jotain (ehkä) :)
KOTISIVU
User avatar
Laurenzo
Member
Posts: 85
Joined: Mon Apr 25, 2011 8:28 am
Location: Tampere
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Laurenzo »

En oikein tiedä kuuluuko tämä kysymys tähän ketjuun vai johonkin muuhun. :)
Pystyyko CoolBasicilla tehdä tekstikenttiä eli pelaaja voi kirjoitella pelin aikana :?
Aloittelija koodari joka
osaa jo jotain (ehkä) :)
KOTISIVU
User avatar
Timblex
Advanced Member
Posts: 252
Joined: Sun Apr 11, 2010 10:37 am
Location: Kouvola

Re: Tyhmät kysymykset (I/2011)

Post by Timblex »

$in=Input("teksti ennen kirjoituskohtaa")
pitää aina muistaa sulkea closeinputilla ;)
Entinen timpe99...
Demokisa 2013 demo valmis, Check it out!
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset (I/2011)

Post by Jonez »

CB:ssä ei tietääkseni voi määritellä muuttujaa joka alkaisi dollarimerkillä. Eli laita komento:
in$ = Input( ": " )

Ja jos et saa ladattua karttaa, näytä koodi, kerro minne olet tallentanut kartan ja tilesetin, ja millä editorilla loit sen.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus »

Laurenzo wrote:En oikein tiedä kuuluuko tämä kysymys tähän ketjuun vai johonkin muuhun. :)
Pystyyko CoolBasicilla tehdä tekstikenttiä eli pelaaja voi kirjoitella pelin aikana :?
Tyhmät kysymykset, eli toisin sanoen "lyhyet kysymykset, joihin on lyhyt vastaus". Tähän kuuluu, samoin kuin kaikki muutkin saman tyyppiset kysymykset. Kysyminen sen sijaan ei ole koskaan tyhmää.
User avatar
Laurenzo
Member
Posts: 85
Joined: Mon Apr 25, 2011 8:28 am
Location: Tampere
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Laurenzo »

Koodi:

Code: Select all

map = LoadMap("Rata.til","Default.bmp")
kartta:C Program Files/latejunasimu/Rata.Til
Tilekartta:Tilester sijainti:C program files/Tilester/Tilester.exe



Toivottavasti tuo riittää.
Aloittelija koodari joka
osaa jo jotain (ehkä) :)
KOTISIVU
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Viltzu »

Laurenzo wrote:Koodi:

Code: Select all

map = LoadMap("Rata.til","Default.bmp")
kartta: C:/Program Files/latejunasimu/Rata.Til
Tilekartta: Tilester sijainti: C:/program files/Tilester/Tilester.exe

Toivottavasti tuo riittää.
Mikä on tilekartan (edit: Tarkoitin tilesettiä >_<) sijainti? Ja unohdit tärkeimmän, exen tai koodin sijainti jonka ajat. (Pitäisi olla C:/Program Files/latejunasimu kansiossa, sekä tilekartta samassa kuin rata myöskin)
Last edited by Viltzu on Sat May 28, 2011 11:55 am, edited 1 time in total.
sebsu123
Newcomer
Posts: 13
Joined: Tue Mar 22, 2011 3:19 pm

Re: Tyhmät kysymykset (I/2011)

Post by sebsu123 »

hei kaikki koodarit!

tämmönen "haasteen" keksisin. kun on semmosia mainoksia on missä pitää esim. ampua kolme iphonea niin voi saada semmosen ,niin pystyisikö joku tekee semmosen tarkkuus ammunta pelin missä kuva ruudun edestä kulkisi maalitauluja ja niihin pitäisi osua. siinä olisi vaikka 50 patia jos kaikilla osuu tauluun niin pääsee toiselle tasolle. ja toisel tasolle kun on päässy niin ne taulut menis vaikka nopeemmin. :mrgreen: :lol: :D
en itse osaa... :? :? :?
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus »

sebsu123 wrote:en itse osaa...
Kannattaa siis opetella.

Katso manuaalista MouseX, MouseY, MouseHit, LoadImage ja DrawImage. Riippuen toteutustavastasi saattaa kannattaa tutustua myös tyyppien käyttöön, jolloin kannattaa lukea Type-tutoriaali tämän foorumin Esimerkit ja tutoriaalit -alueelta.
User avatar
Laurenzo
Member
Posts: 85
Joined: Mon Apr 25, 2011 8:28 am
Location: Tampere
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Laurenzo »

Viltzu wrote:
Laurenzo wrote:Koodi:

Code: Select all

map = LoadMap("Rata.til","Default.bmp")
kartta: C:/Program Files/latejunasimu/Rata.Til
Tilekartta: Tilester sijainti: C:/program files/Tilester/Tilester.exe

Toivottavasti tuo riittää.
Mikä on tilekartan sijainti? Ja unohdit tärkeimmän, exen tai koodin sijainti jonka ajat. (Pitäisi olla C:/Program Files/latejunasimu kansiossa, sekä tilekartta samassa kuin rata myöskin)

Kartta ja koodi on samassa kansiossa.
Aloittelija koodari joka
osaa jo jotain (ehkä) :)
KOTISIVU
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post by Latexi95 »

Laurenzo wrote: Kartta ja koodi on samassa kansiossa.
Entäs tuo tileset kuva?
User avatar
Laurenzo
Member
Posts: 85
Joined: Mon Apr 25, 2011 8:28 am
Location: Tampere
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Laurenzo »

Latexi95 wrote:
Laurenzo wrote: Kartta ja koodi on samassa kansiossa.
Entäs tuo tileset kuva?
SEKIN on samassa kansiossa.
Aloittelija koodari joka
osaa jo jotain (ehkä) :)
KOTISIVU
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by valscion »

Laurenzo wrote:
Latexi95 wrote:
Laurenzo wrote: Kartta ja koodi on samassa kansiossa.
Entäs tuo tileset kuva?
SEKIN on samassa kansiossa.
Ja ajat sen pelisi suoraan koodista kyseisen kansion sisältä? Sanoisinpa että siinä vaiheessa kannattaa siirtää tavarat pois Program Files -kansion sisältä, koska siihen liittyy kaikenlaisia suojauksia Windowsin puolelta. Koita siirtää koko projektisi kansio vaikkapa omiin tiedostoihin, niin homma voisi pelittää. Jos ei, niin sitten kyllä alkaa auttamismahdollisuudet loppua.
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
User avatar
Laurenzo
Member
Posts: 85
Joined: Mon Apr 25, 2011 8:28 am
Location: Tampere
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Laurenzo »

Ja ajat sen pelisi suoraan koodista kyseisen kansion sisältä? Sanoisinpa että siinä vaiheessa kannattaa siirtää tavarat pois Program Files -kansion sisältä, koska siihen liittyy kaikenlaisia suojauksia Windowsin puolelta. Koita siirtää koko projektisi kansio vaikkapa omiin tiedostoihin, niin homma voisi pelittää. Jos ei, niin sitten kyllä alkaa auttamismahdollisuudet loppua.

Ei toimi :(
Ps.koneessa missä koodieditori on EI ole internet-yhteyttä.
Aloittelija koodari joka
osaa jo jotain (ehkä) :)
KOTISIVU
Minecrafter

Re: Tyhmät kysymykset (I/2011)

Post by Minecrafter »

Miten voisin muuttaa maailman koordinaatit näytön koordinaateiksi?
Locked