Page 3 of 78

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jan 10, 2010 2:11 pm
by Awaclus
Tyyppi wrote:Tuli muuten tällänen mieleen että onko Cool Basic:illa mahdollista tehdä minkään näköistä strategia peliä?
On.
Grandi: EKA!!

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jan 10, 2010 2:14 pm
by Kille
Nyt tuli ihan ihmeellinen ongelma: kun yritin includettaa koodiin toista koodia, joka on toiminut aina ennen, niin yhtäkkiä se pukkaa sitten virheilmoitusta:

Code: Select all

Code 57 in 'kansio\taso1.cb'
syntax error at line 159
can't understand the statement
Hassuinta on se, ettei kyseisessä pätkässä ole kuin 13 riviä! Lisäksi se on toiminut aina ennen. Kyseistä pätkää en ole muokannut lainkaan. :oops:

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jan 10, 2010 2:50 pm
by Koodiapina
Laita rivi 159 näkyviin niin katsotaan mikä on vialla?

EDIT: Ohops, fail. Luulin lukeneeni viestin :)

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jan 10, 2010 2:54 pm
by Herra Siili
Kille wrote:Nyt tuli ihan ihmeellinen ongelma: kun yritin includettaa koodiin toista koodia, joka on toiminut aina ennen, niin yhtäkkiä se pukkaa sitten virheilmoitusta:

Code: Select all

Code 57 in 'kansio\taso1.cb'
syntax error at line 159
can't understand the statement
Hassuinta on se, ettei kyseisessä pätkässä ole kuin 13 riviä! Lisäksi se on toiminut aina ennen. Kyseistä pätkää en ole muokannut lainkaan. :oops:
Aja includetettu koodi pelkiltään. Silloin rivinumeron pitäisi olla oikein.

@Grandi: Killehän sanoi, että koodissa on vain 13 riviä.

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jan 10, 2010 3:13 pm
by JATothrim
CBcompiller + CBeditor yhdistelmä bugaa. Editoriin aukeva välilehti on yleensä väärä, mikäli include tiedostossa on virhe. (Zerppa... tsk. tsk.. tsk...) Kuten Grandi sanoi, aja pelkästään include tiedosto ja katso onko siinä virheitä.
EDIT:

ajatus virhe. hups. eli "Kuten Herra Siili..."


Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jan 10, 2010 3:23 pm
by Viltzu
JATothrim wrote:Kuten Grandi sanoi
Herra Siili.

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jan 10, 2010 4:55 pm
by Kille
Pelissäni on joka tasoa varten oma tiedostonsa ja kaikki tekevät täsmälleen samanlaisen ilmoituksen, vaikka ovat erilaisia. Koodissa ei ollut vikaa, virhe tuli, vaikka vaihdoin include-tiedostoksi pelkän "text 0,0,"blabla".

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jan 10, 2010 5:18 pm
by Viltzu
Kille wrote:Pelissäni on joka tasoa varten oma tiedostonsa ja kaikki tekevät täsmälleen samanlaisen ilmoituksen, vaikka ovat erilaisia. Koodissa ei ollut vikaa, virhe tuli, vaikka vaihdoin include-tiedostoksi pelkän "text 0,0,"blabla".
Tuota varmasti ainakin tulee syntax virhe jos laitat Include text 0,0,"blabla" :mrgreen:
Ja siis ajoitko vain include tiedoston? Eli se itse "moottori" pois kokonaan, vain se include koodi. Silloin saat oikean rivin, ja voit tarkistaa sen sitten missä on vika siinä include-tiedostossa.

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jan 10, 2010 5:31 pm
by TheFish
Kille wrote:Pelissäni on joka tasoa varten oma tiedostonsa ja kaikki tekevät täsmälleen samanlaisen ilmoituksen, vaikka ovat erilaisia. Koodissa ei ollut vikaa, virhe tuli, vaikka vaihdoin include-tiedostoksi pelkän "text 0,0,"blabla".
Siinä tapauksessa voisin veikata, että virhe sijaitsee siinä tiedostossa josta includetat muut tiedostot.
EDIT:

Yritä siis poistaa kaikki includet ja katso antaako se sitten virhettä


Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jan 10, 2010 9:22 pm
by Walter Sullivan
Onko mahdollista tehdä hahmolle ase, josta ammukset tulevat ja miten sen voisi kenties tehdä? Näyttäisi tyhmältä jos ukkeli ampuu raketteja mahasta. Kiitos etukäteen.

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jan 10, 2010 9:29 pm
by Awaclus
Walter Sullivan wrote:Onko mahdollista tehdä hahmolle ase, josta ammukset tulevat ja miten sen voisi kenties tehdä? Näyttäisi tyhmältä jos ukkeli ampuu raketteja mahasta. Kiitos etukäteen.
Piirtämällä sellaisen ukkelin, jolla on ase kädessä.

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jan 10, 2010 9:33 pm
by Herra Siili
Katsopa Learning Centerin (f8) oppitunti "ammukset". Voit piirtää aseen suoraan ukkelin kuvaan, kuten ChaosWorm sanoi. Tai voit tehdä erillisen aseobjektin, esim. jos haluat kääntää asetta vaikkapa osoittamaan hiirtä.

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jan 10, 2010 9:40 pm
by DatsuniG
Chaosworm wrote:
Walter Sullivan wrote:Onko mahdollista tehdä hahmolle ase, josta ammukset tulevat ja miten sen voisi kenties tehdä? Näyttäisi tyhmältä jos ukkeli ampuu raketteja mahasta. Kiitos etukäteen.
Piirtämällä sellaisen ukkelin, jolla on ase kädessä.
Walter varmaan tarkoitti sitä, että oppituntien esimerkeissä luoti kloonataan ampujan koordinaatteihin, jolloin näyttää siltä että luodit lähtevätkin mahasta.

__
Tässä olisi oppitunti nro.18 muokattu esimerkki. Eli luotia siirretään eteenpäin ampumisen ehtolausekkeessa, jolloin luoti lähteekin aseen piipusta eikä ukon mahasta.

Code: Select all

'Esimerkki 18 : Ammukset (osa 2)
'================================================

'! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
'Aja tämä ohjelma painamalla F5.
'Lopeta ohjelma painamalla ESC.
'! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !

Type AMMUS 'luo kokoelma, jonka nimi on AMMUS
    Field obj 'yksi kenttä nimeltään 'obj'
End Type 

FrameLimit 40 'rajoita nopeutta

ukko=LoadObject("Media\soldier.bmp",72)
pati=LoadObject("Media\bullet.bmp")
ShowObject pati,OFF

AddText "Nuolista ohjaa, CTRL=ampuu"

Repeat

    'Ohjaa ukkoa NUOLILLA
    If LeftKey() Then TurnObject ukko,5
    If RightKey() Then TurnObject ukko,-5
    If UpKey() Then MoveObject ukko,2
    If DownKey() Then MoveObject ukko,-2    

    'Ammu-systeemi. Vain, jos ase on ladattu
    If KeyDown(cbKeyRControl) And reload=0 Then    
        luoti.AMMUS = New(AMMUS) 'luo uusi ammus
        luoti\obj=CloneObject(pati) 'tee klooni
        'asetetaan pati samaan paikkaan
        CloneObjectPosition luoti\obj,ukko                
        'käännetään pati samaan suuntaan
        CloneObjectOrientation luoti\obj,ukko  
        
        //////////////////////////////////////////////////////
        //// SIIRRETÄÄN PANOSTA ETEENPÄIN PIIPUN KOHDALLE ////
        //////////////////////////////////////////////////////
        MoveObject luoti\obj,16
        //////////////////////////////////////////////////////
        //////////////////////////////////////////////////////
        
        reload=5 'aseen lataus        
    EndIf
    'päivitä aseen lataaminen
    If reload>0 Then reload=reload-1

    'Päivitä kaikki ammukset
    For luoti.AMMUS = Each AMMUS
        MoveObject luoti\obj,6
        If ObjectX(luoti\obj)<-180 Or ObjectX(luoti\obj)>180 Or ObjectY(luoti\obj)<-130 Or ObjectY(luoti\obj)>130 Then
            'ammus ylittää rajan -> tuhoa se                
            DeleteObject luoti\obj 'poista objekti
            Delete luoti 'poista luoti kokonaan
        EndIf        
    Next luoti

    'tämä ennen muuta grafiikkaa (box)
    DrawGame

    'piirrä "kenttä"
    Color cbOrange
    Box 20,20,360,260,OFF    
    
    DrawScreen

Until EscapeKey()

'Analyysi:
'------------------------------------------------

'Noin. Esimerkki toimii samalla tavalla kuin
'edellinen oppitunti, mutta on puolet lyhyempi,
'ja luultavasti selkeämpi. Ohjaussysteemi ja
'luotien törmäys on edelleen sama, muuttunutta
'on vain tapa, jolla ammuksia hallitaan.

'Ohjelman alussa luomme KOKOELMAN, jonne voidaan
'lisätä ja josta voidaan poistaa jäseniä. Aina
'kun uusi jäsen luodaan, sille monistetaan FIELD-
'kentällä määritellyt omat muuttujansa. Jokainen
'jäsen on siis yksilö ja erillinen kokonaisuus.

'Kun ammutaan, rivillä 31 luodaan uusi jäsen.
'Sillä on yksi muuttuja, johon sijoitamme objektin.
'Loppu on helppoa.

