Tyhmät kysymykset (II/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
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 »

Minulla oli sama ongelma, enkä saanut ratkaistua sitä, joten siirryin käyttämään cbSDK:n vastaavaa funktiota.
a.k.a. Gehock
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 »

Feuer wrote:
oiskovalmnro=Readconfig("kansiotiedot.cfg", "valmnro")
Ja tuon asetustiedoston rivit on luotu Writeconfigilla
Hee, luet tuossa merkkijonon kokonaislukumuuttujaan. Testaappa mielummin näin:

Code: Select all

oiskovalmnro$=Readconfig("kansiotiedot.cfg", "valmnro")
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 »

:shock: :oops: Mietinkin että tuossa on jokin tuommoinen typerä, should-be-noticed - tyyppinen ongelma :D

EDIT:hmmsiis... koodia siistimällä kaikki järjestyy...
Last edited by Feuer on Thu Jul 09, 2009 2:28 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
Sceri
Newcomer
Posts: 18
Joined: Sun Apr 13, 2008 4:06 pm

Re: Tyhmät kysymykset (II/2009)

Post by Sceri »

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

Re: Tyhmät kysymykset (II/2009)

Post by Feuer »

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
    
    
    
Kutsu loopissa seuraavaa funktiota:

Code: Select all

    Function värit()

ClsColor cbWhite
Color cbBlack
Return 1

End Function
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
DatsuniG
Advanced Member
Posts: 367
Joined: Fri Aug 15, 2008 9:57 pm

Re: Tyhmät kysymykset (II/2009)

Post by DatsuniG »

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

Enemmän tai vähemmän tyhmä tai viisas kysymys.

Kuinka saan tehtyä pikselintarkan törmäyksentunnistuksen kuville?
I see the rainbow rising
DatsuniG
Advanced Member
Posts: 367
Joined: Fri Aug 15, 2008 9:57 pm

Re: Tyhmät kysymykset (II/2009)

Post by DatsuniG »

Hengität nyt manuaalisesti.
Hene
Active Member
Posts: 122
Joined: Wed Apr 22, 2009 8:13 pm

Re: Tyhmät kysymykset (II/2009)

Post by Hene »

Miten pystyn tekemään sellaisen funktion (tms.), että aseella ammuttaessa panokset vähenevät?
"Baby," I said. "I'm a genius but nobody knows it but me."
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 »

Noku et tajunnu.

Siis ihan niinkun törmäys-törmäyksen eikä mitäöän "onko-kuvat-päällekkäin-antaa-sitten-olla-hih-hih"-törmäystä.
I see the rainbow rising
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 »

Hene wrote:Miten pystyn tekemään sellaisen funktion (tms.), että aseella ammuttaessa panokset vähenevät?
Tee vain muuttuja, jolle annat aluksi tietyn arvon, esim. "ammuksia = 100" ja aina ammuttaessa vähennät siitä yhden. Tarkista ennen ampumista, että onko tuon "ammuksia" muuttujan arvo suurempi kuin nolla (eli onko ammuksia jäljellä) että logiikka pysyy kasassa =)
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
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 »

kaneli2000 wrote:
Noku et tajunnu.

Siis ihan niinkun törmäys-törmäyksen eikä mitäöän "onko-kuvat-päällekkäin-antaa-sitten-olla-hih-hih"-törmäystä.
Noku ite et selittäny tarpeeks selkeästi. Tarkista tuolla ImagesCollide-funktiolla, onko kuvat päällekkäin, ja jos ovat, niin ennen DrawScreen-komentoa ne pitäisi siirtää pois toistensa päältä, eli et anna niitten mennä päällekkäin..! Jos et tuotakaan tarkoittanut niin selitäs hieman paremmin...
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
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 »

VesQ wrote:
kaneli2000 wrote:
Noku et tajunnu.

