Tyhmät kysymykset (I/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
User avatar
Luuster
Newcomer
Posts: 30
Joined: Mon Feb 23, 2009 8:04 pm
Location: #joku vika jossakin#

Re: Tyhmät kysymykset

Post by Luuster » Fri Apr 17, 2009 5:03 pm

Hmm onko niin että kuvia ei voi piirtää function sisällä.

User avatar
valscion
Moderator
Moderator
Posts: 1593
Joined: Thu Dec 06, 2007 8:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset

Post by valscion » Fri Apr 17, 2009 5:21 pm

Luuster wrote:Hmm onko niin että kuvia ei voi piirtää function sisällä.
Kyllä niitä voi. Ainakin tämä toimii:

Code: Select all

solttu = LoadImage("Media/soldier.bmp")

Repeat
    PiirräKuva(solttu)
    DrawScreen
Forever

Function PiirräKuva(kuva)
    DrawImage kuva, 0, 0
EndFunction
Ja sitten jos tarkoitit että kuvat tehdään funktion sisällä, ja sitten piirretään, niin kyllä sekin toimii. Kokemusta on.
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
Taatero
Advanced Member
Posts: 384
Joined: Tue May 27, 2008 6:06 pm

Re: Tyhmät kysymykset

Post by Taatero » Fri Apr 17, 2009 6:19 pm

VesQ wrote:
Luuster wrote:Hmm onko niin että kuvia ei voi piirtää function sisällä.
Kyllä niitä voi. Ainakin tämä toimii:

Code: Select all

solttu = LoadImage("Media/soldier.bmp")

Repeat
    PiirräKuva(solttu)
    DrawScreen
Forever

Function PiirräKuva(kuva)
    DrawImage kuva, 0, 0
EndFunction
Ja sitten jos tarkoitit että kuvat tehdään funktion sisällä, ja sitten piirretään, niin kyllä sekin toimii. Kokemusta on.
En nyt jaksa kokeilla, mutta eikö kuva pidä määritellä globaaliksi jotta se voidaam piirtää funktiossa?
[color=#40BF00][u]koodaaja[/u][/color] wrote:Täyden turvan takaamiseksi avain olisi myös kuljetettava offlinenä suoraan tulevien viestien lähettäjältä niiden vastaanottajalle laitakaupungin hämärissä yöneljältä ja varmistettava, ettei kumpaakaan osapuolta seurata. Popliinitakkia suositellaan.

User avatar
valscion
Moderator
Moderator
Posts: 1593
Joined: Thu Dec 06, 2007 8:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset

Post by valscion » Fri Apr 17, 2009 6:25 pm

Taatero wrote:En nyt jaksa kokeilla, mutta eikö kuva pidä määritellä globaaliksi jotta se voidaam piirtää funktiossa?
Jos halutaan piirtää kuvaa suoraan ilman että sitä välitetään parametrina funktiolla (ks. Function PiirräKuva(kuva) ) niin silloin se pitää määrittää globaaliksi, kuten kaikki muutkin muuttujat joita halutaan käyttää funktioissa ilman, että niitä välitetään sille parametreina. Olisit edes testannut koodinpätkää ennen pätemistä :mrgreen:
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

cool-driver
Active Member
Posts: 116
Joined: Sat Feb 14, 2009 8:47 am

Re: Tyhmät kysymykset

Post by cool-driver » Fri Apr 17, 2009 6:52 pm

VesQ wrote:
cool-driver wrote:
cool-driver wrote:Olen tekemässä laivapeliä ja minulla on ongelma. Miten saan tehtyä sen kun laivoilla on eri reitit? Eli pelissä on muutama reitti ja jos jonkun niistä valitsee laivalle, niin A. Miten sen saa näkyviin laivan tietoihin? B. Miten sen reitin aloittamisen saa tehtyä?
Vastauksia kiitos.
Oletan, että sinulla on laivat tyyppeinä ja eri reitit jossain merkkijonotaulukossa.

Luo samaan TYPE-kokoelmaan joku kenttä, johon laitetaan laivan reitin tiedot, esim. "Field reitti". Kyseiseen kenttään sitten tallennettaisiin reittitaulukon kohta, jossa oikea reitti on. Sitten kun jossain kohtaa laivapeliäsi tulostat näytölle laivan tietoja niin katsot samalla reittitaulukosta reitin tiedot ja tulostat. Esim. (pseudoa)

Code: Select all

For laiva.LAIVAT = Each LAIVAT
    If tulosta_laivan_tiedot Then
        //Oikeasti olisi varmaankin hieman monimutkaisempi If-ehto
        Text 0, 0, "Reitti: " + reittitaulukko( laiva\reitti )
        
        //--- yms. muut tiedot  ---
    EndIf
Next laiva
B. kysymystä en ymmärtänyt. Mitä tarkoitat "reitin aloittamisella"? Sekö, että lähdetään matkaan?
B kohta tarkoitti sitä, että miten saa tehtyä sen reitin valinnan laivale, jota se ajaa automaattisesti.

Voisiko joku opettaa noiden tyyppien käytön?
Projektit:
Ships Income Liikenne Suomesta Beta 2: valmis. Lataa tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
Diktaattori Beta 2: valmis. Lataa Tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.

Nassi_Setä
Advanced Member
Posts: 281
Joined: Sat Jun 28, 2008 5:19 pm
Location: Hämeessä miä

Re: Tyhmät kysymykset

Post by Nassi_Setä » Fri Apr 17, 2009 10:42 pm

ja taas uusi tyhmäkysymys:kuinka määrittää missä suunnassa törmäys tapahtui
EDIT:

käytän siis kuvia.törmäyksen olen toteuttanut imagescollidella.

\../(-_-)\../ <---klick MyBrute Image
Jotain evilii on tekeillä....

User avatar
valscion
Moderator
Moderator
Posts: 1593
Joined: Thu Dec 06, 2007 8:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset

Post by valscion » Fri Apr 17, 2009 11:16 pm

Nassi_Setä wrote:ja taas uusi tyhmäkysymys:kuinka määrittää missä suunnassa törmäys tapahtui
EDIT:

käytän siis kuvia.törmäyksen olen toteuttanut imagescollidella.

Itte heittäisin että käytä GetAnglea kuvien keskipisteen koordinaattien perusteella, mutta jos kuvat ovat omituisen muotoisia niin saattaa tulla onkelmia :F
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

Mikko77
Newcomer
Posts: 6
Joined: Wed Aug 29, 2007 4:15 pm

Re: Tyhmät kysymykset

Post by Mikko77 » Fri Apr 17, 2009 11:54 pm

VesQ wrote:
Nassi_Setä wrote:ja taas uusi tyhmäkysymys:kuinka määrittää missä suunnassa törmäys tapahtui
EDIT:

käytän siis kuvia.törmäyksen olen toteuttanut imagescollidella.

Itte heittäisin että käytä GetAnglea kuvien keskipisteen koordinaattien perusteella, mutta jos kuvat ovat omituisen muotoisia niin saattaa tulla onkelmia :F
Itse otan talteen edelliset koordinaatit ja GetAnglella sitten otan nykysten ja edellisten koordinaattien välisen kulman. On ainakin tarkka tapa :p

cool-driver
Active Member
Posts: 116
Joined: Sat Feb 14, 2009 8:47 am

Re: Tyhmät kysymykset

Post by cool-driver » Sat Apr 18, 2009 1:36 pm

VesQ wrote:
cool-driver wrote:
cool-driver wrote:Olen tekemässä laivapeliä ja minulla on ongelma. Miten saan tehtyä sen kun laivoilla on eri reitit? Eli pelissä on muutama reitti ja jos jonkun niistä valitsee laivalle, niin A. Miten sen saa näkyviin laivan tietoihin? B. Miten sen reitin aloittamisen saa tehtyä?
Vastauksia kiitos.
Oletan, että sinulla on laivat tyyppeinä ja eri reitit jossain merkkijonotaulukossa.

Luo samaan TYPE-kokoelmaan joku kenttä, johon laitetaan laivan reitin tiedot, esim. "Field reitti". Kyseiseen kenttään sitten tallennettaisiin reittitaulukon kohta, jossa oikea reitti on. Sitten kun jossain kohtaa laivapeliäsi tulostat näytölle laivan tietoja niin katsot samalla reittitaulukosta reitin tiedot ja tulostat. Esim. (pseudoa)

Code: Select all

For laiva.LAIVAT = Each LAIVAT
    If tulosta_laivan_tiedot Then
        //Oikeasti olisi varmaankin hieman monimutkaisempi If-ehto
        Text 0, 0, "Reitti: " + reittitaulukko( laiva\reitti )
        
        //--- yms. muut tiedot  ---
    EndIf
Next laiva
B. kysymystä en ymmärtänyt. Mitä tarkoitat "reitin aloittamisella"? Sekö, että lähdetään matkaan?
Laivat ovat muuttujia. Eli miten nuo laivat tehdään tyypeiksi? ja voisiko joku muutenkin vähän auttaa tyyppien käytössä.
Projektit:
Ships Income Liikenne Suomesta Beta 2: valmis. Lataa tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
Diktaattori Beta 2: valmis. Lataa Tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.

User avatar
Ilkka
Active Member
Posts: 201
Joined: Mon Oct 08, 2007 8:01 am

Re: Tyhmät kysymykset

Post by Ilkka » Sat Apr 18, 2009 2:01 pm

Voisiko joku kertoa, miksi koodissani ei näy molemmat inputit?

Kiitosta etukäteen! ? :)

Code:

Code: Select all

Repeat

    Locate 10,10
    NN$=Input("Nickname>") 
    Locate 10,30
    PW$=Input("Password>","*")

    DrawScreen
Forever 
Last edited by Ilkka on Sat Apr 18, 2009 2:32 pm, edited 2 times in total.
Image

User avatar
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Tyhmät kysymykset

Post by Viltzu » Sat Apr 18, 2009 2:11 pm

Kahta inputtia ei voi käyttää samaan aikaan.
Joudut tekemään niin että input valitaan hiirellä mihin kirjoitetaan. (Jos haluat, että ne näkyvät samassa ruudussa)
EDIT:

Avaat vaikka seuraavan inputin kun on painettu enter.


User avatar
Ilkka
Active Member
Posts: 201
Joined: Mon Oct 08, 2007 8:01 am

Re: Tyhmät kysymykset

Post by Ilkka » Sat Apr 18, 2009 2:25 pm

Miksi kirjoittamani teksti tulee molempiin inputteihin, kun vaihdan inputtia? Ylä- ja alanuolista vaihtaa Inputtia.
EDIT:

Ratkaistiin jo! :lol:

Image

User avatar
Mr_Noob
Newcomer
Posts: 30
Joined: Tue Aug 28, 2007 1:05 pm
Location: koti
Contact:

Re: Tyhmät kysymykset

Post by Mr_Noob » Sat Apr 18, 2009 3:48 pm

Miksi tästä koodista tulee seuraava virheilmoitus: dublicate identifier name at line 19, This identifier is already defined.

Code: Select all

Type SPRING
  Field x1 As Integer
  Field x2 As Integer
  Field x3 As Integer
  Field y1 As Integer
  Field y1 As Integer 
EndType


NewSpring(160,200,240,200,200)


Repeat

DrawScreen 
Forever 

Function NewSpring(xx1,xx2,xx3,yy1,yy2)
  jump.SPRING= New(SPRING)
  jump\x1=xx1
  jump\x2=xx2 
  jump\x3=xx3
  jump\y1=yy1
  jump\y2=yy2
EndFunction 

Function UpdateSpring() 
  For jump.SPRING = Each(SPRING)  
    Line lx1,ly,lx2,ly2
    Line lx3,ly2,lx4,ly
  Next jump
EndFunction 
programmer of DSG wrote:
EDIT:

aika hauska peli, vähän tylsä


User avatar
valscion
Moderator
Moderator
Posts: 1593
Joined: Thu Dec 06, 2007 8:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset

Post by valscion » Sat Apr 18, 2009 3:55 pm

Mr_Noob wrote:Miksi tästä koodista tulee seuraava virheilmoitus: dublicate identifier name at line 19, This identifier is already defined.

Code: Select all

...koodia...
Heti alussa tyypin määrittelyssä sinulla on kaksi "y1" kenttää.
Type SPRING
  • Field x1 As Integer
    Field x2 As Integer
    Field x3 As Integer
    Field y1 As Integer
    Field y1 As Integer
EndType
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

cool-driver
Active Member
Posts: 116
Joined: Sat Feb 14, 2009 8:47 am

Re: Tyhmät kysymykset

Post by cool-driver » Sat Apr 18, 2009 4:28 pm

Code: Select all

Repeat 

    If Silja = 1 And KeyHit(cbkey1) Then 
        Goto Silja
    If Viking = 1 And KeyHit(cbkey2) Then 
        Goto Viking
    If Bore_III = 1 And KeyHit(cbkey3) Then 
        Goto Bore_III
    If Birger_Jarl = 1 And KeyHit(cbkey4) Then 
        Goto Birger_Jarl
    If Aallotar = 1 And KeyHit(cbkey5) Then 
        Goto Aallotar
    If Bore_1 = 1 And KeyHit(cbkey6) Then 
        Goto Bore_I
    If Skandia = 1 And KeyHit(cbkey7) Then 
        Goto Skandia
    If Nordia = 1 And KeyHit(cbkey8) Then 
        Goto Nordia
    EndIf
    
    DrawScreen 
    
Until KeyHit(cbkeyescape)
Tuo koodin pätkä on pelissäni, mutta kun testaan, niin se heittää vaan, että tuossa ei olisi Repeat:ia. Mikä on vialla?
Projektit:
Ships Income Liikenne Suomesta Beta 2: valmis. Lataa tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
Diktaattori Beta 2: valmis. Lataa Tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.

skorpioni-cb EEEpc:llä

Re: Tyhmät kysymykset

Post by skorpioni-cb EEEpc:llä » Sat Apr 18, 2009 8:31 pm

cool-driver wrote:

Code: Select all

Repeat 

    If Silja = 1 And KeyHit(cbkey1) Then 
        Goto Silja
    If Viking = 1 And KeyHit(cbkey2) Then 
        Goto Viking
    If Bore_III = 1 And KeyHit(cbkey3) Then 
        Goto Bore_III
    If Birger_Jarl = 1 And KeyHit(cbkey4) Then 
        Goto Birger_Jarl
    If Aallotar = 1 And KeyHit(cbkey5) Then 
        Goto Aallotar
    If Bore_1 = 1 And KeyHit(cbkey6) Then 
        Goto Bore_I
    If Skandia = 1 And KeyHit(cbkey7) Then 
        Goto Skandia
    If Nordia = 1 And KeyHit(cbkey8) Then 
        Goto Nordia
    EndIf
    
    DrawScreen 
    
Until KeyHit(cbkeyescape)
Tuo koodin pätkä on pelissäni, mutta kun testaan, niin se heittää vaan, että tuossa ei olisi Repeat:ia. Mikä on vialla?
Koetas laittaa kohteet noille gotoille [:)]

