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.Jerbbuz wrote:Onko olemassa mitään Coolbasic kirjaa?
Tyhmät kysymykset (I/2010)
Re: Tyhmät kysymykset (I/2010)
Re: Tyhmät kysymykset (I/2010)
miten saan lagituksen pois koodistani kun kokeilen sitä lagittaa aika paljon ja se on vain 132 riviä pitkä.
Re: Tyhmät kysymykset (I/2010)
Noh hankala sanoa. Jotkin komennot lagittavat paljon laita koodi tänne niin sitä voisi katsoa.
Re: Tyhmät kysymykset (I/2010)
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.Jerbbuz wrote:Onko olemassa mitään Coolbasic kirjaa?
Edits: jaha toinen sivu enpäs huomannu, mjoo :R
Valitettavasti mun kristallipallo on huollossa joten en pysty näkemään koodiasi sen kautta.jaahas wrote:miten saan lagituksen pois koodistani kun kokeilen sitä lagittaa aika paljon ja se on vain 132 riviä pitkä.
Re: Tyhmät kysymykset (I/2010)
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
Re: Tyhmät kysymykset (I/2010)
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ä.
ps en suosittele Travian kloonin tekemistä CoolBasicilla. Harjoitusprojektiksi se on kuitenkin hyvä.
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Tyhmät kysymykset (I/2010)
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)
Re: Tyhmät kysymykset (I/2010)
Voiko MakeObjectilla tehä animoituja objekteja?
Re: Tyhmät kysymykset (I/2010)
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()
Re: Tyhmät kysymykset (I/2010)
Neuvokaas kui tehää sellanen piirto ohjelma eli laittaan numerot sitten se piirtää jotai sotkua
Re: Tyhmät kysymykset (I/2010)
Koodaamalla.
TBH, se kristallipallo mistä puhuin on vieläkin huollossa. On vähän paha lähteä auttamaan josset kerro missä pitää auttaa.
TBH, se kristallipallo mistä puhuin on vieläkin huollossa. On vähän paha lähteä auttamaan josset kerro missä pitää auttaa.
Re: Tyhmät kysymykset (I/2010)
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:
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
Re: Tyhmät kysymykset (I/2010)
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."
Re: Tyhmät kysymykset (I/2010)
Tätäkö hait?
Code: Select all
While Not KeyHit(28)
s = Input(">>")
DrawScreen
Wend
CloseInput
x = 1+s
Print x
WaitKey
-
- Newcomer
- Posts: 36
- Joined: Fri Mar 20, 2009 3:29 pm
Re: Tyhmät kysymykset (I/2010)
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...
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?
(\__/)
(='.'=)
(")_(")
(='.'=)
(")_(")
Re: Tyhmät kysymykset (I/2010)
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:
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
Re: Tyhmät kysymykset (I/2010)
Manuaali sanoo virheilmoituskesta seuraavaa.
Koodirakenteen (esim. While..Wend/Repeat..Until/For..Next/If..EndIf) lopettava komento puuttuu.
Re: Tyhmät kysymykset (I/2010)
Joo tiedän mutta en näe mitään syytä miksi se tulisi tossa koodissaHenkru wrote:Manuaali sanoo virheilmoituskesta seuraavaa.Koodirakenteen (esim. While..Wend/Repeat..Until/For..Next/If..EndIf) lopettava komento puuttuu.
Re: Tyhmät kysymykset (I/2010)
kokeilin eikä tullut mitään virehilmoitusta
EDIT: hehehe, mikä typo, eli virheilmoitusta
EDIT: hehehe, mikä typo, eli virheilmoitusta
-
- Advanced Member
- Posts: 349
- Joined: Mon Aug 27, 2007 9:00 pm
- Location: Lapinjärvi, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Eli sulta puuttuu jostain näistä (While..Wend/Repeat..Until/For..Next/If..EndIf) koodirakenteesta aloitus tai lopetus.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.
Editori ei ole täydellinen* vaan välillä se ei osaa näyttää virheen oikeaa paikkaa. Esimerkiksi tällä koodilla:buke44 wrote:Joo tiedän mutta en näe mitään syytä miksi se tulisi tossa koodissa
Code: Select all
Function
Function f (a)
Return p
End Function
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
*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.
Runoblogi, vuodatusta ja sekoiluja.