Page 14 of 43

Re: Tyhmät kysymykset (II/2009)

Posted: Fri Jul 10, 2009 6:16 pm
by kaneli2000
Feuer wrote:Readlinellä ei saa tietääkseni luettua yhtä riviä yhteen muuttujaan...
Saapas? Minulla ainaki toimii :o.

Re: Tyhmät kysymykset (II/2009)

Posted: Fri Jul 10, 2009 8:22 pm
by Sceri
DatsuniG wrote:
Sceri wrote:Eli kysymys olisi että miksi tuo teksti ei näy kun painaa start?

Code: Select all

 ClsColor cbwhite 'Taustavari valkoiseksi
    Repeat

    If painike(30,40,"Start") Then Goto aloita  'Esimerkki toiminnasta

    DrawScreen
    Forever



    '------------
    'FUNKTIO
    '------------

    Function painike(reunaX,reunaY,txt$)

    clr=1 'Clr on 1

    x = TextWidth(txt$)
    y = TextHeight(txt$)
    Color 0,175,22

    If MouseX()<reunaX+x+6 And MouseX()>reunaX And MouseY()<reunaY+y+6 And MouseY()>reunaY Then
    If MouseHit(1) Then paalla=True
    If clr=1 Then Color 55,254,23
    Else
    paalla=False


    EndIf 'Lopetetaan if -lause


    Box reunaX,reunaY,x+6,y+6 ,ON 'Laatikko

    Color cbblack

    Box reunaX,reunaY,x+6,y+6,OFF 'Reunat laatikolle

    Text reunaX+3,reunaY+3,txt$ 'Teksti toimimaan oikealle kohdalle

    Return paalla 'Palauttaa arvon
    End Function 'Lopetetaan funktio
    
    aloita:
    FrameLimit 100
    
    AddText "Poista teksti painamalla s"
    
    If KeyHit(cbkeys) Then ClearText
    
  lehmä =  LoadObject ("Media\cow.bmp",72)
  
    Repeat
    
    If LeftKey() Then TurnObject lehmä, 5
    If RightKey() Then TurnObject lehmä, -5    
    
    If UpKey() Then MoveObject lehmä, 2
    If DownKey() Then MoveObject lehmä, -2
    
    DrawScreen 
    Forever
    
    
    
Koska ehtolauseke ei ole loopissa ; )
Olen aloittelija enkä tajua mistään mitään, eli toisin sanoen? :D
Koitin laittaa If KeyHit(cbkeys) Then ClearText repeatin alle mutta ei toiminu...

Re: Tyhmät kysymykset (II/2009)

Posted: Fri Jul 10, 2009 9:11 pm
by Awaclus
Sceri wrote:
DatsuniG wrote:
Sceri wrote:Eli kysymys olisi että miksi tuo teksti ei näy kun painaa start?

Code: Select all

 ClsColor cbwhite 'Taustavari valkoiseksi
    Repeat

    If painike(30,40,"Start") Then Goto aloita  'Esimerkki toiminnasta

    DrawScreen
    Forever



    '------------
    'FUNKTIO
    '------------

    Function painike(reunaX,reunaY,txt$)

    clr=1 'Clr on 1

    x = TextWidth(txt$)
    y = TextHeight(txt$)
    Color 0,175,22

    If MouseX()<reunaX+x+6 And MouseX()>reunaX And MouseY()<reunaY+y+6 And MouseY()>reunaY Then
    If MouseHit(1) Then paalla=True
    If clr=1 Then Color 55,254,23
    Else
    paalla=False


    EndIf 'Lopetetaan if -lause


    Box reunaX,reunaY,x+6,y+6 ,ON 'Laatikko

    Color cbblack

    Box reunaX,reunaY,x+6,y+6,OFF 'Reunat laatikolle

    Text reunaX+3,reunaY+3,txt$ 'Teksti toimimaan oikealle kohdalle

    Return paalla 'Palauttaa arvon
    End Function 'Lopetetaan funktio
    
    aloita:
    FrameLimit 100
    
    AddText "Poista teksti painamalla s"
    
    If KeyHit(cbkeys) Then ClearText
    
  lehmä =  LoadObject ("Media\cow.bmp",72)
  
    Repeat
    
    If LeftKey() Then TurnObject lehmä, 5
    If RightKey() Then TurnObject lehmä, -5    
    
    If UpKey() Then MoveObject lehmä, 2
    If DownKey() Then MoveObject lehmä, -2
    
    DrawScreen 
    Forever
    
    
    
Koska ehtolauseke ei ole loopissa ; )
Olen aloittelija enkä tajua mistään mitään, eli toisin sanoen? :D
Koitin laittaa If KeyHit(cbkeys) Then ClearText repeatin alle mutta ei toiminu...
Ei se mistään ehtolauseista johdu. Se johtuu siitä, että yrität piirtää mustaa tekstiä mustalle taustalle, ja silloin ei tietenkään näy yhtään mitään.

