Tyhmät kysymykset (I/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
cool-driver
Active Member
Posts: 116
Joined: Sat Feb 14, 2009 7:47 am

Re: Tyhmät kysymykset

Post by cool-driver »

Jonez wrote:Cool-driver:
Vika saattaa olla vaikka missä. Näytä koodi.
Tein tähän pääasiallisen ongelmakohdan.

Code: Select all

armeijaylläpito = sotilasylläpito * sotilaat
menot = armeijaylläpito + palvelumenot 
sotilaat = 5000
sotilasylläpito = 30
palvelumenot = 4000

AddText "Armeijaylläpito on " + armeijaylläpito
AddText "Menot on " + menot

DrawScreen
WaitKey 
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.
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset

Post by Awaclus »

cool-driver wrote: Tein tähän pääasiallisen ongelmakohdan.

Code: Select all

armeijaylläpito = sotilasylläpito * sotilaat
menot = armeijaylläpito + palvelumenot 
sotilaat = 5000
sotilasylläpito = 30
palvelumenot = 4000

AddText "Armeijaylläpito on " + armeijaylläpito
AddText "Menot on " + menot

DrawScreen
WaitKey 
Koodisi tekee tällä hetkellä tämän:

Code: Select all

armeijaylläpito = 0 * 0
Menot = 0 + 0
sotilaat = 5000
sotilasylläpito = 4000

AddText "Armeijaylläpito on 0"
AddText "Menot on 0"
Se johtuu siitä, että sotilasylläpito ja sotilaat asetetaan vasta sen jälkeen, kun kertolasku suoritetaan, joten ne ovat kertolaskua suoritettaessa kumpikin 0.
cool-driver
Active Member
Posts: 116
Joined: Sat Feb 14, 2009 7:47 am

Re: Tyhmät kysymykset

Post by cool-driver »

Chaosworm wrote:
cool-driver wrote: Tein tähän pääasiallisen ongelmakohdan.

Code: Select all

armeijaylläpito = sotilasylläpito * sotilaat
menot = armeijaylläpito + palvelumenot 
sotilaat = 5000
sotilasylläpito = 30
palvelumenot = 4000

AddText "Armeijaylläpito on " + armeijaylläpito
AddText "Menot on " + menot

DrawScreen
WaitKey 
Koodisi tekee tällä hetkellä tämän:

Code: Select all

armeijaylläpito = 0 * 0
Menot = 0 + 0
sotilaat = 5000
sotilasylläpito = 4000

AddText "Armeijaylläpito on 0"
AddText "Menot on 0"
Se johtuu siitä, että sotilasylläpito ja sotilaat asetetaan vasta sen jälkeen, kun kertolasku suoritetaan, joten ne ovat kertolaskua suoritettaessa kumpikin 0.
Hitto kun olin tyhmä. Kiitti.
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.
soitin

Re: Tyhmät kysymykset

Post by soitin »

Jonez wrote:Cool-driver:
Haluatko siis sellaisen systeemin, joka hakee tiedostoja ja kansioita? Tällainen toiminto löytyy cbSDK:sta. Tarvitset cbAPI.dll:ää, cbAPI.cb:tä, sekä täältä löytyviä funktioita nimeltä FileDialog(), ja FileDialogData().
Voisitko selventää ihan hitusen, en ole näiden käytöstä ihan perillä.
Tuxi
Active Member
Posts: 190
Joined: Wed Jan 21, 2009 10:25 pm
Contact:

Re: Tyhmät kysymykset

Post by Tuxi »

Mikäs tässä MAVittaa?

Code: Select all

MapX = 30
MapY = 20

Global MapX
Global MapY

If Not ImageFileName$ Then ImageFileName$ = ".bmp"

Dim Tiles(1000,3)
Dim Obj(1000,9)

im = LoadImage("Media\Cow.bmp")

Repeat
    DrawScreen
Forever
Toimii jos otan rivin 7 tai 12 pois.
Projektit:
Jotain pientä (Ehkä vähän suurempaakin)

-Tuxi- (myös Tuxi4321)
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 8:25 am

Re: Tyhmät kysymykset

Post by Sly_Jack0 »

Ei tuo minulla ainakaan MAVita.
Tuxi
Active Member
Posts: 190
Joined: Wed Jan 21, 2009 10:25 pm
Contact:

Re: Tyhmät kysymykset

Post by Tuxi »

Ihme ja kumma! Eipä mavita enää mullakaan.

Edit: Rupes taas mavittaan kun lisäsin tällaisen rivin:

Code: Select all

If Not TextFileName$ Then ImageFileName$ = ".txt"
Oiskohan kyse noista Not-operaattoreista.
Projektit:
Jotain pientä (Ehkä vähän suurempaakin)

-Tuxi- (myös Tuxi4321)
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

Tuxi wrote:Ihme ja kumma! Eipä mavita enää mullakaan.

Edit: Rupes taas mavittaan kun lisäsin tällaisen rivin:

Code: Select all

If Not TextFileName$ Then ImageFileName$ = ".txt"
Oiskohan kyse noista Not-operaattoreista.
Heheh, asiahan on päinselvä!!! Kato ny:
If Not TextFileName$ Then...

Mitä hitto!?! Mikä on Not merkkijono muuttujasta?! Luvuissa 1 tai 0, Boolean:ssa True tai False, Merkkijonossa ? tai ?... Tietääkseni merkkijonoista ei voi ottaa Not:ia, tämä on ainakin järkeenkäyvä selitys... Muuta syytä en näe...
Image
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Tyhmät kysymykset

Post by axu »

phons wrote:
Tuxi wrote:Ihme ja kumma! Eipä mavita enää mullakaan.

Edit: Rupes taas mavittaan kun lisäsin tällaisen rivin:

Code: Select all

If Not TextFileName$ Then ImageFileName$ = ".txt"
Oiskohan kyse noista Not-operaattoreista.
Heheh, asiahan on päinselvä!!! Kato ny:
If Not TextFileName$ Then...

Mitä hitto!?! Mikä on Not merkkijono muuttujasta?! Luvuissa 1 tai 0, Boolean:ssa True tai False, Merkkijonossa ? tai ?... Tietääkseni merkkijonoista ei voi ottaa Not:ia, tämä on ainakin järkeenkäyvä selitys... Muuta syytä en näe...
Väärin. Boolean: True tai False, luvut: 0 tai joku muu, merkkijonot: "" tai joku muu. Eli käytännössä muuttujan boolean arvo on aina tosi, jos se ei ole "tyhjä"
EDIT:

FAIL! puhuin taas läpiä päähäni, kokeilin ja olitkin oikeassa. No, sen voi korvata tällä: If TextFileName$="" Then ImageFileName$ = ".txt"

Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

axu wrote:
phons wrote:
Tuxi wrote:Ihme ja kumma! Eipä mavita enää mullakaan.

Edit: Rupes taas mavittaan kun lisäsin tällaisen rivin:

Code: Select all

If Not TextFileName$ Then ImageFileName$ = ".txt"
Oiskohan kyse noista Not-operaattoreista.
Heheh, asiahan on päinselvä!!! Kato ny:
If Not TextFileName$ Then...

Mitä hitto!?! Mikä on Not merkkijono muuttujasta?! Luvuissa 1 tai 0, Boolean:ssa True tai False, Merkkijonossa ? tai ?... Tietääkseni merkkijonoista ei voi ottaa Not:ia, tämä on ainakin järkeenkäyvä selitys... Muuta syytä en näe...
Väärin. Boolean: True tai False, luvut: 0 tai joku muu, merkkijonot: "" tai joku muu. Eli käytännössä muuttujan boolean arvo on aina tosi, jos se ei ole "tyhjä"
EDIT:

FAIL! puhuin taas läpiä päähäni, kokeilin ja olitkin oikeassa. No, sen voi korvata tällä: If TextFileName$="" Then ImageFileName$ = ".txt"

Ei mahdollista, koska jos sinulla on merkkijono joka on "" niin mikä on se Not, jos se on kerta jotain muuta kuin se tyhjä... Jaa no ehdit kyllä editoimaan, mutta, mutta...
Ja siinä vähän Not-operaattorista: http://en.wikipedia.org/wiki/Logical_negation
Image
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset

Post by Latexi95 »

cbAPI.dll:än kyllä onnistuin löytämään, mutta mistä löytäisin cbAPI.cb?
Linkiä kiitos.
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

cbSDK:n kun lataat niin siellä on kaikki mukavuudet cbApi mukaanlukien.
Image
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset

Post by Jonez »

Latexi95 wrote:cbAPI.dll:än kyllä onnistuin löytämään, mutta mistä löytäisin cbAPI.cb?
Linkiä kiitos.
cbAPI.dll löytyy kansiosta Coolbasic\SDK\lib. KOPIOI cbAPI.dll-tiedosto PELISI KANSIOON (riittää jos cbAPI.dll on samassa kansiossa kuin coolbasic.exe, jos et ole tallentanut ohjelmaasi).

Kun sinulla on cbAPI.dll oikeassa paikassa, täytyy sinun liittää cbApi.cb:n koodiisi käyttämällä komentoa Include. Tee se näin:
Mene Tools -> SDK Control Center -> Funktiokirjastot -> kaksoinäpäytä cbApi.cb
Nyt cbApi.cb:n tiedostopolku on tallennettu leikepyödälle. Liitä se koodisi alkuun (ctrl+v)

Jos teit kaiken oikein, seuraavan koodin pitäisi toimia sinulla. (Huom: koodi ei siltikään toimi, jos sinun cbAPI.cb-tiedosto on eri paikassa kuin minulla. Se ei myöskään toimi jos coolbasic-kansiossa ei ole kopiota cbAPI.dll:stä)

Code: Select all

Include "C:\Program Files\CoolBasic\SDK\include\cbAPI.cb"
Repeat
    If KeyHit( CbKeyReturn )
        If FileDialog( OPEN_FILE_DLG, "bmp", "", "Image Files|*.bmp;*.jpg;*.png;*.tga|" ) = IDOK Then
            If img <> 0 Then DeleteImage img
            img = LoadImage( FileDialogData( FD_FULLNAME ) )
        EndIf
    EndIf
    
    if img <>  0 then DrawImage img, 0, 0
    Text 20, 20, "Paina enter ladataksesi kuvan."
        
    DrawScreen
Forever
Kun latasit cbSDK:n, sinulle on nyt ilmestynyt linkki manuaalin pääsivulle, josta pääset selailemaan SDK:n funktioiden esimerkkejä.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
Soitin

Re: Tyhmät kysymykset

Post by Soitin »

Valitettavasti tämä saa minulla ainoastaan tuon tekstin "Paina enter ladataksesi kuvan" näkymään, eikä entteriä painaessa tapahdu mitään.

Code: Select all

Include "C:\Program Files\CoolBasic\SDK\include\cbAPI.cb"
Repeat
    If KeyHit( CbKeyReturn )
        If FileDialog( OPEN_FILE_DLG, "bmp", "", "Image Files|*.bmp;*.jpg;*.png;*.tga|" ) = IDOK Then
            If img <> 0 Then DeleteImage img
            img = LoadImage( FileDialogData( FD_FULLNAME ) )
        EndIf
    EndIf
   
    if img <>  0 then DrawImage img, 0, 0
    Text 20, 20, "Paina enter ladataksesi kuvan."
       
    DrawScreen
Forever
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset

Post by Latexi95 »

Tähänhän tuli reilussti vastauksia.
Kiitos niistä.
En kyllä olisi itse tarvinnut tuota include esimerkkiä. :lol:
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

Soitin wrote:Valitettavasti tämä saa minulla ainoastaan tuon tekstin "Paina enter ladataksesi kuvan" näkymään, eikä entteriä painaessa tapahdu mitään.

Code: Select all

Include "C:\Program Files\CoolBasic\SDK\include\cbAPI.cb"
Repeat
    If KeyHit( CbKeyReturn )
        If FileDialog( OPEN_FILE_DLG, "bmp", "", "Image Files|*.bmp;*.jpg;*.png;*.tga|" ) = IDOK Then
            If img <> 0 Then DeleteImage img
            img = LoadImage( FileDialogData( FD_FULLNAME ) )
        EndIf
    EndIf
   
    if img <>  0 then DrawImage img, 0, 0
    Text 20, 20, "Paina enter ladataksesi kuvan."
       
    DrawScreen
Forever
Mikä käyttis? Voi olla, että tuo FileDialog toimii vähän eritavalla Vistassa kuin XP:ssä. Minulla ainakin toimii... :oops:
Image
cool-driver
Active Member
Posts: 116
Joined: Sat Feb 14, 2009 7:47 am

Re: Tyhmät kysymykset

Post by cool-driver »

Mikä olisi paras keino tehdä verotussysteemi Diktaattori peliini? Olisiko sellainen, että jokaiselta asukkaalta peritään tietty rahamäärä ja se summa kerrotaan väkimäärällä? Ja entä miten saisi parhaiten tehtyä väkimäärän muuttumisen?
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.
cool-driver
Active Member
Posts: 116
Joined: Sat Feb 14, 2009 7:47 am

Re: Tyhmät kysymykset

Post by cool-driver »

Ja mikä tässä on vikana?

Code: Select all

pyri_diktaattoriksi:
ClearText
ClearKeys
CloseInput

ClsColor 192,0,0
Cls
Color 255,255,255

AddText "Täällä voit käynnistää presidentin ja pääministerin vaalit vaalit."
AddText ""
If presidentti = 0 Then 
AddText "Octobaban presidentti on Saeed Al Bakir. Hän on paennut Iso-Britanniaan.Hän on kapitalisti"
If pääministeri = 0 Then 
AddText "Octobaban pääministeri on Ahmed Al Base. Hän on paennut Iso-Britanniaan. Hän on kapitalisti."
If presidentti = 2 Then 
AddText "Octobaban presidentti on Basil Fakhouri. Hän on kommunisti."
If pääministeri = 2 Then
AddText "Octobaban pääministeri on Salamah Arafat. Hän on kommunisti."
If presidentti = 1 Then
AddText "Octobaban presidentti on Ahmed Al Bahad, eli sinä."
If presidentti = 1 Then 
AddText "Octobaban pääministeri on Ahmed Al Bahad eli sinä."
EndIf
AddText ""
If presidentti = 0 Then 
AddText "1. Järjestä presidentti vaalit."
If presidentti = 2 Then
AddText "1. Järjestä presidentin vaalit."
If pääministeri = 0 Then 
AddText "2. Järjestä pääministeri vaalit."
If pääministeri = 2 Then 
AddText "2. Järjestä pääministeri vaalit."
EndIf
AddText "Backspace - takaisin."

Repeat
 
    If KeyHit(cbkeybackspace) Then Goto toimisto
    
Forever  
EndIf
Tämän on siis vain pätkä koodista, mutta ongelma tuli vasta kun kirjoitin tämän. Kun tuossa lopussa ei ole tuota EndIf komentoa, niin se valittaa, että siellä ei ole EndIf komentoa, vaikka tekstissä on. No kun laitan tuon se valittaa, että ei löydä If sanaa mistään, vaikka siellä on. Mikä mättää?
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
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tyhmät kysymykset

Post by esa94 »

cool-driver wrote: Tämän on siis vain pätkä koodista, mutta ongelma tuli vasta kun kirjoitin tämän. Kun tuossa lopussa ei ole tuota EndIf komentoa, niin se valittaa, että siellä ei ole EndIf komentoa, vaikka tekstissä on. No kun laitan tuon se valittaa, että ei löydä If sanaa mistään, vaikka siellä on. Mikä mättää?
Mutuat ne if-if-if-if-endif-jonosi muotoon if-elseif-elseif-elseif-endif nyt aluksi ainakin.
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

Sinulta puuttuu sieltä 9 ElseIf:ä ylimääräiset Ifit pitäisi korvata niillä... Katsoppa manuaali If - lauseke uudelleen.
Image
Locked