Tyhmät kysymykset (I/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset

Post by Awaclus » Thu Jan 29, 2009 5:02 pm

Onko mitään keinoa saada Text-komennolla piirretty teksti näkymään päällimmäisenä, objectien päällä?
EDIT: toimii, kiitos
Last edited by Awaclus on Thu Jan 29, 2009 5:25 pm, edited 1 time in total.

User avatar
rami123
Advanced Member
Posts: 354
Joined: Mon Jun 23, 2008 8:20 pm
Location: Kittilä

Re: Tyhmät kysymykset

Post by rami123 » Thu Jan 29, 2009 5:06 pm

Kokeile laittaa drawgamen jälkeen text komento.

Boxi
Newcomer
Posts: 15
Joined: Wed Aug 06, 2008 9:51 pm

Re: Tyhmät kysymykset

Post by Boxi » Thu Jan 29, 2009 10:42 pm

Text 10,10,Rand(1,2)
DrawScreen
WaitKey

miten saisin tuon niin, että kun rand olisi 1 niin tulostaisi "joo" ja kun olisi 2 niin tulostaisi "ei"

TheFish
Developer
Developer
Posts: 477
Joined: Mon Aug 27, 2007 9:28 pm
Location: Joensuu

Re: Tyhmät kysymykset

Post by TheFish » Thu Jan 29, 2009 10:49 pm

Boxi wrote:Text 10,10,Rand(1,2)
DrawScreen
WaitKey

miten saisin tuon niin, että kun rand olisi 1 niin tulostaisi "joo" ja kun olisi 2 niin tulostaisi "ei"

Code: Select all

r = rand(1,2)
if r = 1 then
    addtext "joo"
else
    addtext "ei"
endif 
drawscreen
waitkey
CoolBasic henkilökuntaa
Kehittäjä

User avatar
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm
Contact:

Re: Tyhmät kysymykset

Post by Koodiapina » Thu Jan 29, 2009 10:50 pm

Tässä saman toteutus selectillä. Se on muistaakseni iffiä hieman nopeampi.

Code: Select all

select rand(1)
case 1: text 10,10,"joo"
default
  text 10,10,"ei"
endselect
drawscreen
waitkey
En voi testata tuota kun olen Linuxilla, mutta perusidea remains the same.
Olen liian älykäs ollakseni väärässä. Jos olet kanssani eri mieltä, suosittelen sinua pohtimaan omaa elämänkatsomustasi ja sen perusteita.

User avatar
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset

Post by koodaaja » Fri Jan 30, 2009 2:36 pm

Grandi wrote:Tässä saman toteutus selectillä. Se on muistaakseni iffiä hieman nopeampi.

Code: Select all

select rand(1)
case 1: text 10,10,"joo"
default
  text 10,10,"ei"
endselect
drawscreen
waitkey
En voi testata tuota kun olen Linuxilla, mutta perusidea remains the same.
Ei välttämättä nopeampi, saattaa toki olla näinkin. Muuten se on kuitenkin suositeltavampi - ainakin, jos vaihtoehtoja on useita. Selkeämpi ja vaihtoehtojen määrän kasvaessa lyhyempi.

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

Re: Tyhmät kysymykset

Post by Wee » Fri Jan 30, 2009 4:10 pm

Tuossa aloitin pienen topdownin tekoa, mutta meinasi heti alusta tyssätä samaan, kuin Alpha...

Virhekoodi 88, Can't find sturcture block REPEAT...

Ongelma ilmeni sen jälkeen, kun lisäsin Typet, ja ampumisen.

Code: Select all

Type AMMUKSET
  Field obj
EndType

Repeat
  
  If LeftKey() Then MoveObject hahmo, -2
  If RightKey() Then MoveObject hahmo, 2
  If UpKey() Then MoveObject hahmo, 0, -2
  If DownKey() Then MoveObject hahmo, 0, 2  
  
  If KeyHit(cbkeyspace)
     uusiammus.AMMUKSET= New(AMMUKSET)
     uusiammus\obj=CloneObject(panos)
     CloneObjectPosition uusiammus\obj,hahmo+5
     CloneObjectOrientation uusiammus\obj,0
     MoveObject uusiammus\obj,5
  
  DrawScreen
  
Until KeyHit(cbkeyesc)
"This city looks so pretty, do you wanna burn here with me..."

Jonhu
Active Member
Posts: 186
Joined: Mon Aug 04, 2008 5:45 pm

Re: Tyhmät kysymykset

Post by Jonhu » Fri Jan 30, 2009 4:21 pm

Wee wrote:Tuossa aloitin pienen topdownin tekoa, mutta meinasi heti alusta tyssätä samaan, kuin Alpha...

Virhekoodi 88, Can't find sturcture block REPEAT...

Ongelma ilmeni sen jälkeen, kun lisäsin Typet, ja ampumisen.
Sinun pitää muistaa lopettaa if-lauseet. Sisennykset auttavat huomattavasti noiden huomaamiseen ;)

Code: Select all

Type AMMUKSET
  Field obj
EndType