Siis ihan niinkun törmäys-törmäyksen eikä mitäöän "onko-kuvat-päällekkäin-antaa-sitten-olla-hih-hih"-törmäystä.
Noku ite et selittäny tarpeeks selkeästi. Tarkista tuolla ImagesCollide-funktiolla, onko kuvat päällekkäin, ja jos ovat, niin ennen DrawScreen-komentoa ne pitäisi siirtää pois toistensa päältä, eli et anna niitten mennä päällekkäin..! Jos et tuotakaan tarkoittanut niin selitäs hieman paremmin...
Tarkoitin kyllä, sori jos oli epäselvästi :/.

Kysyin vaan jos jollakin olisi parempi neuvo kuin tuo (käytin sitä siis alunperin itsekin, mutta huonolla lopputuloksella, tosin sehän on tietenkin koodista kiinni.).

EDITEDIT: Voisinkos saada jotain esimerkkiä tuosta collidesta kun en saanu toimiin?

EDIT: toinenkin kysymys on mutten halua tuplapostata:
Saako jollakin DLL:llä windowsin omat ohjelma reunat piilotettua? Tyyliin:
Attachments
nimetön.PNG
nimetön.PNG (13.06 KiB) Viewed 10440 times
I see the rainbow rising
User avatar
TheDuck
Devoted Member
Posts: 632
Joined: Sun Aug 26, 2007 3:51 pm
Location: C:\Program Files\Tuusula\

Re: Tyhmät kysymykset (II/2009)

Post by TheDuck »

kaneli2000 wrote: EDIT: toinenkin kysymys on mutten halua tuplapostata:
Saako jollakin DLL:llä windowsin omat ohjelma reunat piilotettua?
cbFunin SetWindowAlpha muistaakseni. Pistää ohjelman ikkunan läpinäkyväksi niin sisältö näkyy edelleen normaalisti mutta reunat katoaa.
^^
Nassi_Setä
Advanced Member
Posts: 281
Joined: Sat Jun 28, 2008 5:19 pm
Location: Hämeessä miä

Re: Tyhmät kysymykset (II/2009)

Post by Nassi_Setä »

Taas tulee kaamian tyhmä kymysys: Jostain syystä funktio lisää kaikkien kutien nopeutta joka kutsumis kerralla.
Joten miten voin korjata tämän?

Code: Select all

Function vihu_ammu(kuti,tyyppi,kulma,x,y,nopeus,damage)
    Select tyyppi
        Case 1
            vihupati.VIHULUOTI = New(VIHULUOTI)
            vihupati\img=kuti
            vihupati\x=x
            vihupati\y=y
            vihupati\id=tyyppi
            vihupati\nopeus=nopeus
            vihupati\dmg=damage
            vihupati\frame=0
            vihupati\kulma=kulma
    EndSelect 
EndFunction 


Function update_vihu_ammus#()
    For vihupati.VIHULUOTI = Each VIHULUOTI
    
        vihupati\movex=Cos(vihupati\kulma)*vihupati\nopeus 
        vihupati\movey=-Sin(vihupati\kulma)*vihupati\nopeus     
    
        vihupati\x+vihupati\movex
        vihupati\y+vihupati\movey
            
        DrawImage vihupati\img,vihupati\x,vihupati\y
   
    Next vihupati
EndFunction 
Koodini saattaa olla tyhmästi tehty ja parrannus ehdotuksia saa antaa.

Edit: Kaneli tässä olis kuvien törmäys kökösti:

Code: Select all

SCREEN 400,300

Mimg=LoadImage("media\cow.bmp")'Master kuva(ehkä vähän turha

img1=Mimg'klooni 1

img2=Mimg'ja klooni 2

x1#=25
y1#=25

x2=100
y2=100

