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 » Fri Dec 04, 2009 5:00 pm

Siis jos ammus ei ole pyöreä, myös sille pitää asettaa pyöritysarvo, kuten ukkelille, jotta sen _kuva_ vaihtaisi suuntaa.
ammus = LoadObject( "ammus.png", 72 ) '<- ammuksen pyöritysarvo = 72.

Näin:

Code: Select all

Type ammukset
    Field obj
EndType

ukko = LoadObject ( "media\soldier.bmp", 72 )   '72 = ukon pyöritysarvo
ammus = LoadObject( "media\bullet.bmp" )        'jos ammus ei ole pyöreä, aseta myös sille pyöritysarvo

Repeat

    RotateObject ukko, GetAngle( ObjectX( ukko ), -ObjectY( ukko ), MouseWX(), -MouseWY() )

    If MouseDown( 1 ) And reload < Timer() - 250 Then

        reload = Timer()
    
        na.ammukset = New( ammukset )
        na\obj = CloneObject( ammus )       'kloonataan ammus
        
        CloneObjectPosition na\obj, ukko    'asetetaan ukon kohdalle
        CloneObjectOrientation na\obj, ukko 'asetetaan ukon suuntaiseksi
        MoveObject na\obj, 20               'liikutetaan eteenpäin suunnilleen piipun kohdalle
    EndIf

    For ia.ammukset = Each ammukset 
       MoveObject ia\obj, 5                 'liikutetaan kaikkia ammuksia. Ilman tätä ammus jäisi piipun kohdalle
    Next ia

    DrawScreen
Forever
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War

Dewe
Newcomer
Posts: 18
Joined: Tue Dec 01, 2009 9:53 pm
Location: Kaskinen, Pohjanmaa

Re: Tyhmät kysymykset (II/2009)

Post by Dewe » Fri Dec 04, 2009 5:22 pm

Doddiin kiitti nyt onnistu. :D

Code: Select all

Not enough disc space. Delete windows?

User avatar
Herra Siili
Advanced Member
Posts: 308
Joined: Tue Nov 25, 2008 9:06 pm
Location: Viitasaari, Keski-Suomi
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by Herra Siili » Fri Dec 04, 2009 6:16 pm

SCREEN poistaa kaiken median muistista.
a.k.a. Hedge

User avatar
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 » Fri Dec 04, 2009 6:16 pm

Sinulla on tuolla kaksi SCREEN -komentoa, joista jälkimmäinen on kartan luomisen jälkeen. SCREEN tuhoaa kaikki kuvat ja objektit, joita on ladattu. Poista siis jälkimmäinen.

Dewe
Newcomer
Posts: 18
Joined: Tue Dec 01, 2009 9:53 pm
Location: Kaskinen, Pohjanmaa

Re: Tyhmät kysymykset (II/2009)

Post by Dewe » Fri Dec 04, 2009 7:24 pm

Taas.... kysyisin että millä komennolla/luvulla muutan ammuksen lentonopeutta?

Code: Select all

Not enough disc space. Delete windows?

vastaus ja oma kysymys

Re: Tyhmät kysymykset (II/2009)

Post by vastaus ja oma kysymys » Fri Dec 04, 2009 7:29 pm