Re: Tyhmät kysymykset (II/2009)

Posted: Fri Jul 10, 2009 9:21 pm
by valscion
Chaosworm wrote:
Sceri wrote:Olen aloittelija enkä tajua mistään mitään, eli toisin sanoen? :D
Koitin laittaa If KeyHit(cbkeys) Then ClearText repeatin alle mutta ei toiminu...
Ei se mistään ehtolauseista johdu. Se johtuu siitä, että yrität piirtää mustaa tekstiä mustalle taustalle, ja silloin ei tietenkään näy yhtään mitään.
Joku ihme CB-bugi, kyllähän siellä alussa koodia on "ClsColor cbWhite" mutta jostain syystä se ei enää ole toiminnassa Goto:n jälkeen. Vaihdappas siis taustan väriä ClsColor-komennolla tai tekstin väriä Color-komennolla ennen kuin alat tekstiä lisäilemään näytölle.

Re: Tyhmät kysymykset (II/2009)

Posted: Sat Jul 11, 2009 11:41 am
by Feuer
KilledWhale wrote:Readline lukee suoraan yhden rivin tiedostosta ja kyllä sen ainakin minulla voi muuttujaan lukea. Itsellä tuo sinun readconfig hässäkkäsi toimi niinkuin pitikin.

Tässä vielä muutama funktio ini-tiedostojen lukuun jos vaikka näillä toimisi:
http://cbkk.systec.fi/koodi.php?id=213
Jaa... Täytynee kokeilla. Mikä OS on käytössäsi...? Vistalla esiintyy itselläni paljon bugeja CB-ohjelmissa, joita ei esiinny kun kys. ohjelmia ajaa Win2000RC2 - virtuaaliympäristössä.
EDIT:

rivi$=Readline(tiedostonimi) -> kielioppivirse, kun taas rivi$=readconfig(Tiedostonimi$, otsikko$) -> Toimii


Re: Tyhmät kysymykset (II/2009)

Posted: Sun Jul 12, 2009 1:28 pm
by matti3
Seuraava koodin pätkä. Miksi kun kävelen seinää päin niin hahmo ei pysää siihen. Pitääkö tilesetterissä tehdä jotain erillaista seiniin, jotta se ymmärtää, että se on seinä jos pitää niin mitä? :O

Code: Select all

    kartta = LoadMap("grafiikat/gym.til", "grafiikat/tileset.bmp")//ilkeä
    ukko = LoadObject("grafiikat/hahmo_1.bmp",72)
    ohjaaja = LoadObject("grafiikat/hahmo_1.bmp",72)//ilkeä
    paino_penkki = LoadObject("grafiikat/paino_penkki.bmp",72)//ilkeä
    SetupCollision ukko, kartta, 1, 4, 2

Re: Tyhmät kysymykset (II/2009)

Posted: Sun Jul 12, 2009 1:37 pm
by Herra Siili
Seinät pitää merkitä hit-kerrokseen.

Re: Tyhmät kysymykset (II/2009)

Posted: Mon Jul 13, 2009 3:13 pm
by Feuer
KilledWhale wrote:Readline lukee suoraan yhden rivin tiedostosta ja kyllä sen ainakin minulla voi muuttujaan lukea. Itsellä tuo sinun readconfig hässäkkäsi toimi niinkuin pitikin.

Tässä vielä muutama funktio ini-tiedostojen lukuun jos vaikka näillä toimisi:
http://cbkk.systec.fi/koodi.php?id=213
Tuo funktio on loistava :o :D Mutta en löydä/osaa koodata "Lohkoja tukevaa ini-kirjoitusfunktiota".

E:SDK on vastaus kaikkeen, ei siis mitään

Re: Tyhmät kysymykset (II/2009)

Posted: Mon Jul 13, 2009 3:28 pm
by KoviZ
Voiko coolbasicilla, muuttaa tietokoneen päivämäärää?

Re: Tyhmät kysymykset (II/2009)

Posted: Mon Jul 13, 2009 3:34 pm
by phons
KoviZ wrote:Voiko coolbasicilla, muuttaa tietokoneen päivämäärää?
Ohhoh, sitä ei kai CB:llä voi, tai ehkä järjestelmärekistereitä sörkkimällä, kun niillä saa kerta päivämäärän ulsokin, tosin se on niin vaarallista touhua, että ei kannata, saat vielä koko koneesi sekasin. Tosin en ole silti varma mistään, mutta jos ei rekistereillä niin ei sitten kyllä millään..

Re: Tyhmät kysymykset (II/2009)

