Tyhmät kysymykset (I/2010)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
User avatar
Jare
Devoted Member
Posts: 877
Joined: Mon Aug 27, 2007 10:18 pm
Location: Pori
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Jare »

Jerbbuz wrote:Onko olemassa mitään Coolbasic kirjaa?
Ei ole, mutta jotain sinne päin: http://opinnaytetyo.kpelit.net . Tuo on CoolBasicista tekemäni opinnäytetyö. Sivuja löytyy varmasti pienen kirjan verran. :)
jaahas
Advanced Member
Posts: 307
Joined: Fri Feb 05, 2010 11:36 pm
Location: Tornio

Re: Tyhmät kysymykset (I/2010)

Post by jaahas »

miten saan lagituksen pois koodistani kun kokeilen sitä lagittaa aika paljon ja se on vain 132 riviä pitkä.
User avatar
Knoy
Active Member
Posts: 187
Joined: Fri Feb 12, 2010 10:50 pm

Re: Tyhmät kysymykset (I/2010)

Post by Knoy »

Noh hankala sanoa. Jotkin komennot lagittavat paljon laita koodi tänne niin sitä voisi katsoa.
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by temu92 »

Jerbbuz wrote:Onko olemassa mitään Coolbasic kirjaa?
Ei. Kieli ei oo niin merkittävä että kukaan olisi siitä mitään kirjaa kirjoittanut. Varsinkin kun nyt syntaksikin on muuttumassa vähitellen niin se olisi periaatteessa vain ajanhukkaa. Mukana tuleva manuaali sen sijaan on kaikki mitä tarvitset Coolbasicin oppimiseen - ja tietenkin intoa opetella ylipäätään.

Edits: jaha toinen sivu enpäs huomannu, mjoo :R
jaahas wrote:miten saan lagituksen pois koodistani kun kokeilen sitä lagittaa aika paljon ja se on vain 132 riviä pitkä.
Valitettavasti mun kristallipallo on huollossa joten en pysty näkemään koodiasi sen kautta.
jaahas
Advanced Member
Posts: 307
Joined: Fri Feb 05, 2010 11:36 pm
Location: Tornio

Re: Tyhmät kysymykset (I/2010)

Post by jaahas »

täs se on

Code: Select all

SCREEN 800,600
FrameLimit 60
kylä=LoadImage("kuvat\kylä.png")
hiiri=LoadImage("kuvat\mouse.png")
ari=LoadFont("arial",20)
alku:
ClsColor cbblack
Repeat

ShowMouse hiiri

DrawImage kylä,300,250

color cbwhite
If eb=1 Then Text 572,5,"KASARMI LVL:"+r : Box 397,315,22,22
If eb=2 Then Text 572,5,"PÄÄRAKENNUS LVL:"+r : box 397,315,22,22

If ec=1 Then Text 572,20,"KASARMI LVL:"+a : Box 435,294,22,22
If ec=2 Then Text 572,20,"PÄÄRAKENNUS LVL:"+a : box 435,294,22,22

If ed=1 Then Text 572,35,"KASARMI LVL:"+b : Box 383,264,22,22
If ed=2 Then Text 572,35,"PÄÄRAKENNUS LVL:"+b : box 383,264,22,22

If ee=1 Then Text 572,50,"KASARMI LVL:"+c : Box 444,371,22,22
If ee=2 Then Text 572,50,"PÄÄRAKENNUS LVL:"+c : box 444,371,22,22

If ef=1 Then Text 572,65,"KASARMI LVL:"+d : Box 457,331,22,22
If ef=2 Then Text 572,65,"PÄÄRAKENNUS LVL:"+d : box 457,331,22,22

If eg=1 Then Text 572,80,"KASARMI LVL:"+e : Box 339,372,22,22
If eg=2 Then Text 572,80,"PÄÄRAKENNUS LVL:"+e : box 339,372,22,22

If eh=1 Then Text 572,95,"KASARMI LVL:"+f : Box 351,325,22,22
If eh=2 Then Text 572,95,"PÄÄRAKENNUS LVL:"+f : box 351,325,22,22

