Tyhmät kysymykset (II/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset (II/2009)

Post by Jonez »

Cb:n taulukot ovat globaaleja - tavallaan. Kaikkien funktion sisällä luotujen taulukoiden näkyvyysalue ei ulotu funktiosta ulos, mutta kaikki ulkopuolella luodut näkyvät myös funktioissa.

Seuraava koodinpätkä lisää hiljalleen muistinkäyttöä:

Code: Select all

Repeat
    
    Kutsu()
    
    DrawScreen
Forever

Function Kutsu()
    Dim taulu( 10 )
EndFunction
Tähän voisi lisätä, että esimerkiksi kuvia voi kuitenkin latailla funktioissa, koska palautetulla muuttujalla on sama muistiosoite. Tämä ei lisää muistinkäyttöä.

Code: Select all

Repeat
    
    kuva = lataaObjekti()
    DrawImage kuva, 0, 0
    DeleteImage kuva

    DrawScreen
Forever

Function lataaObjekti()
    img = LoadImage( "media\map.bmp" )
    Return img
EndFunction
Jos funktiossa yrittää luoda taulukkoa, joka on jo globaali, ei kääntäjä päästä sitä edes läpi, aivan kuten se ei hyväksy globaalin muuttujan uudelleenmäärittelyä.

Edit. Tai en tiedä funktiossa luodun taulukon näkyvyysalueesta sinänsä, mutta kääntäjä ei hyväksy taulukon käyttöä funktion ulkopuolella, joten se on se ja sama.
Edit2. Oikeastaan, näyttäisi siltä että näkyvyysalue on globaali, sillä kääntäjä ei hyväksy edes kahta samannimistä taulukkoa kahdessa eri funktiossa. Turhaa tekstiä loppujen lopuksi, koska taulukon luominen nykyisessä cb:ssä funktion sisällä on - hyvän suomenkielisen vastikkeen puuttuessa - just plain dumb.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
RFA(ei jaksa kirjautua)

Re: Tyhmät kysymykset (II/2009)

Post by RFA(ei jaksa kirjautua) »

mikä on cb:n erisuuri kuin -vertailuoperaattori kun != ei toimi.
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset (II/2009)

Post by koodaaja »

<>.
Wingman
Devoted Member
Posts: 594
Joined: Tue Sep 30, 2008 4:30 pm
Location: Ruudun toisella puolella

Re: Tyhmät kysymykset (II/2009)

Post by Wingman »

Onko mitään pienempää tapaa tehdä kontrollit kuin:
if keydown('nappi') then moveobject 'obj'1,0
ja sama kaikille näppäimille?
- - - -
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by valscion »

Ellu wrote:Onko mitään pienempää tapaa tehdä kontrollit kuin:
if keydown('nappi') then moveobject 'obj'1,0
ja sama kaikille näppäimille?
No vaikkapa näin:

Code: Select all

MoveObject obj, (KeyDown(cbKeyW)-KeyDown(cbKeyS))*kerroin, (KeyDown(cbKeyA)-KeyDown(cbKeyD))*kerroin
Eli jos liikutaan ylös [W] niin liikutetaan objektia eteenpäin kertoimen määrän väärän. Jos liikutaan alas niin liikutetaan objektia taaksepäin (miinus suuntaan siis) kertoimen verran. Sama sivuttaisliikkeelle ([A] ja [D])

Huomaa ettei tuo lauseke vaadi minkäänlaista Iffiä =)
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
Arzka96
Newcomer
Posts: 2
Joined: Wed Nov 11, 2009 4:50 pm

Re: Tyhmät kysymykset (II/2009)

Post by Arzka96 »

MOi!

Kuinka saa pelin näytön suuremmaksi
ja jos se on pelkkä screen eikä world?
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (II/2009)

Post by Awaclus »

Nyt tulee kyllä niin n00b kysymys, mutta pakkohan se on kysyä kun omat aivot suorittavat tällä hetkellä Brain Freezeä. Minulla on tilekentän datakerrokseen merkitty 1 siihen kohtaan, mihin hirviöiden tulisi spawnata. Miten saan hirviöt spawnaamaan sinne?

EDIT: GetMap2 on katsottu manuaalista, mutta ei vain raksuta.
KilledWhale
Tech Developer
Tech Developer
Posts: 545
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: Tyhmät kysymykset (II/2009)

Post by KilledWhale »

Chaosworm wrote:Nyt tulee kyllä niin n00b kysymys, mutta pakkohan se on kysyä kun omat aivot suorittavat tällä hetkellä Brain Freezeä. Minulla on tilekentän datakerrokseen merkitty 1 siihen kohtaan, mihin hirviöiden tulisi spawnata. Miten saan hirviöt spawnaamaan sinne?

EDIT: GetMap2 on katsottu manuaalista, mutta ei vain raksuta.
http://cbkk.systec.fi/koodi.php?id=134
Tuossa on mistheman tekemä funktio, joka spawnaa objektin kartalle tietyn kerroksen datan mukaan.
Helpompaa tapaa ei ole kuin käydä koko kartta läpi ja katsoa onko arvo sopiva.
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset (II/2009)

Post by Jonez »

Arzka96 wrote:MOi!