Posted: Mon Jul 13, 2009 4:56 pm
by TheFish
KoviZ wrote:Voiko coolbasicilla, muuttaa tietokoneen päivämäärää?
Voit kutsua windowsin komentoriviä /c-lipulla ja antaa sille parametriksi date-komennon, jolle annat parametriksi uuden päivämäärän.

Code: Select all

Execute "cmd /c " + Chr(34) + "date 13.7.2009" + Chr(34)

Re: Tyhmät kysymykset (II/2009)

Posted: Mon Jul 13, 2009 10:09 pm
by phons
Osaatteko auttaa: Minulla on isometrinen kartta jonka koko tilessä on 10*10, yhden normaalin ruoho tilen koko on 64*32, kartan koko pikseleissä on siis 640*320, ongelmana on etten osaa laskea miten saan hiiren kohdistimen kohdilleen niin, että se on sen tilen päällä missä hiiri on, en siis osaa tehdä tällaista laskutoimitusta, ja kohditin täytyy olla tasan tilen päällä eikä niiden välissä, eli se ei liiku täysin hiiren mukanan vaan "hyppii tileltä tilelle". Kohdistin on myös kuva joka on myls 64*32. Ymmärsittekö ongelmani...?

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Jul 14, 2009 12:49 pm
by Feuer
Hitto ku ei suju... Miten saan tarkistettua kahden [tekstiä$] -lohkon välisen rivimäärän tiedostosta...?
EDIT: Siis, [TEKSTIÄ$] *rivejä* [ERITEKSTI] - välinen rivimääräntarkistus?

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Jul 14, 2009 1:13 pm
by KilledWhale
Feuer wrote:Hitto ku ei suju... Miten saan tarkistettua kahden [tekstiä$] -lohkon välisen rivimäärän tiedostosta...?
Jotenkin tähän tyyliin. En ehtinyt testata mutta kääntyi ainakin.

Code: Select all

f = OpenToRead("filu.txt")
	countLines = False // Lasketaanko nykyinen rivi
	While Not EOF(f) // Käydään koko tiedosto läpi
		r$ = ReadLine(f) // Luetaan rivi
		r$ = Trim(r$) // Poistetaan rivin alusta ylimääräiset rivivälit ja sarkaimet
		If r$ = "[tekstiä]" Then
			countLines = Not countLines // Jos countLines = True niin muutetaan se falseksi ja päin vastoin
		Else
			If countLines Then // Jos laskuri ON päällä kasvatetaan muuttujan arvoa
				count = count + 1
			EndIf
		EndIf
	Wend
CloseFile f

Print count
WaitKey

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Jul 14, 2009 6:24 pm
by matti3
Totaa... :D

Tein hahmosta animaation, mutta tuli ongelma. Mahdolliset tallennusmuodot ovat vain. .gif .avi yms mitä CoolBasic ei tue, joten se ei löydä animaatiotani.

Kysymys on. Tietääkö ketään animaatio ohjelmaa missä saa tallennettua .bmp tai .jpg tai muuhun CoolBasicin tukemaan muotoon?


Toinen kysymys.
Onko muistin varaus ns. Ram muisti? Eli jos laitan muistin varaukseen kaksi 256 niin se on yhteensä 512 ja jos jollakulla on vain 256RAM muisti niin ei voi pelata?

Ja samaan kysymykseen liittyy
Miten tähän muistivaraukseen voi liittää kuvan? Ajattelin, että helpotan ohjelmaa niin, että nuo useat objectit tuhotaan, kun niitä ei näy, mutta jätetään muistin varaukseen ja taas saapuessa takaisin tilaan jossa hahmot näkyvät niin ne luetaan sieltä nopeasti, joten ei tarvitse ladata graffoja uudestaan. Tällä hetkellä on 12 eri esinettä joten voin sanoa, että lataus kestää kauan ja jos vain piilotan objectit niin nehän jää taustalle joten muodostuu ongelmaksi se, että se hidastaa peliä. Siis esineistä vasta noin puolet on tehty, objecteja tulee vielä paljon lisää. :)

Ps. Kiitos jos autatte. :)

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Jul 14, 2009 6:50 pm
by Awaclus
matti3 wrote:Totaa... :D

Tein hahmosta animaation, mutta tuli ongelma. Mahdolliset tallennusmuodot ovat vain. .gif .avi yms mitä CoolBasic ei tue, joten se ei löydä animaatiotani.

Kysymys on. Tietääkö ketään animaatio ohjelmaa missä saa tallennettua .bmp tai .jpg tai muuhun CoolBasicin tukemaan muotoon?
Animaatiohan tehdään niin, että piirretään Paintilla .png, .jpg tai .bmp -muotoon kuva, jossa on kaikki animaation framet peräkkäin ja niitä sitten käytellään kirjoittamalla komentoja CoolBasicin editoriin.