If ei=1 Then Text 572,110,"KASARMI LVL:"+g : Box 335,298,22,22
If ei=2 Then Text 572,110,"PÄÄRAKENNUS LVL:"+g : box 335,298,22,22

If ej=1 Then Text 572,125,"KASARMI LVL:"+h : Box 378,396,22,22
If ej=2 Then Text 572,125,"PÄÄRAKENNUS LVL:"+h : box 378,396,22,22

Color cbblack
Text 404,320,"1"
Text 442,299,"2"
Text 390,269,"3"
Text 451,376,"4"
Text 464,336,"5"
Text 346,377,"6"
Text 358,330,"7"
Text 342,303,"8"
Text 385,401,"9"
Color cbwhite
Line 550,0,550,600
Text 555,5,"1."
Text 555,20,"2."
Text 555,35,"3."
Text 555,50,"4."
Text 555,65,"5."
Text 555,80,"6."
Text 555,95,"7."
Text 555,110,"8."
Text 555,125,"9."

Color cbwhite
Box 397,315,22,22,OFF
If eb=0 Then
If MouseX()>396 And MouseX()<419 And MouseY()>314 And MouseY()<337 Then
Color cbred
Box 397,315,22,22,OFF
If MouseHit(1) Then Goto yli
EndIf
EndIf

If eb>0 Then
If MouseX()>396 And MouseX()<419 And MouseY()>314 And MouseY()<337 Then
Color cbred
Box 397,315,22,22,OFF
If MouseHit(1) Then Goto up
EndIf
EndIf

Color cbwhite
Box 435,294,22,22,OFF
If ec=0 Then
If MouseX()>434 And MouseX()<457 And MouseY()>293 And MouseY()<316 Then
Color cbred
Box 435,294,22,22,OFF
If MouseHit(1) Then Goto yli1
EndIf
EndIf

Color cbwhite
Box 383,264,22,22,OFF
If ed=0 Then
If MouseX()>382 And MouseX()<405 And MouseY()>263 And MouseY()<286 Then
Color cbred
Box 383,264,22,22,OFF
If MouseHit(1) Then Goto yli2
EndIf
EndIf

Color cbwhite
Box 444,371,22,22,OFF
If ee=0 Then
If MouseX()>443 And MouseX()<465 And MouseY()>370 And MouseY()<393 Then
Color cbred
Box 444,371,22,22,OFF
If MouseHit(1) Then Goto yli3
EndIf
EndIf

Color cbwhite
Box 457,331,22,22,OFF
If ef=0 Then
If MouseX()>456 And MouseX()<479 And MouseY()>330 And MouseY()<353 Then
Color cbred
Box 457,331,22,22,OFF
If MouseHit(1) Then Goto yli4
EndIf
EndIf

Color cbwhite
Box 339,372,22,22,OFF
If eg=0 Then
If MouseX()>338 And MouseX()<361 And MouseY()>371 And MouseY()<394 Then
Color cbred
Box 339,372,22,22,OFF
If MouseHit(1) Then Goto yli5
EndIf
EndIf

Color cbwhite
Box 351,325,22,22,OFF
If eh=0 Then
If MouseX()>350 And MouseX()<373 And MouseY()>324 And MouseY()<347 Then
Color cbred
Box 351,325,22,22,OFF
If MouseHit(1) Then Goto yli6
EndIf
EndIf

Color cbwhite
Box 335,298,22,22,OFF
If ei=0 Then
If MouseX()>334 And MouseX()<357 And MouseY()>297 And MouseY()<320 Then
Color cbred
Box 335,298,22,22,OFF
If MouseHit(1) Then Goto yli7
EndIf
EndIf

Color cbwhite
Box 378,396,22,22,OFF
If ej=0 Then
If MouseX()>377 And MouseX()<400 And MouseY()>395 And MouseY()<418 Then
Color cbred
Box 378,396,22,22,OFF
If MouseHit(1) Then Goto yli8
EndIf
EndIf

DrawScreen
Forever