Repeat 

    If LeftKey() Then x1#=x1#-1
    If RightKey() Then x1#=x1#+1
    If UpKey() Then y1#=y1#-1
    If DownKey() Then y1#=y1#+1

    kulma=GetAngle(x1#,y1#,x2,y2)
    
    If ImagesCollide(img1,x1,y1,0,img2,x2,y2,0) Then 
        mx#=-Cos(kulma)*1.5
        my#=Sin(kulma)*1.5
        
        x1#+mx#
        y1#+my#
    EndIf 
    
    DrawImage img1,x1#,y1#
    DrawImage img2,x2,y2
    
    DrawScreen 
    
Until EscapeKey() 
\../(-_-)\../ <---klick MyBrute Image
Jotain evilii on tekeillä....
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 »

Nassi_Setä wrote: Edit: Kaneli tässä olis kuvien törmäys kökösti:

Code: Select all

SCREEN 400,300

Mimg=LoadImage("media\cow.bmp")'Master kuva(ehkä vähän turha

img1=Mimg'klooni 1

img2=Mimg'ja klooni 2

x1#=25
y1#=25

x2=100
y2=100

Repeat 

    If LeftKey() Then x1#=x1#-1
    If RightKey() Then x1#=x1#+1
    If UpKey() Then y1#=y1#-1
    If DownKey() Then y1#=y1#+1

    kulma=GetAngle(x1#,y1#,x2,y2)
    
    If ImagesCollide(img1,x1,y1,0,img2,x2,y2,0) Then 
        mx#=-Cos(kulma)*1.5
        my#=Sin(kulma)*1.5
        
        x1#+mx#
        y1#+my#
    EndIf 
    
    DrawImage img1,x1#,y1#
    DrawImage img2,x2,y2
    
    DrawScreen 
    
Until EscapeKey() 
Ei toimi nelikulmaisilla kuvilla :s
Itse yritin laskea, onko x isompi kuin x2 ja liikutella kuvia sen mukaan, mutta joku mättäsi ja yhdestä seinästä pääsi aina läpi.
I see the rainbow rising
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by Feuer »

Miksi tuon kuvan esittämät ongelmat ovat?

Code: Select all

rekkari$= readconfig(avaanhänet+".txt","Rekisterinro")
merkki$= readconfig(avaanhänet+".txt","Auton merkki")
valmnro$=readconfig(avaanhänet+".txt","Valmistenumero")
työkkäri$= readconfig(avaanhänet+".txt","Työtilaus")
pvm$=readconfig(avaanhänet+".txt","Päivämäärä")
omistaja$=readconfig(avaanhänet+".txt","Omistaja")
puhnro$=Readconfig(avaanhänet+".txt","Omistajan puhelinnro")

AddText "Rekisterinumero: "+Upper(rekkari)
AddText "Auton merkki: "+Upper(Left(merkki,1))+Replace(merkki,Left(merkki,1),"")
AddText "Valmistenumero: "+upper(valmnro)
AddText "Työtilaus nro: "+työkkäri
AddText "Päivämäärä: "+pvm
AddText "Omistaja: "+Upper(Left(omistaja,1))+Replace(omistaja,Left(omistaja,1),"")
AddText "Omistajan puhelinnumero: "+puhnro
'drawscreen vasta silmukan jälkeen!!!

DrawScreen
kyseinen txt:
rekisterinro=abc-123
auton merkki=jeep
valmistenumero=2k9höm9813e390196
työtilaus=12/09
päivämäärä=1.1.2009
omistaja=meikäläinen matti
omistajan puhelinnro=0401234545
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
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 »

En ole readconfigiin tutustunut, ja ehdotankin ReadLinen käyttöä.

Eikös readconfig ole cbSDK:sta?
I see the rainbow rising
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by Feuer »

Readlinellä ei saa tietääkseni luettua yhtä riviä yhteen muuttujaan... Ja funktion löysin cbkk:sta, en ole perehtynyt äsdeekoohon. (Äikäntunneista sen verran aikaa, onko oikea muoto SDKhon?)
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 »

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

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
Locked