cool-driver
Active Member
Posts: 116
Joined: Sat Feb 14, 2009 8:47 am

Re: Tyhmät kysymykset

Post by cool-driver » Sat Apr 18, 2009 8:35 pm

skorpioni-cb EEEpc:llä wrote:
cool-driver wrote:

Code: Select all

Repeat 

    If Silja = 1 And KeyHit(cbkey1) Then 
        Goto Silja
    If Viking = 1 And KeyHit(cbkey2) Then 
        Goto Viking
    If Bore_III = 1 And KeyHit(cbkey3) Then 
        Goto Bore_III
    If Birger_Jarl = 1 And KeyHit(cbkey4) Then 
        Goto Birger_Jarl
    If Aallotar = 1 And KeyHit(cbkey5) Then 
        Goto Aallotar
    If Bore_1 = 1 And KeyHit(cbkey6) Then 
        Goto Bore_I
    If Skandia = 1 And KeyHit(cbkey7) Then 
        Goto Skandia
    If Nordia = 1 And KeyHit(cbkey8) Then 
        Goto Nordia
    EndIf
    
    DrawScreen 
    
Until KeyHit(cbkeyescape)
Tuo koodin pätkä on pelissäni, mutta kun testaan, niin se heittää vaan, että tuossa ei olisi Repeat:ia. Mikä on vialla?
Koetas laittaa kohteet noille gotoille [:)]
Eli tekee nuo esim. Nordia ja Skandia kohdat, no tein, mutta ei auta.
Projektit:
Ships Income Liikenne Suomesta Beta 2: valmis. Lataa tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
Diktaattori Beta 2: valmis. Lataa Tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.