yli:
Repeat
SetFont ari
Color cbwhite
Text 350,100,"KASARMI"
Text 325,140,"PÄÄRAKENNUS"
If MouseX()>345 And MouseX()<427 And MouseY()>95 And MouseY()<120 Then
Color cbred
Text 350,100,"KASARMI"
If MouseHit(1) Then eb=1 : r=r+1 : Goto alku
EndIf

If MouseX()>320 And MouseX()<450 And MouseY()>135 And MouseY()<160 Then
Color cbred
Text 325,140,"PÄÄRAKENNUS"
If MouseHit(1) Then eb=2 : r=r+1 : Goto alku
EndIf

DrawScreen
Forever

yli1:
Repeat
SetFont ari
Color cbwhite
Text 350,100,"KASARMI"
Text 325,140,"PÄÄRAKENNUS"
If MouseX()>345 And MouseX()<427 And MouseY()>95 And MouseY()<120 Then
Color cbred
Text 350,100,"KASARMI"
If MouseHit(1) Then ec=1 : a=a+1 : Goto alku
EndIf

If MouseX()>320 And MouseX()<450 And MouseY()>135 And MouseY()<160 Then
Color cbred
Text 325,140,"PÄÄRAKENNUS"
If MouseHit(1) Then ec=2 : a=a+1 : Goto alku
EndIf

DrawScreen
Forever

yli2:
Repeat
SetFont ari
Color cbwhite
Text 350,100,"KASARMI"
Text 325,140,"PÄÄRAKENNUS"
If MouseX()>345 And MouseX()<427 And MouseY()>95 And MouseY()<120 Then
Color cbred
Text 350,100,"KASARMI"
If MouseHit(1) Then ed=1 : b=b+1 : Goto alku
EndIf

If MouseX()>320 And MouseX()<450 And MouseY()>135 And MouseY()<160 Then
Color cbred
Text 325,140,"PÄÄRAKENNUS"
If MouseHit(1) Then ed=2 : b=b+1 : Goto alku
EndIf

DrawScreen
Forever

yli3:
Repeat
SetFont ari
Color cbwhite
Text 350,100,"KASARMI"
Text 325,140,"PÄÄRAKENNUS"
If MouseX()>345 And MouseX()<427 And MouseY()>95 And MouseY()<120 Then
Color cbred
Text 350,100,"KASARMI"
If MouseHit(1) Then ee=1 : c=c+1 : Goto alku
EndIf

If MouseX()>320 And MouseX()<450 And MouseY()>135 And MouseY()<160 Then
Color cbred
Text 325,140,"PÄÄRAKENNUS"
If MouseHit(1) Then ee=2 : c=c+1 : Goto alku
EndIf

DrawScreen
Forever

yli4:
Repeat
SetFont ari
Color cbwhite
Text 350,100,"KASARMI"
Text 325,140,"PÄÄRAKENNUS"
If MouseX()>345 And MouseX()<427 And MouseY()>95 And MouseY()<120 Then
Color cbred
Text 350,100,"KASARMI"
If MouseHit(1) Then ef=1 : d=d+1 : Goto alku
EndIf

If MouseX()>320 And MouseX()<450 And MouseY()>135 And MouseY()<160 Then
Color cbred
Text 325,140,"PÄÄRAKENNUS"
If MouseHit(1) Then ef=2 : d=d+1 : Goto alku
EndIf

DrawScreen
Forever

yli5:
Repeat
SetFont ari
Color cbwhite
Text 350,100,"KASARMI"
Text 325,140,"PÄÄRAKENNUS"
If MouseX()>345 And MouseX()<427 And MouseY()>95 And MouseY()<120 Then
Color cbred
Text 350,100,"KASARMI"
If MouseHit(1) Then eg=1 : e=e+1 : Goto alku
EndIf

If MouseX()>320 And MouseX()<450 And MouseY()>135 And MouseY()<160 Then
Color cbred
Text 325,140,"PÄÄRAKENNUS"
If MouseHit(1) Then eg=2 : e=e+1 : Goto alku
EndIf