Kuinka saa pelin näytön suuremmaksi
ja jos se on pelkkä screen eikä world?
Screen-komennolla. Parametrit ovat: leveys, korkeus, värisyvyys ja ikkunatila. Resoluution kuuluu kokoruudun tilassa olla sellainen jota näytönohjain tukee.

Muista että Screen-komento tuhoaa kaiken aikaisemmin ladatun media. Manuaalista kannattaa katsoa lisätietoja.

Esim:

Code: Select all

SCREEN 1024, 768, 0, 1
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
Arzka96
Newcomer
Posts: 2
Joined: Wed Nov 11, 2009 4:50 pm

Re: Tyhmät kysymykset (II/2009)

Post by Arzka96 »

Kuinka tehdään sellainen
tekstinsyöttö kohdan koska
aion tehdä tässä
tekstiseikkailupelin,
siihen tarvitaan command kohta
johon syötetään komentoja itse peliin?
MAVmaggot
Advanced Member
Posts: 468
Joined: Fri Aug 31, 2007 10:18 pm
Location: bitspace

Re: Tyhmät kysymykset (II/2009)

Post by MAVmaggot »

Ei todennäkösesti
ainakaan
ylenpaattisella
rivinvaihdolla,
tutustu
input-funktioon.
KilledWhale
Tech Developer
Tech Developer
Posts: 545
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: Tyhmät kysymykset (II/2009)

Post by KilledWhale »

Arzka96 wrote:Kuinka tehdään sellainen
tekstinsyöttö kohdan koska
aion tehdä tässä
tekstiseikkailupelin,
siihen tarvitaan command kohta
johon syötetään komentoja itse peliin?
Tässä olisi pieni esimerkki. Koodia en jaksanut kommentoida mutta koita tutkia jos siitä jotain saisit irti.

Code: Select all

Repeat
	a$ = Input(">")
	If KeyHit(28) Then
		Select GetWord(a$, 1, " ")
			Case "Exit"
				End
			Case "MakeError"
				MakeError Mid(a$, InStr(a$, " "))
		EndSelect
		CloseInput
	EndIf
	DrawScreen
Forever
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
qwetyone
Member
Posts: 50
Joined: Tue Oct 07, 2008 6:39 pm

Re: Tyhmät kysymykset (II/2009)

Post by qwetyone »

Pystyykö CoolBasicillä Splittaamaan screeniä kahdelle pelaajalle?
Herra Siili
Advanced Member
Posts: 308
Joined: Tue Nov 25, 2008 8:06 pm
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by Herra Siili »

Haulla löytyi heti:
viewtopic.php?f=12&t=391
a.k.a. Gehock
qwetyone
Member
Posts: 50
Joined: Tue Oct 07, 2008 6:39 pm

Re: Tyhmät kysymykset (II/2009)

Post by qwetyone »

Mutta toi linkki virtualscreeniin ei toimi
Herra Siili
Advanced Member
Posts: 308
Joined: Tue Nov 25, 2008 8:06 pm
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by Herra Siili »

Katso LittleGreenin viesti vähän alempaa.
EDIT:

11v wrote:

Code: Select all

koodia...
Otin tän ohjeista, miksi tämä ei toimi?

EDIT:
Outoa tämä toimii viiden miinuutin välein? miksi?
Minulla se MAVaa aina rivillä 21.[/edit]
Last edited by Herra Siili on Fri Nov 13, 2009 7:31 pm, edited 1 time in total.
a.k.a. Gehock
11v
Member
Posts: 73
Joined: Wed Jun 10, 2009 10:13 pm

Re: Tyhmät kysymykset (II/2009)

Post by 11v »

Code: Select all

SCREEN 640,480

AddText "Press any key to copy..."

'First make a gradient 
For i=0 To 240
    Color 0,i+15,0
    Line 0,i,640,i
Next i

DrawScreen OFF

WaitKey

'Lock screen 
Lock SCREEN()

'make 154 481 iterations, copy each pixel 
For y=0 To 240
For x=0 To 640
    PutPixel2 x,480-y,GetPixel2(x, y)
Next x
Next y

'Unlock screen 
Unlock SCREEN()

DrawScreen

WaitKey
Otin tän ohjeista, miksi tämä ei toimi?

EDIT:
Outoa tämä toimii viiden miinuutin välein? miksi?
Black city peleistä parhain
qwetyone
Member
Posts: 50
Joined: Tue Oct 07, 2008 6:39 pm

Re: Tyhmät kysymykset (II/2009)

Post by qwetyone »

minulla ainakin toimii
Herra Siili
Advanced Member
Posts: 308
Joined: Tue Nov 25, 2008 8:06 pm
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by Herra Siili »

Joku, joka on enemmän käyttänyt PutPixel2:sta, voisi tulla selventämään asiaa. Itse en ole käyttänyt sitä yhtään.
Last edited by Herra Siili on Fri Nov 13, 2009 8:40 pm, edited 2 times in total.
a.k.a. Gehock
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (II/2009)

Post by Awaclus »

Herra Siili wrote:Joku, joka on enemmän käyttänyt PutPixel2:sta, voisi tulla selventämään asiaa. Itse en ole käyttänyt sitä yhtään.
memberlist.php?mode=viewprofile&u=455

EDIT: niin anteeksi offtopic, mutta oli kyllä vain ihan pakko.
Last edited by Awaclus on Sat Nov 14, 2009 10:57 am, edited 1 time in total.
Locked