Repeat
 
  If LeftKey() Then MoveObject hahmo, -2
  If RightKey() Then MoveObject hahmo, 2
  If UpKey() Then MoveObject hahmo, 0, -2
  If DownKey() Then MoveObject hahmo, 0, 2 
 
  If KeyHit(cbkeyspace)
     uusiammus.AMMUKSET= New(AMMUKSET)
     uusiammus\obj=CloneObject(panos)
     CloneObjectPosition uusiammus\obj,hahmo+5
     CloneObjectOrientation uusiammus\obj,0
     MoveObject uusiammus\obj,5
   EndIf ' sinun pitää muistaa lopettaa if-lauseet
  
  DrawScreen
 
Until KeyHit(cbkeyesc)
Tekeillä pikkupelejä ja ohjelmia :)

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

Re: Tyhmät kysymykset

Post by Wee » Fri Jan 30, 2009 4:26 pm

P*piip* vie... Pitäis vähän kattoa ittekkin tota koodia toisen kerran, ennen kun lähetän tänne... :lol:
Last edited by Pettis on Fri Jan 30, 2009 11:00 pm, edited 1 time in total.
Reason: Piip.
"This city looks so pretty, do you wanna burn here with me..."

User avatar
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons » Fri Jan 30, 2009 11:24 pm

Minulla on 4 vihu tyypiä(siis Type, ei mitään erillaisia vihuja) ja haluan poistaa sen viimeisen. Miten teen tämän? Olen kokeillut muutamia vaihtoehtoja , mutta päätynyt aina MAViin tai siihen että kaikki poistuu... :(

Edit: Luulen että olet oikeilla jäljillä, mutta tuo ei näemmä poista mitään. Ainakaan se nappulan painaminen ei tee mitään paitsi printtaa kaiken uusiksi...
Last edited by phons on Sat Jan 31, 2009 12:14 am, edited 1 time in total.
Image

User avatar
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: Tyhmät kysymykset

Post by tuhoojabotti » Fri Jan 30, 2009 11:41 pm

phons wrote:Minulla on 4 vihu tyypiä(siis Type, ei mitään erillaisia vihuja) ja haluan poistaa sen viimeisen. Miten teen tämän? Olen kokeillut muutamia vaihtoehtoja , mutta päätynyt aina MAViin tai siihen että kaikki poistuu... :(
Jos ymmärsin oikein.

Code: Select all

Type VIHU
    Field name$
EndType 
'luo vihut
v.VIHU=New(VIHU)
v\name=Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))
v.VIHU=New(VIHU)
v\name=Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))
v.VIHU=New(VIHU)
v\name=Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))
v.VIHU=New(VIHU)
v\name=Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))
'printtaa ne
For v.VIHU=Each VIHU
    Print v\name
Next v
'luuppi
Repeat 
Print "Delete last with the anykey"
WaitKey 'delete 
Gosub dele 
Forever 
'antakaa anteeksi kun käytän gosubbia :D
dele:
v=Last(VIHU)
If v<>NULL Then Delete v
For v.VIHU=Each VIHU
    Print v\name
Next v
Return 

Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”

User avatar
Maamyyrä
Newcomer
Posts: 27
Joined: Thu Jun 05, 2008 10:59 am

Re: Tyhmät kysymykset

Post by Maamyyrä » Sat Jan 31, 2009 2:08 pm

Yhdessä projussani teen ritaria jonka miekkaa heilutellaan hiirellä. Olen käyttänyt tähän asti hiireen liimattua objektia ja miekka osoittamaan siihen. Kun lisäsin kameran seuraamaan ukkoa niin liikkuessa hiiren objecti jäi hiirestä jälkeen. Miekan heiluttelu muuttui hieman hankalaksi ja käsitti vain tietyn alueen.

näin:

Code: Select all

FrameLimit 40

ruoho = MakeObjectFloor ()
nurmikko = LoadImage ("Media\grass.bmp")
PaintObject ruoho, nurmikko

ukko = LoadObject("Media/cow.bmp", 72)
miekka = LoadObject("Media/cannon.bmp",72)
aim = LoadObject ("Media/crosshair.bmp")

AddText "W,A,S,D ohjaa."
AddText "Hiiri liikuttaa tähtäintä."

Repeat

    ShowMouse OFF
    
    CloneCameraPosition ukko

    CloneObjectPosition miekka, ukko
    
    PositionObject aim , MouseX()-200, -MouseY()+140
    PointObject miekka,aim
    
    If KeyDown(30) Then TurnObject ukko, 5
    If KeyDown(32) Then TurnObject ukko, -5    
    
    If KeyDown(17) Then MoveObject ukko, 2
    If KeyDown(31) Then MoveObject ukko, -2
    
    If MouseDown(1)
       MoveObject Miekka, 5
    EndIf   
    
    DrawScreen

Forever
Miten saan miekan toimimaan?
One object to rule them all

Just don't kill the Master

User avatar
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons » Sat Jan 31, 2009 2:22 pm

Pistä MouseX():n ja MouseY():n tilalle MouseWX() ja MouseWY(). Silloin se ottaa hiiren sijainnin maailmankoordinaateista eikä ruudun niin kuin koodisssasi.
Image