'Riviltä 43 alkaen läpikäymme kaikki kokoelman
'luodit. Elossa/Kuollut-kikkailuja ei tarvita.
'Huomaa erikoinen FOR-rakenne. Siellä on nyt EACH,
'jonka jälkeen kirjoitetaan kokoelman nimi.

'Erikoisinta on se, että luoti-muuttujalla on
'erikoinen tyyppi. Sen perään kirjoitetaan .AMMUS
'Tämä kertoo CoolBasicille, että muuttuja kuuluu
'kokoelmaan ja että sen avulla viitataan kokoelman 
'jäseneen. Tyyppiä ei tarvitse määritellä kuin
'ensimmäisellä kerralla, sen jälkeen riittää 
'pelkkä "luoti". Selvennykseksi olen kuitenkin 
'kirjoittanut sen joka kerta kun sitä käytetään
'tavallaan "uuteen" tarkoitukseen.

'Tyypeistä (kokoelmista) tulee vielä paras ystäväsi.
'Opettele käyttämään niitä. Alkuhämmennyksen 
'jälkeen ne ovat paljon kätevämpiä kuin taulukot.

'Lisää tietoa tyypeistä löydät manuaalista ja
'tyyppikomentojen oppaista ja esimerkeistä.

Re: Tyhmät kysymykset (I/2010)

Posted: Mon Jan 11, 2010 1:47 pm
by Feuer
Saako CBEditorin lopettamaan automaattisen typonkorjauksen? Äärimmäisen rasittavaa kun tarvitsen Case "tekstiä" - kohtiin pienellä mm. goto - sanaa, ja tämä kiltti ohjelma tahtoo kirjoittaa sen isolla kirjaimella.

E: Selvä, Zero. Sain tuon kierrettyä. Casen ongelma on että kun siihen käyttää Lower- funktiota, niin tulee valitus, mutta ehtolauseessa homma toimii.

Re: Tyhmät kysymykset (I/2010)

Posted: Mon Jan 11, 2010 1:52 pm
by Zero
Et ole ainoa, joka tästä on valittanut. Nykyiseen editoriin ei tehdä enää muutoksia, mutta asia otetaan kyllä huomioon CoolBasic Classic:n editorissa. Tällä haavaa asialle ei voi tehdä oikein mitään :(

Re: Tyhmät kysymykset (I/2010)

Posted: Mon Jan 11, 2010 5:31 pm
by axu
Itse kierrän sen kirjoittamalla ensin sen tekstin, ja sitten kun pitäisi kirjoittaa lainausmerkki, kirjoitan jonkun kirjaimen ja kelaan takaisin siihen kohtaan ja painan inserttiä ja teen lainausmerkin: IDE ei huomaa mitään ja kaikki toimii kuten pitääkin :D

Re: Tyhmät kysymykset (I/2010)

Posted: Mon Jan 11, 2010 7:33 pm
by skinkken
axu wrote:Itse kierrän sen kirjoittamalla ensin sen tekstin, ja sitten kun pitäisi kirjoittaa lainausmerkki, kirjoitan jonkun kirjaimen ja kelaan takaisin siihen kohtaan ja painan inserttiä ja teen lainausmerkin: IDE ei huomaa mitään ja kaikki toimii kuten pitääkin :D
Ja sitten kun satut hipaisemaan sitä niin se muuttuu takas. :D
Näin sen voi myös tehdä:
Esim. for:

Code: Select all

Text 10,10,"fo"+"r"
ja tää on myös erityisen hankala koska jos laitetaan erikseen f ja or niin se laittaa sen or:n Or:ksi

Re: Tyhmät kysymykset (I/2010)

Posted: Mon Jan 11, 2010 7:49 pm
by Viltzu
skinkken wrote: Esim. for:

Code: Select all

Text 10,10,"fo"+"r"
ja tää on myös erityisen hankala koska jos laitetaan erikseen f ja or niin se laittaa sen or:n Or:ksi
Kyllähän se Textissä toki toimii, mutta koitappa tuota Case:ssa vaikka.

Re: Tyhmät kysymykset (I/2010)

Posted: Mon Jan 11, 2010 10:00 pm
by phons
Tämän takia on kehitetty hieno funktio: Lower!

Code: Select all

Text 0,0,Lower("For")
Edit:?

Re: Tyhmät kysymykset (I/2010)

Posted: Mon Jan 11, 2010 10:11 pm
by DatsuniG
phons wrote:Tämän takia on kehitetty hieno funktio: Lower!

Code: Select all

Text 0,0,Lower("For")

Code: Select all

Select MyString$
Case Lower("For")
Case "Ne"+"xt"
Endselect