DrawScreen
Forever

yli6:
Repeat
SetFont ari
Color cbwhite
Text 350,100,"KASARMI"
Text 325,140,"PÄÄRAKENNUS"
If MouseX()>345 And MouseX()<427 And MouseY()>95 And MouseY()<120 Then
Color cbred
Text 350,100,"KASARMI"
If MouseHit(1) Then eh=1 : f=f+1 : Goto alku
EndIf

If MouseX()>320 And MouseX()<450 And MouseY()>135 And MouseY()<160 Then
Color cbred
Text 325,140,"PÄÄRAKENNUS"
If MouseHit(1) Then eh=2 : f=f+1 : Goto alku
EndIf

DrawScreen
Forever

yli7:
Repeat
SetFont ari
Color cbwhite
Text 350,100,"KASARMI"
Text 325,140,"PÄÄRAKENNUS"
If MouseX()>345 And MouseX()<427 And MouseY()>95 And MouseY()<120 Then
Color cbred
Text 350,100,"KASARMI"
If MouseHit(1) Then ei=1 : g=g+1 : Goto alku
EndIf

If MouseX()>320 And MouseX()<450 And MouseY()>135 And MouseY()<160 Then
Color cbred
Text 325,140,"PÄÄRAKENNUS"
If MouseHit(1) Then ei=2 : g=g+1 : Goto alku
EndIf

DrawScreen
Forever

yli8:
Repeat
SetFont ari
Color cbwhite
Text 350,100,"KASARMI"
Text 325,140,"PÄÄRAKENNUS"
If MouseX()>345 And MouseX()<427 And MouseY()>95 And MouseY()<120 Then
Color cbred
Text 350,100,"KASARMI"
If MouseHit(1) Then ej=1 : h=h+1 : Goto alku
EndIf

If MouseX()>320 And MouseX()<450 And MouseY()>135 And MouseY()<160 Then
Color cbred
Text 325,140,"PÄÄRAKENNUS"
If MouseHit(1) Then ej=2 : h=h+1 : Goto alku
EndIf

DrawScreen
Forever

up:
Repeat
Color cbwhite
Text 320,120,"NYKYINEN LVL:"+r
Text 352,150,"KEHITÄ"
Text 345,180,"TAKAISIN"
Text 360,210,"PURA"
If MouseX()>347 And MouseX()<424 And MouseY()>145 And MouseY()<170 Then
Color cbred
Text 352,150,"KEHITÄ"
If MouseHit(1) Then r=r+1 : Goto alku
EndIf

If MouseX()>340 And MouseX()<430 And MouseY()>175 And MouseY()<200 Then
Color cbred
Text 345,180,"TAKAISIN"
If MouseHit(1) Then Goto alku
EndIf

If MouseX()>355 And MouseX()<412 And MouseY()>205 And MouseY()<230 Then
Color cbred
Text 360,210,"PURA"
If MouseHit(1) Then eb=0 : Goto alku
EndIf

DrawScreen
Forever
User avatar
buke44
Active Member
Posts: 169
Joined: Sat May 23, 2009 8:10 pm
Location: Tampere

Re: Tyhmät kysymykset (I/2010)

Post by buke44 »

Jaahas: Tossa sun koodissa lagituksen syy on todennäköisesti liian iso Framelimit. Käytä mieluummin jotain 20-40. 30 on kai se yleisin framelimit. Ja tota koodia en vilkaissut muuta kuin pari riviä, että jos vika on muualla niin viisaammat voi auttaa.
ps en suosittele Travian kloonin tekemistä CoolBasicilla. Harjoitusprojektiksi se on kuitenkin hyvä.
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset (I/2010)

Post by koodaaja »

Valtaisa läjä piirtokomentoja hidastaa hommaa aina huomattavasti - laatikot voipi piirustella valmiiksi kuviin, joiden lätkiminen näytölle on huomattavasti nopeampaa (etenkin kun pelkän maskittoman laatikon voi piirtää copyboxilla, jolloin nopeus on melkoinen)
User avatar
buke44
Active Member
Posts: 169
Joined: Sat May 23, 2009 8:10 pm
Location: Tampere

