Tyhmät kysymykset (I/2010)

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

Re: Tyhmät kysymykset (I/2010)

Post by Awaclus » Sun Jan 10, 2010 3:11 pm

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

User avatar
Kille
Active Member
Posts: 249
Joined: Wed Aug 26, 2009 3:50 pm
Location: Juankoski

Re: Tyhmät kysymykset (I/2010)

Post by Kille » Sun Jan 10, 2010 3:14 pm

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:

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

Re: Tyhmät kysymykset (I/2010)

Post by Koodiapina » Sun Jan 10, 2010 3:50 pm

Laita rivi 159 näkyviin niin katsotaan mikä on vialla?

EDIT: Ohops, fail. Luulin lukeneeni viestin :)
Last edited by Koodiapina on Sun Jan 10, 2010 4:20 pm, edited 1 time in total.

User avatar
Herra Siili
Advanced Member
Posts: 308
Joined: Tue Nov 25, 2008 9:06 pm
Location: Viitasaari, Keski-Suomi
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Herra Siili » Sun Jan 10, 2010 3:54 pm

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ä.
a.k.a. Hedge

User avatar
JATothrim
Tech Developer
Tech Developer
Posts: 606
Joined: Tue Aug 28, 2007 6:46 pm
Location: Kuopio

Re: Tyhmät kysymykset (I/2010)

Post by JATothrim » Sun Jan 10, 2010 4:13 pm

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

Last edited by JATothrim on Sun Jan 10, 2010 6:43 pm, edited 1 time in total.
-On selkeästi impulsiivinen koodaaja joka...
ohjelmoi C++:lla rekursiivisesti instantioidun templaten, jonka jokainen instantiaatio instantioi sekundäärisen singleton-template-luokan, jonka jokainen instanssi käynistää säikeen tulostakseen 'jea'.

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

Re: Tyhmät kysymykset (I/2010)

Post by Viltzu » Sun Jan 10, 2010 4:23 pm

JATothrim wrote:Kuten Grandi sanoi
Herra Siili.

User avatar
Kille
Active Member
Posts: 249
Joined: Wed Aug 26, 2009 3:50 pm
Location: Juankoski

Re: Tyhmät kysymykset (I/2010)

Post by Kille » Sun Jan 10, 2010 5:55 pm

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

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

Re: Tyhmät kysymykset (I/2010)

Post by Viltzu » Sun Jan 10, 2010 6:18 pm

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.

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

Re: Tyhmät kysymykset (I/2010)

Post by TheFish » Sun Jan 10, 2010 6:31 pm

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ä

CoolBasic henkilökuntaa
Kehittäjä

Walter Sullivan

Re: Tyhmät kysymykset (I/2010)

Post by Walter Sullivan » Sun Jan 10, 2010 10:22 pm

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.

Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2010)

Post by Awaclus » Sun Jan 10, 2010 10:29 pm

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

User avatar
Herra Siili
Advanced Member
Posts: 308
Joined: Tue Nov 25, 2008 9:06 pm
Location: Viitasaari, Keski-Suomi
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Herra Siili » Sun Jan 10, 2010 10:33 pm

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ä.
a.k.a. Hedge

DatsuniG
Advanced Member
Posts: 367
Joined: Fri Aug 15, 2008 9:57 pm

Re: Tyhmät kysymykset (I/2010)

Post by DatsuniG » Sun Jan 10, 2010 10:40 pm

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ä.
Hengität nyt manuaalisesti.

User avatar
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Feuer » Mon Jan 11, 2010 2:47 pm

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.
Last edited by Feuer on Mon Jan 11, 2010 3:04 pm, edited 1 time in total.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG

User avatar
Zero
Lead Developer
Lead Developer
Posts: 725
Joined: Sun Aug 26, 2007 2:30 pm
Location: Helsinki, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Zero » Mon Jan 11, 2010 2:52 pm

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 :(
CoolBasic henkilökuntaa
Johtava Suunnittelija
CoolBasic V3, CoolBasic Classic

http://www.coolbasic.com/blog

User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Tyhmät kysymykset (I/2010)

Post by axu » Mon Jan 11, 2010 6:31 pm

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
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image

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

Re: Tyhmät kysymykset (I/2010)

Post by skinkken » Mon Jan 11, 2010 8:33 pm

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

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

Re: Tyhmät kysymykset (I/2010)

Post by Viltzu » Mon Jan 11, 2010 8:49 pm

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.

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

Re: Tyhmät kysymykset (I/2010)

Post by phons » Mon Jan 11, 2010 11:00 pm

Tämän takia on kehitetty hieno funktio: Lower!

Code: Select all

Text 0,0,Lower("For")
Edit:?
Last edited by phons on Mon Jan 11, 2010 11:13 pm, edited 1 time in total.
Image

DatsuniG
Advanced Member
Posts: 367
Joined: Fri Aug 15, 2008 9:57 pm

Re: Tyhmät kysymykset (I/2010)

Post by DatsuniG » Mon Jan 11, 2010 11:11 pm

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
Hengität nyt manuaalisesti.

Locked