User avatar
rami123
Advanced Member
Posts: 354
Joined: Mon Jun 23, 2008 8:20 pm
Location: Kittilä

Re: Tyhmät kysymykset

Post by rami123 » Sat Jan 31, 2009 8:27 pm

Miten tehdään sellanen homma että kun menee pää valikosta peliin niin se näyttää paljon se on ladannut? ettei näyttö vaan ole mustana?
EDIT:

Esimerkkiä? en ymmärtänyt vielä

Last edited by rami123 on Sat Jan 31, 2009 11:07 pm, edited 1 time in total.

User avatar
-Z-
Devoted Member
Posts: 682
Joined: Tue Aug 28, 2007 3:33 pm
Location: In ur danmaku, grazin ur bullets

Re: Tyhmät kysymykset

Post by -Z- » Sat Jan 31, 2009 10:49 pm

rami123 wrote:Miten tehdään sellanen homma että kun menee pää valikosta peliin niin se näyttää paljon se on ladannut? ettei näyttö vaan ole mustana?
No teet vaikka niin, että asetat defaultvisiblen offille, ja aina kun yksi tiedosto ladataan, lisäät "ladattu"-muuttujaa. Sitten vaan piirrät ruudulle "Ladattu"-muuttujan mittaisen palkin. Ja muistat tuoda objektit esiin showobjectilla!
"Fallout 3 (#10) marked a shift in the industry, a move that saw the western RPG begin to surpass its Japanese counterparts." -IGN top 100 RPGs of all time

Wee (offline)

Re: Tyhmät kysymykset

Post by Wee (offline) » Sun Feb 01, 2009 1:07 pm

rami123 wrote:Miten tehdään sellanen homma että kun menee pää valikosta peliin niin se näyttää paljon se on ladannut? ettei näyttö vaan ole mustana?
EDIT:

Esimerkkiä? en ymmärtänyt vielä

Hmm... Tuossa tuli itselläni mieleen, että jos toimisi seuraavasti; Aluksi AddTextillä Ladataan, ja sitten kun on ladannut yhden tiedoston, niin cleartextillä tekstit pois, heti jälkeen addtext Ladataan 10%, drawscreen, ja sitten taas ladataan seuraava tiedosto?

Äsh, älä välitä tuosta :D En ole kokeillut, en voi nyt kokeilla, ja tuskin toimiikaan. Tuli vain mieleen tuollainen köyhän miehen purkkaviritys ;)

User avatar
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 5:53 pm

Re: Tyhmät kysymykset

Post by Jani » Sun Feb 01, 2009 1:12 pm

Wee (offline) wrote:
rami123 wrote:Miten tehdään sellanen homma että kun menee pää valikosta peliin niin se näyttää paljon se on ladannut? ettei näyttö vaan ole mustana?
EDIT:

Esimerkkiä? en ymmärtänyt vielä

Hmm... Tuossa tuli itselläni mieleen, että jos toimisi seuraavasti; Aluksi AddTextillä Ladataan, ja sitten kun on ladannut yhden tiedoston, niin cleartextillä tekstit pois, heti jälkeen addtext Ladataan 10%, drawscreen, ja sitten taas ladataan seuraava tiedosto?

Äsh, älä välitä tuosta :D En ole kokeillut, en voi nyt kokeilla, ja tuskin toimiikaan. Tuli vain mieleen tuollainen köyhän miehen purkkaviritys ;)
Ehkäpä näin:

Code: Select all

Print "ladataan"
t=LoadImage("blaablaa")
Print "1 tiedosto ladattu..."
...koodia...
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition

User avatar
rami123
Advanced Member
Posts: 354
Joined: Mon Jun 23, 2008 8:20 pm
Location: Kittilä

Re: Tyhmät kysymykset

Post by rami123 » Sun Feb 01, 2009 1:25 pm

? eli se lataa tuon yhden kuvan ja samalla kirjoittaa printillä?
miten sitte kun koko peli ladataan? :?
EDIT:

Kiitos

Last edited by rami123 on Sun Feb 01, 2009 1:46 pm, edited 1 time in total.

User avatar
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 5:53 pm

Re: Tyhmät kysymykset

Post by Jani » Sun Feb 01, 2009 1:34 pm

rami123 wrote:? eli se lataa tuon yhden kuvan ja samalla kirjoittaa printillä?
miten sitte kun koko peli ladataan? :?
jatketaan vain:
print
lataa tiedosto
print
lataa tiedosto
print
lataa tiedosto
jne... jne...
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition

User avatar
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset

Post by koodaaja » Sun Feb 01, 2009 4:40 pm

Jani wrote:
rami123 wrote:? eli se lataa tuon yhden kuvan ja samalla kirjoittaa printillä?
miten sitte kun koko peli ladataan? :?
jatketaan vain:
print
lataa tiedosto
print
lataa tiedosto
print
lataa tiedosto
jne... jne...
Tai sitten voit tehdä pelimiehen liikkeen ja tehdä kaikille objekteille taulukon, johon lataat yksinkertaisessa for-loopissa kaikki media-kansion kuvat. Tai elegantimmin tiedostolla, joka sisältää ladattavien kuvien nimet.

Locked