EDIT: Tässä Ultimate Showdown -pelistä yksi animaatio esimerkkinä, jos jäi epäselväksi:
Image

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Jul 14, 2009 7:50 pm
by Tuxi
matti3 wrote: Ja samaan kysymykseen liittyy
Miten tähän muistivaraukseen voi liittää kuvan? Ajattelin, että helpotan ohjelmaa niin, että nuo useat objectit tuhotaan, kun niitä ei näy, mutta jätetään muistin varaukseen ja taas saapuessa takaisin tilaan jossa hahmot näkyvät niin ne luetaan sieltä nopeasti, joten ei tarvitse ladata graffoja uudestaan. Tällä hetkellä on 12 eri esinettä joten voin sanoa, että lataus kestää kauan ja jos vain piilotan objectit niin nehän jää taustalle joten muodostuu ongelmaksi se, että se hidastaa peliä. Siis esineistä vasta noin puolet on tehty, objecteja tulee vielä paljon lisää. :)
Ainakin voit muuttaa objectit näkymättömiksi ShowObject-komennolla. Silloin ne eivät edes osallistu törmäystunnistuksiin tai mihinkään semmosiin ja pelin nopeus ei tipu.

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Jul 14, 2009 8:03 pm
by matti3
aaa ok. Luulin, että tippuu. Kiitos. :)

Mitä hyötyä näistä muistin varauksista sitten on? Mitä niillä voi tehdä parantaakseen suoritus kykyä?

Ja miten saan ajastimen Timer() ei tee asioita niinkuin haluan. :O

Pitäisi olla niin, että on yksi minuutti aikaa ja aika näkyy siinä. Ja se putoaa 1:00 0:00. Siitä osaankin sitten sommitella sen toimimaan toisin päin (katsos pelinsisäinen kello) :D

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Jul 14, 2009 8:58 pm
by Tuxi
Tarkoititko tällaista?

Code: Select all

start = Timer()
Repeat
    Text 0,0,((Timer()-start)/3600000)+":"+(((Timer()-start)/60000) Mod 60)+":"+((Timer()-start)/1000 Mod 60)
    DrawScreen
Forever 

Re: Tyhmät kysymykset (II/2009)

Posted: Tue Jul 14, 2009 10:32 pm
by DatsuniG
Miksi über ristinollapelini voiton tarkistus ei toimi? ; (

Code: Select all

SCREEN 300,300
Dim Ruudukko(2,2) As integer, Vuoro As Integer
Repeat
    For a = 0 To 2
        For i = 0 To 2
            Box i * ScreenWidth() / 3, a * ScreenHeight() / 3, ScreenWidth() / 3, ScreenHeight() / 3, 0
            If MouseX() > i * ScreenWidth() / 3 And MouseX() < (i + 1) * ScreenWidth() / 3 And MouseY() > a * ScreenHeight() / 3 And MouseY() < (a + 1) * ScreenHeight() / 3 And MouseHit(1) And Ruudukko(i,a) = 0 Then 
                Ruudukko(i,a) = vuoro + 1
                vuoro = Not vuoro
            ElseIf ruudukko(i,a) = 1 Then
                Ellipse i * ScreenWidth() / 3, a * ScreenHeight() / 3, ScreenWidth() / 3, ScreenHeight() / 3,0
            ElseIf ruudukko(i,a) = 2 Then
                Line i * ScreenWidth() / 3, a * ScreenHeight() / 3, (i + 1) * ScreenWidth() / 3 , (a + 1) * ScreenHeight() / 3
                Line (i + 1) * ScreenWidth() / 3 , a * ScreenHeight() / 3 , i * ScreenWidth() / 3 , (a + 1) * ScreenHeight() / 3
            EndIf 
            If Ruudukko(a,0) = (Not vuoro) + 1 And Ruudukko(a,1) = (Not vuoro) + 1 And Ruudukko(a,2) = (Not vuoro) + 1 Or Ruudukko(0,i) = (Not vuoro) + 1 And Ruudukko(1,i) = (Not vuoro) + 1 And Ruudukko(2,i) = (Not vuoro) + 1 Or Ruudukko(0,0) = (Not vuoro) + 1 And Ruudukko(1,1) = (Not vuoro) + 1 And Ruudukko(2,2) = (Not vuoro) + 1 Or Ruudukko(2,0) = (Not vuoro) + 1 And Ruudukko(1,1) = (Not vuoro) + 1 And Ruudukko(0,2) = (Not vuoro) + 1 Then MakeError Chr(79 + (Not vuoro) * 9) + " voitti!"
        Next i
    Next a   
    DrawScreen
Forever