@Dewe:Laita (jos käytät tyyppejä) niin laita field nopeus tai taulukoilla: dim ammukset(x#,y#,nopeus#...)

Minun kysymys: Miten voin laittaa näin:

Code: Select all

ura=OpenToEdit("media\urat\"+nimike+".ura")
kun tuo nimike-muuttuja tulee vihreäksi. Mitä minä teen. :?:

Dewe
Newcomer
Posts: 18
Joined: Tue Dec 01, 2009 9:53 pm
Location: Kaskinen, Pohjanmaa

Re: Tyhmät kysymykset (II/2009)

Post by Dewe » Fri Dec 04, 2009 7:40 pm

vastaus ja oma kysymys wrote:@Dewe:Laita (jos käytät tyyppejä) niin laita field nopeus tai taulukoilla: dim ammukset(x#,y#,nopeus#...)

Minun kysymys: Miten voin laittaa näin:

Code: Select all

ura=OpenToEdit("media\urat\"+nimike+".ura")
kun tuo nimike-muuttuja tulee vihreäksi. Mitä minä teen. :?:
En saanut oikein selvää enkä käytä tyyppejä :roll:

Code: Select all

Not enough disc space. Delete windows?

User avatar
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by Feuer » Fri Dec 04, 2009 7:45 pm

vastaus ja oma kysymys wrote:@Dewe:Laita (jos käytät tyyppejä) niin laita field nopeus tai taulukoilla: dim ammukset(x#,y#,nopeus#...)

Minun kysymys: Miten voin laittaa näin:

Code: Select all

ura=OpenToEdit("media\urat\"+nimike+".ura")
kun tuo nimike-muuttuja tulee vihreäksi. Mitä minä teen. :?:
Muuta kenoviivat ( \ - merkit) muotoon +Chr(92)+

esimerkkisorsa:

Code: Select all

nimike$="Träät"
ura=OpenToEdit("C:"+Chr(92)+nimike+".ura")
WriteLine ura,"Träät"
CloseFile ura
Execute "C:\"
Ja dewe, jos ammus kulkee komennolla "Moveobject ammus,4" niin kun muutat tuon nelosen joksikin muuttujaksi, niin saat hallittua lentonopeutta.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG

ööh

Re: Tyhmät kysymykset (II/2009)

Post by ööh » Fri Dec 04, 2009 7:48 pm

otin ton kysymysjutun minun projektistani ja enkä saanut laitettua eli kiitos

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

Re: Tyhmät kysymykset (II/2009)

Post by Jonez » Fri Dec 04, 2009 7:49 pm

vastaus ja oma kysymys wrote:Minun kysymys: Miten voin laittaa näin:

Code: Select all

ura=OpenToEdit("media\urat\"+nimike+".ura")
kun tuo nimike-muuttuja tulee vihreäksi. Mitä minä teen. :?:
Se ei sinänsä haittaa koodin suoritusta, vaikka se olisi vihreänä. Voi kuitenkin haitata koodin lukemista. Se johtuu kenoviivasta "\". Jos et halua tekstin olevan vihreä, käytä merkkiä "/".
@Dewe:Laita (jos käytät tyyppejä) niin laita field nopeus tai taulukoilla: dim ammukset(x#,y#,nopeus#...)
En suosittele käyttämään Dim:iä noin. Jokainen uusi ulottuvuus varaa tilaa aikaisempien ulottuvuuksien solujen ja omien solujen tulon verran.

Eli Dim( 5, 5 ) varaa soluja yhteensä 6 * 6, eli 36 solua.

Jos teet ammukset taulukoilla ja objekteilla, esim. seuraavanlainen koodi olisi toimiva:

Code: Select all

ammusmäärä = 10
Dim ammukset( ammusmäärä, 1 )

ammukset( 1, 0 ) = LoadObject( "media\guy.bmp", 72 )
ammukset( 1, 1 ) = 5 'nopeus
Taulukon ammukset ensimmäinen ulottuvuus kertoisi mistä ammuksesta on kyse, toisen ulottuvuuden ensimmäinen (nollas) solu säilöö objektin ja toinen solu nopeuden.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War

Dewe
Newcomer
Posts: 18
Joined: Tue Dec 01, 2009 9:53 pm
Location: Kaskinen, Pohjanmaa

Re: Tyhmät kysymykset (II/2009)

Post by Dewe » Fri Dec 04, 2009 8:56 pm

Voisiko joku laittaa koodin pätkää, että miten laitan samaan ajoneuvoon toisen aseen eli siinä olisi kaksi asetta joilla voisi ampua eri näppäimistä? :)

Code: Select all

Not enough disc space. Delete windows?

Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (II/2009)

Post by Awaclus » Fri Dec 04, 2009 10:31 pm

Dewe wrote:Voisiko joku laittaa koodin pätkää, että miten laitan samaan ajoneuvoon toisen aseen eli siinä olisi kaksi asetta joilla voisi ampua eri näppäimistä? :)
Pistät siihen vaan toisen cooldown-muuttujan ja toisen if-lausekkeen eri näppäimelle. Hatusta heitettyä koodia:

Code: Select all

repeat
if cooldown then cooldown-1
if cooldown2 then cooldown2-1

If keydown (cbkeya) and cooldown = false Then cooldown = 50: luo_uusi_ammus_aseelle1()
If keydown (cbkeyt) and cooldown2 = false then cooldown2 = 10: luo_uusi_ammus_aseelle2()
Koodihan ei tietenkään toimi suoraan copypastella, mutta saanet pointin.

Panzur
Newcomer
Posts: 32
Joined: Sat Jun 06, 2009 6:26 pm

Re: Tyhmät kysymykset (II/2009)

Post by Panzur » Sat Dec 05, 2009 3:43 pm

Miten saan tehtyä fantasia peliini inventoryn, johka pääsisi painamalla esc näppäintä ja siinä näkyisi rahat, exp ja lvl?

User avatar
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 9:25 am

Re: Tyhmät kysymykset (II/2009)

Post by Sly_Jack0 » Sat Dec 05, 2009 4:02 pm

Panzur wrote:Miten saan tehtyä fantasia peliini inventoryn, johka pääsisi painamalla esc näppäintä ja siinä näkyisi rahat, exp ja lvl?
Inventory ei mielestäni liity mitenkään hahmot leveliin yms.. Mutta, mutta....

Yksinkertaisin vaihtoehto olisi varmaan tehdä muuttuja, joka ilmaisee näytetäänkö "inventory" esim. showInventory, jonka arvoa muutetaan esciä painamalla (muista laittaa SAFEEXIT OFF, jos haluat käyttää esciä ilman että se sammuttaa ohjelman). Jos muuttujan arvo on True, piirretään vaikka ruudulle laatikko, jonka päälle kirjoitetaan haluamasi tiedot. Luonnollisesti, jos taas muuttujan arvo on False, kyseistä laatikkoa ja tietoja ei näytölle piirretä. Koodina tuo menisi suunnilleen näin:

Code: Select all

Repeat
    'Tässä tehdään kaikki pelin toimintaan tarvittavat toiminnot.

    If KeyHit(cbKeyEsc)Then
        showInventory = Not showInventory //Not-operaattori muuttaa Truen Falseksi ja päinvastoin
    EndIf

    //"Inventoryn" piirtäminen
    If showInventory = True Then
        //Laatikko
        Color cbWhite
        Box 10,10,100,100

        //Tekstit
        Color cbBlack
        Text 15,15,"Lvl: " + lvl
        Text 10,25,"Exp: " + exp
        Text 15,35,"Money: " + rahat
    EndIf

    DrawScreen

Forever

vastaaja

Re: Tyhmät kysymykset (II/2009)

Post by vastaaja » Sat Dec 05, 2009 4:05 pm

näin:

Code: Select all

saveexit off

...itse peli...

if escapekey() then goto info

info:

ne raha,exp,lvl muuttujat tänne text -komennolla tai print-komennolla

User avatar
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 9:25 am

Re: Tyhmät kysymykset (II/2009)

Post by Sly_Jack0 » Sat Dec 05, 2009 4:14 pm

vastaaja wrote:näin:

Code: Select all

saveexit off

...itse peli...

if escapekey() then goto info

info:

ne raha,exp,lvl muuttujat tänne text -komennolla tai print-komennolla
Ei näin! Goton käyttäminen on todella huono tapa, koska se tekee koodista epäselvää. Ja sitäpaitsi, tuo sinun menetelmäsi pysäyttäisi itse pelin suorituksen inventoryn näyttämisen ajaksi.

anteeksi vaan

Re: Tyhmät kysymykset (II/2009)

Post by anteeksi vaan » Sat Dec 05, 2009 5:25 pm

Sly_Jack0 wrote:
vastaaja wrote:näin:

Code: Select all

saveexit off

...itse peli...

if escapekey() then goto info

info:

ne raha,exp,lvl muuttujat tänne text -komennolla tai print-komennolla
Ei näin! Goton käyttäminen on todella huono tapa, koska se tekee koodista epäselvää. Ja sitäpaitsi, tuo sinun menetelmäsi pysäyttäisi itse pelin suorituksen inventoryn näyttämisen ajaksi.
Vedin tuon hatusta!

User avatar
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 9:25 am

Re: Tyhmät kysymykset (II/2009)

Post by Sly_Jack0 » Sat Dec 05, 2009 5:30 pm

anteeksi vaan wrote:
Sly_Jack0 wrote:
vastaaja wrote:...
...
Vedin tuon hatusta!
Niin minäkin tuon omani. Mutta ei nyt sitten enempää offtopikkia.

User avatar
Wee
Member
Posts: 57
Joined: Wed Dec 17, 2008 9:46 pm
Location: Mavihelvetti

Re: Tyhmät kysymykset (II/2009)

Post by Wee » Sun Dec 06, 2009 1:23 am

Hei jälleen... Satuin taas norkoilemaan täälläkin foorumeilla, ja siitä innostuen avaamaan cb-editorin pitkän tauon jälkeen, ja heti sattui ongelma eteen;

Miten saada ohjelma odottamaan jonkin tietyn muuttujan arvoisen näppäimen painallusta? Eli esimerkiksi jos 1 + 2 = c, niin miten saada ohjelma toistamaan looppia niin kauan kunnes näppäin 3, jolla on sama numeroarvo muuttujan c-kanssa, painetaan pohjaan? Näppäinkoodeista en oikein keksinyt mitään fiksua viritelmää.
"This city looks so pretty, do you wanna burn here with me..."

User avatar
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by temu92 » Sun Dec 06, 2009 2:31 am

Code: Select all

// Mitä numeroa odotetaan
c = 1

Repeat
	// GetKey() palauttaa painetun nappulan ascii-arvon
	pressed	= GetKey()
	
	// Self-explanatory
	Text 10, 10, "Paina numeroa "+c
	DrawScreen
Until (pressed-48) = c // Nolla (0) on asciissa numero 48

// Self-explanatory
Text 10, 10, "Painoit numeroa "+c
DrawScreen
WaitKey
Ei toimi numpadissa.

Edit: ZOMG. C'est mon 600e message!

Locked