Re: Tyhmät kysymykset (I/2010)

Post by buke44 »

Voiko MakeObjectilla tehä animoituja objekteja?
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset (I/2010)

Post by phons »

Voi... Maalaat sen animoidulla objektilla. Kuvilla animointi ei onnistu..

Code: Select all

run = LoadAnimObject("Media\zerorun1.bmp",47,51,0,13)

obj = MakeObject()
PaintObject obj,run

Repeat
    
    PlayObject obj,2,11,0.1,OFF
    
    DrawScreen
Until EscapeKey()
Image
Jerbbuz

Re: Tyhmät kysymykset (I/2010)

Post by Jerbbuz »

Neuvokaas kui tehää sellanen piirto ohjelma eli laittaan numerot sitten se piirtää jotai sotkua
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by temu92 »

Koodaamalla.

TBH, se kristallipallo mistä puhuin on vieläkin huollossa. On vähän paha lähteä auttamaan josset kerro missä pitää auttaa.
User avatar
buke44
Active Member
Posts: 169
Joined: Sat May 23, 2009 8:10 pm
Location: Tampere

Re: Tyhmät kysymykset (I/2010)

Post by buke44 »

En tajua yhtään. Antaa virheilmoituksen: "Code 86 in 'funktiot.cb' Error in if structure. can´t find ending block at line 3" Virheilmoitus tulee vain, jos tuon funktiot.cb ajaa includena. Jos ajan pelkän funktiot koodin nii se ei anna mitään virhettä. Ja ongelma alkoi yhtäkkiä, en ollut muuttanut tota koodia pariin tuntiin nii vaan alko tekeen tota. Saatta tosin olla että oon vahingossapoistanut jonkun pätkän tosta. Ja toi ei oo koko koodi, vaan se alue funktio includea missä ongelma tulee.
tässä se funktio koodi:

Code: Select all

//FUNCTIO INCLUDE
//pilkku
Function pilkkup (mones, teksti$)

p=InStr (teksti$, ",") 
If mones>1 Then 
i=1
Repeat 
i=i+1
p=InStr (teksti$, ",", p+1)
Until i=mones 
EndIf 

Return p
EndFunction 
Hene
Active Member
Posts: 122
Joined: Wed Apr 22, 2009 8:13 pm

Re: Tyhmät kysymykset (I/2010)

Post by Hene »

tilarivit ym. ovat olleet jonkin aikaa itselläni tauolla, joten nopea kertaus seuraavanlaiseen koodiin olisi mukava

Code: Select all

Syöte=käyttäjän_kirjoittama_numero
1+"+syöte+"="+X+"
print "X"
"Baby," I said. "I'm a genius but nobody knows it but me."
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: Tyhmät kysymykset (I/2010)

Post by Henkru »

Tätäkö hait?

Code: Select all

While Not KeyHit(28)
    s = Input(">>")
    DrawScreen
Wend
CloseInput
x = 1+s
Print x
WaitKey 
Herra HoOpO
Newcomer
Posts: 36
Joined: Fri Mar 20, 2009 3:29 pm

Re: Tyhmät kysymykset (I/2010)

Post by Herra HoOpO »