User avatar
Dande
Active Member
Posts: 193
Joined: Tue Aug 28, 2007 4:30 pm

Re: Tyhmät kysymykset

Post by Dande » Sat Apr 18, 2009 8:40 pm

cool-driver wrote:

Code: Select all

    (Koodia...)
    If Silja = 1 And KeyHit(cbkey1) Then 
        Goto Silja
    If Viking = 1 And KeyHit(cbkey2) Then 
        Goto Viking
    If Bore_III = 1 And KeyHit(cbkey3) Then 
        Goto Bore_III
    (Koodia...)
    EndIf
    
    DrawScreen 
    
Until KeyHit(cbkeyescape)
Tuo koodin pätkä on pelissäni, mutta kun testaan, niin se heittää vaan, että tuossa ei olisi Repeat:ia. Mikä on vialla?
Katsopas tarkemmin noita If-lauseita: Jos tekee monirivisen if-lauseen, se täytyy aina sulkea endiffillä. Moniriviseen if-lauseeseen voi toki lisätä else- tai elseif-haaroja ennen endiffiä.

Eli lyhyesti: muuta kaikki muut if-sanat elseif-sanoiksi paitsi ensimmäinen.

Ja suosittelisin miettimään koodin rakennetta uudestaan, jos gotoa noin paljoa tarvitsee...

