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 »

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 4:25 pm, edited 1 time in total.
rami123
Advanced Member
Posts: 354
Joined: Mon Jun 23, 2008 8:20 pm
Location: Kittilä

Re: Tyhmät kysymykset

Post by rami123 »

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 »

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 »

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ä
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Tyhmät kysymykset

Post by Koodiapina »

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.
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 »

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.
Wee
Member
Posts: 57
Joined: Wed Dec 17, 2008 8:46 pm
Location: Mavihelvetti

Re: Tyhmät kysymykset

Post by Wee »

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 »

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 :)
Wee
Member
Posts: 57
Joined: Wed Dec 17, 2008 8:46 pm
Location: Mavihelvetti

Re: Tyhmät kysymykset

Post by Wee »

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 10:00 pm, edited 1 time in total.
Reason: Piip.
"This city looks so pretty, do you wanna burn here with me..."
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

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 Fri Jan 30, 2009 11:14 pm, edited 1 time in total.
Image
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: Tyhmät kysymykset

Post by tuhoojabotti »

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.”
Maamyyrä
Newcomer
Posts: 27
Joined: Thu Jun 05, 2008 10:59 am

Re: Tyhmät kysymykset

Post by Maamyyrä »

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
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

Pistä MouseX():n ja MouseY():n tilalle MouseWX() ja MouseWY(). Silloin se ottaa hiiren sijainnin maailmankoordinaateista eikä ruudun niin kuin koodisssasi.
Image
rami123
Advanced Member
Posts: 354
Joined: Mon Jun 23, 2008 8:20 pm
Location: Kittilä

Re: Tyhmät kysymykset

Post by rami123 »

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 10: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- »

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) »

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 ;)
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Tyhmät kysymykset

Post by Jani »

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
rami123
Advanced Member
Posts: 354
Joined: Mon Jun 23, 2008 8:20 pm
Location: Kittilä

Re: Tyhmät kysymykset

Post by rami123 »

? 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 12:46 pm, edited 1 time in total.
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Tyhmät kysymykset

Post by Jani »

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
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 »

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