Miten onnistuisi pikselintarkka törmäys objekteille(tai objektin ja kuvan välille)?
Koska projektissani maa EI ole suora en voi käyttää ObjectsOverlappia...
Jos yritän käyttäää kuvaa maana millä tavalla pickcoloria ja yms. pitäisi käyttää?
Aina kun yritän getpixeliä ohjelma tunkee MAVia... :(
EDIT:

Niin ja miten saisin cbsdkn midilaitteen toimimaan?

(\__/)
(='.'=)
(")_(")
User avatar
buke44
Active Member
Posts: 169
Joined: Sat May 23, 2009 8:10 pm
Location: Tampere

Re: Tyhmät kysymykset (I/2010)

Post by buke44 »

Sori repost mutta en saanu ongelmaan vastausta

En tajua yhtään. Antaa virheilmoituksen: "Code 86 in 'funktiot.cb' Error in if structure. can´t find ending block at line 3" Virheilmoitus tulee vain, jos tuon funktiot.cb ajaa includena. Jos ajan pelkän funktiot koodin nii se ei anna mitään virhettä. Ja ongelma alkoi yhtäkkiä, en ollut muuttanut tota koodia pariin tuntiin nii vaan alko tekeen tota. Saatta tosin olla että oon vahingossapoistanut jonkun pätkän tosta. Ja toi ei oo koko koodi, vaan se alue funktio includea missä ongelma tulee.
tässä se funktio koodi:

Code: Select all

//FUNCTIO INCLUDE
//pilkku
Function pilkkup (mones, teksti$)

p=InStr (teksti$, ",") 
If mones>1 Then 
i=1
Repeat 
i=i+1
p=InStr (teksti$, ",", p+1)
Until i=mones 
EndIf 

Return p
EndFunction 
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: Tyhmät kysymykset (I/2010)

Post by Henkru »

Manuaali sanoo virheilmoituskesta seuraavaa.
Koodirakenteen (esim. While..Wend/Repeat..Until/For..Next/If..EndIf) lopettava komento puuttuu.
User avatar
buke44
Active Member
Posts: 169
Joined: Sat May 23, 2009 8:10 pm
Location: Tampere

Re: Tyhmät kysymykset (I/2010)

Post by buke44 »

Henkru wrote:Manuaali sanoo virheilmoituskesta seuraavaa.
Koodirakenteen (esim. While..Wend/Repeat..Until/For..Next/If..EndIf) lopettava komento puuttuu.
Joo tiedän mutta en näe mitään syytä miksi se tulisi tossa koodissa
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset (I/2010)

Post by phons »

kokeilin eikä tullut mitään virehilmoitusta

EDIT: hehehe, mikä typo, eli virheilmoitusta
Image
otto90x
Advanced Member
Posts: 349
Joined: Mon Aug 27, 2007 9:00 pm
Location: Lapinjärvi, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by otto90x »

buke44 wrote:Antaa virheilmoituksen: "Code 86 in 'funktiot.cb' Error in if structure. can´t find ending block at line 3" Virheilmoitus tulee vain, jos tuon funktiot.cb ajaa includena.
Eli sulta puuttuu jostain näistä (While..Wend/Repeat..Until/For..Next/If..EndIf) koodirakenteesta aloitus tai lopetus.
buke44 wrote:Joo tiedän mutta en näe mitään syytä miksi se tulisi tossa koodissa
Editori ei ole täydellinen* vaan välillä se ei osaa näyttää virheen oikeaa paikkaa. Esimerkiksi tällä koodilla:

Code: Select all

Function 

Function f (a)

    Return p
    
End Function
Tulee virheilmoitus "Error in FUNCTION-structure. Cant't find ending block at line 7", vaikka puutteellinen funktio onkin rivillä 1. Kannattaa siis etsiä virhettä vähän pidemmältä matkalta, yleensä koko koodi kannattaa käydä lävitse.

Kannataa myös sisentää koodia jolloin näkee helpommin milloin rakenne alkaa ja loppuu.

Code: Select all

//Sisennä esimerkiksi näin:
Function pilkkup (mones, teksti$)
    
    p = InStr (teksti$, ",") 
    
    //if alkaa
    If mones > 1 Then 
    
        i = 1
        
        Repeat
        
            i = i+1
            p = InStr (teksti$, ",", p+1)
            
        Until i = mones 
        
    EndIf 
    //if loppuu
    
    Return p
    
End Function
Jos et löydä virhettä niin voit toki kopioida kaiken koodin tänne niin katsotaan tarkemmin. (:

*Täydellinen editorihan arvaisi/tietäisi mitä käyttäjä haluaa, eikä käyttäjän tarvitsisi arvata mitä editori haluaa.
Otto Martikainen a.k.a. MetalRain, otto90x, kAATOSade.
Runoblogi, vuodatusta ja sekoiluja.
Locked