User avatar
skinkken
Advanced Member
Posts: 453
Joined: Sat Sep 01, 2007 4:00 pm
Location: Helsinki

Re: Tyhmät kysymykset

Post by skinkken » Sat Apr 18, 2009 8:41 pm

cool-driver wrote:
skorpioni-cb EEEpc:llä wrote:
cool-driver wrote:

Code: Select all

Repeat 

    If Silja = 1 And KeyHit(cbkey1) Then 
        Goto Silja
    If Viking = 1 And KeyHit(cbkey2) Then 
        Goto Viking
    If Bore_III = 1 And KeyHit(cbkey3) Then 
        Goto Bore_III
    If Birger_Jarl = 1 And KeyHit(cbkey4) Then 
        Goto Birger_Jarl
    If Aallotar = 1 And KeyHit(cbkey5) Then 
        Goto Aallotar
    If Bore_1 = 1 And KeyHit(cbkey6) Then 
        Goto Bore_I
    If Skandia = 1 And KeyHit(cbkey7) Then 
        Goto Skandia
    If Nordia = 1 And KeyHit(cbkey8) Then 
        Goto Nordia
    EndIf
    
    DrawScreen 
    
Until KeyHit(cbkeyescape)
Tuo koodin pätkä on pelissäni, mutta kun testaan, niin se heittää vaan, että tuossa ei olisi Repeat:ia. Mikä on vialla?
Koetas laittaa kohteet noille gotoille [:)]
Eli tekee nuo esim. Nordia ja Skandia kohdat, no tein, mutta ei auta.
Coolbasic tekee tuon valituksen jos jostakin puuttuu EndIf. tuossa on vain viimeisessä if:issä EndIf
Tee näin:

Code: Select all

Repeat 

    If Silja = 1 And KeyHit(cbkey1) Then 
        Goto Silja
    EndIf
    If Viking = 1 And KeyHit(cbkey2) Then 
        Goto Viking
    EndIf
    If Bore_III = 1 And KeyHit(cbkey3) Then 
        Goto Bore_III
    EndIf
    If Birger_Jarl = 1 And KeyHit(cbkey4) Then 
        Goto Birger_Jarl
    EndIf
    If Aallotar = 1 And KeyHit(cbkey5) Then 
        Goto Aallotar
    EndIf
    If Bore_1 = 1 And KeyHit(cbkey6) Then 
        Goto Bore_I
    EndIf
    If Skandia = 1 And KeyHit(cbkey7) Then 
        Goto Skandia
    EndIf
    If Nordia = 1 And KeyHit(cbkey8) Then 
        Goto Nordia
    EndIf
    
    DrawScreen 
    
Until KeyHit(cbkeyescape)
EDIT:

galgoneer ehti ensin...

Valmiit pelit: House of Horrors , Battle Zone , Über Ball , Itdoti , Space Chaos , Bloxxplosives
Projekti jota teen ehkä joskus vielä: viewtopic.php?f=11&t=2636 <-- Tämä rivi päivitetty 14.1.2013

cool-driver
Active Member
Posts: 116
Joined: Sat Feb 14, 2009 8:47 am

Re: Tyhmät kysymykset

Post by cool-driver » Sat Apr 18, 2009 9:13 pm

Kiitos vastauksista ongelmaani!
Projektit:
Ships Income Liikenne Suomesta Beta 2: valmis. Lataa tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
Diktaattori Beta 2: valmis. Lataa Tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.

Locked