Tyhmät kysymykset (II/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
User avatar
kaneli2000
Guru
Posts: 1059
Joined: Mon Mar 17, 2008 2:40 pm
Location: Lempäälä

Re: Tyhmät kysymykset (II/2009)

Post by kaneli2000 »

Feuer wrote:Readlinellä ei saa tietääkseni luettua yhtä riviä yhteen muuttujaan...
Saapas? Minulla ainaki toimii :o.
I see the rainbow rising
Sceri
Newcomer
Posts: 18
Joined: Sun Apr 13, 2008 4:06 pm

Re: Tyhmät kysymykset (II/2009)

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

Re: Tyhmät kysymykset (II/2009)

Post 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.
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (II/2009)

Post 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.
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
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tyhmät kysymykset (II/2009)

Post 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

Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
matti3
Active Member
Posts: 136
Joined: Fri Mar 06, 2009 8:37 pm

Re: Tyhmät kysymykset (II/2009)

Post 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
Glory&Pride <--- selainpeli projektini

Pelilä<- yksi ylläpitämäni sivusto.

World leaders Ensimmäinen CoolBasic projektini
Herra Siili
Advanced Member
Posts: 308
Joined: Tue Nov 25, 2008 8:06 pm
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by Herra Siili »

Seinät pitää merkitä hit-kerrokseen.
a.k.a. Gehock
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tyhmät kysymykset (II/2009)

Post 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
Last edited by Feuer on Tue Jul 14, 2009 9:40 am, edited 2 times in total.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
KoviZ

Re: Tyhmät kysymykset (II/2009)

Post by KoviZ »

Voiko coolbasicilla, muuttaa tietokoneen päivämäärää?
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset (II/2009)

Post 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..
Image
TheFish
Developer
Developer
Posts: 477
Joined: Mon Aug 27, 2007 9:28 pm
Location: Joensuu

Re: Tyhmät kysymykset (II/2009)

Post 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)
CoolBasic henkilökuntaa
Kehittäjä
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset (II/2009)

Post 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...?
Image
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tyhmät kysymykset (II/2009)

Post 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?
Last edited by Feuer on Tue Jul 14, 2009 3:13 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
KilledWhale
Tech Developer
Tech Developer
Posts: 545
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: Tyhmät kysymykset (II/2009)

Post 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
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
matti3
Active Member
Posts: 136
Joined: Fri Mar 06, 2009 8:37 pm

Re: Tyhmät kysymykset (II/2009)

Post 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. :)
Glory&Pride <--- selainpeli projektini

Pelilä<- yksi ylläpitämäni sivusto.

World leaders Ensimmäinen CoolBasic projektini
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (II/2009)

Post 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
Tuxi
Active Member
Posts: 190
Joined: Wed Jan 21, 2009 10:25 pm
Contact:

Re: Tyhmät kysymykset (II/2009)

Post 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.
Projektit:
Jotain pientä (Ehkä vähän suurempaakin)

-Tuxi- (myös Tuxi4321)
matti3
Active Member
Posts: 136
Joined: Fri Mar 06, 2009 8:37 pm

Re: Tyhmät kysymykset (II/2009)

Post 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
Glory&Pride <--- selainpeli projektini

Pelilä<- yksi ylläpitämäni sivusto.

World leaders Ensimmäinen CoolBasic projektini
Tuxi
Active Member
Posts: 190
Joined: Wed Jan 21, 2009 10:25 pm
Contact:

Re: Tyhmät kysymykset (II/2009)

Post 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 
Projektit:
Jotain pientä (Ehkä vähän suurempaakin)

-Tuxi- (myös Tuxi4321)
DatsuniG
Advanced Member
Posts: 367
Joined: Fri Aug 15, 2008 9:57 pm

Re: Tyhmät kysymykset (II/2009)

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