Tyhmät kysymykset (I/2010)

Voit pyytää apua ohjelmointiongelmiin täältä.
User avatar
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset (I/2010)

Post by phons » Mon Jan 11, 2010 11:16 pm

Onpas tyhmää :( Case ei voi olla muuttuja tai funktion palauttama arvo, eikä voi käyttää +, - tai muita laskusysteemejä... Noh, onneksi If on vielä olemassa :roll:
Image

User avatar
Ruuttu
Devoted Member
Posts: 687
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: Tyhmät kysymykset (I/2010)

Post by Ruuttu » Tue Jan 12, 2010 10:19 pm

Minkälaisella kaavalla/lausekkeella saisin tämän käyrän:

Image

...näyttämään tältä:

Image

...?
Ylempi käyrä siis syntyy kaavalla Y = X / 100, jossa X käy läpi luvut 1-100. Tavoitteena on modata tuota kaavaa siten, että sen ulos puskemat luvut 0.0-1.0 eivät etene täysin lineaarisesti, vaan tahti pehmenee loppua kohden.

User avatar
Substance
Active Member
Posts: 234
Joined: Fri Mar 14, 2008 6:48 pm

Re: Tyhmät kysymykset (I/2010)

Post by Substance » Tue Jan 12, 2010 10:29 pm

Tulipas tuosta Phonsin viestistä mieleen, että onko muillakin se ongelma, että mavittaa jos yrittää käyttää funktion sisässä merkkijonotaulukkoa joka on luotu sen ulkopuolella(käynyt ilmi muutamassa projektissani) tai että merkkijonotaulukko tyhjenee sen kokoa muutettaessa vaikka ClearArray on offilla(ei niin kauhea ongelma)?
Vai onko tämä vain cb:llä väistämätöntä ja useiden tiedossa?
Substance aka LittleGreen
Red Encounter - shoot'em uppia - lataus

User avatar
Ruuttu
Devoted Member
Posts: 687
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: Tyhmät kysymykset (I/2010)

Post by Ruuttu » Tue Jan 12, 2010 10:40 pm

Manuaalissa mainitaan, että ClearArray -komento ei päde merkkijonoihin taulukoissa. Merkkijonotaulukoiden käyttö funktioissa pitäisi sen sijaan olla täysin toimivaa - kummallista.

User avatar
Dande
Active Member
Posts: 193
Joined: Tue Aug 28, 2007 4:30 pm

Re: Tyhmät kysymykset (I/2010)

Post by Dande » Tue Jan 12, 2010 10:55 pm

Ruuttu wrote:Minkälaisella kaavalla/lausekkeella saisin tämän käyrän:
(lineaarinen kuvaaja)
...näyttämään tältä:
(kaareutuva kuvaaja)
...?
Ylempi käyrä siis syntyy kaavalla Y = X / 100, jossa X käy läpi luvut 1-100. Tavoitteena on modata tuota kaavaa siten, että sen ulos puskemat luvut 0.0-1.0 eivät etene täysin lineaarisesti, vaan tahti pehmenee loppua kohden.
Ehkä kannattaisi käyttää toisen asteen (tai jonkun korkeamman asteen) käyrän osasta: esim. f(x)= -x^2/10^4+x/50, jolloin kun x∈[0,100], f(x)∈[0,1], juurikin niin, että kuvaajan 'tahti' pehmenee (eli derivaatta lähestyy nollaa)

User avatar
Ruuttu
Devoted Member
Posts: 687
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: Tyhmät kysymykset (I/2010)

Post by Ruuttu » Tue Jan 12, 2010 11:00 pm

Dande wrote:Ehkä kannattaisi käyttää toisen asteen (tai jonkun korkeamman asteen) käyrän osasta: esim. f(x)= -x^2/10^4+x/50, jolloin kun x∈[0,100], f(x)∈[0,1], juurikin niin, että kuvaajan 'tahti' pehmenee (eli derivaatta lähestyy nollaa)
Juu jotain tällaista varmaankin haen, en vain nyt juuri tuota kaavaa osaa soveltaa tähän toimivaksi. Hmh, ehkä lukion jälkeen.

User avatar
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by SPuntte » Tue Jan 12, 2010 11:48 pm

Ruuttu wrote:
Dande wrote:Ehkä kannattaisi käyttää toisen asteen (tai jonkun korkeamman asteen) käyrän osasta: esim. f(x)= -x^2/10^4+x/50, jolloin kun x∈[0,100], f(x)∈[0,1], juurikin niin, että kuvaajan 'tahti' pehmenee (eli derivaatta lähestyy nollaa)
Juu jotain tällaista varmaankin haen, en vain nyt juuri tuota kaavaa osaa soveltaa tähän toimivaksi. Hmh, ehkä lukion jälkeen.
Haluatko, että käyrä saavuttaa tietyn y:n arvon tietyllä x (kuten tuossa kuvassa), vai siten, että käyrän arvo ei milloinkaan saavuta tiettyä y:n arvoa, vaikka se sitä lähestyykin, kun x kasvaa? Lisäksi tuosta jälkimmäisestä voidaan rakentaa sellainen funktio, että tietyllä arvolla x sen arvo poikkeaa tietyn murto-osan lähestyttävästä arvosta.

Näin differentiaalilaskennan termein puhuen, on ensimmäinen tapaus sellainen, jossa funktion derivaatalla on nollakohta, ja toinen sellainen, jossa derivaatta lähestyy nollaa, kun x kasvaa rajatta.
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES

CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX

User avatar
Ruuttu
Devoted Member
Posts: 687
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: Tyhmät kysymykset (I/2010)

Post by Ruuttu » Wed Jan 13, 2010 12:21 am

SPuntte wrote:Haluatko, että käyrä saavuttaa tietyn y:n arvon tietyllä x (kuten tuossa kuvassa), vai siten, että käyrän arvo ei milloinkaan saavuta tiettyä y:n arvoa, vaikka se sitä lähestyykin, kun x kasvaa?
Se ensimmäinen. Eli kun X = 0, myös Y = 0.0, ja kun X = 100, Y = 1.0. Se magia tapahtuisi sitten siellä välissä, eli aluksi Y:n arvot nousevat hieman nopeammin (verrattuna lineaariseen yhtälöön Y = X/100), mutta lähestyttäessä Y:n arvoa 1.0 alkaa eteneminen hidastua, ja käyrä pehmenee nätisti toisesta päästä. Matikkani ei tosiaankaan riitä niin pitkälle että osaisin edes tarkemmin selittää, mutta jos pystyt moisen kaavan kirjoittamaan, olisin todella kiitollinen. (Helpottaakohan hommaa jotenkin se, ettei kaavan tarvitse toimia kuin yhdellä numerovälillä?)

User avatar
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by SPuntte » Wed Jan 13, 2010 12:36 am

Ruuttu wrote:Se ensimmäinen. Eli kun X = 0, myös Y = 0.0, ja kun X = 100, Y = 1.0. Se magia tapahtuisi sitten siellä välissä, eli aluksi Y:n arvot nousevat hieman nopeammin (verrattuna lineaariseen yhtälöön Y = X/100), mutta lähestyttäessä Y:n arvoa 1.0 alkaa eteneminen hidastua, ja käyrä pehmenee nätisti toisesta päästä. Matikkani ei tosiaankaan riitä niin pitkälle että osaisin edes tarkemmin selittää, mutta jos pystyt moisen kaavan kirjoittamaan, olisin todella kiitollinen. (Helpottaakohan hommaa jotenkin se, ettei kaavan tarvitse toimia kuin yhdellä numerovälillä?)
Ookoo, eli tuo Danden esittämä kaava kelpaisi tuohon. Ainoa vaan, että siinä käyrän jyrkkyys, eli tangentin kulmakerroin, on 0,02 x:n arvolla 0 (eli tuplasti vastaavaan lineaariseen interpolaatioon verrattuna) ja pienenee lineaarista vastaavaan jo kohdassa x = 50.

Jos aivoni raksuttavat oikein, väitän, että paraabeleja, jotka kulkevat origon kautta, ja joiden huippu on pisteessä (100, 1), on ääretön määrä. Tarvitaan siis vielä yksi rajoitus, joka voisi olla vaikkapa se x:n arvo, jolla käyrän tangentin kulmakerroin (derivaatta) on tasan lineaarista interpolaatiota vastaava. Danden kaavassa se on nyt 50.

Täytyykin alkaa tästä kaivamaan MAOLia esiin...
EDIT:

Saanen udella, mihin tällaista matemaattista apuneuvoa kaipaat?

CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES

CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX

User avatar
Ruuttu
Devoted Member
Posts: 687
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: Tyhmät kysymykset (I/2010)

Post by Ruuttu » Wed Jan 13, 2010 12:50 am

Kaava tulisi olemaan vastuussa tehosteesta, johon sisältyy useita yhdistettyjä gradientteja. Ongelmana omassa kaavassani on siis että gradientin eteneminen pysähtyy tylysti kuin seinään, mikä ei näytä hyvältä, etenkin kun se pysähdys on ihan keskellä ruutua. Tietenkin gradientin kulkemisen voisi toteuttaa jollakin purkkavirityksellä tyyliin "Vähennetään Y:stä X, ja sitten vähennetään X:ää prosentilla, ja kun toistamme tätä, Y vähenee hidastuvalla nopeudella", mutta tällaisella systeemillä on hankala hallita tarkalleen, milloin se Y saavuttaa luvun jonka haluamme sen saavuttavan, ja lisäksi coolbasicin liukulukujen epätarkkuus johtaisi siihen, että tuhannen kierroksen jälkeen Y:n arvo heittäisi todennäköisesti useilla prosenteilla siitä 1.0:sta. Koska yhden gradientin on loputtava tarkalleen siihen väriin, josta seuraava alkaa tarvitsen kaavan, jolla voin laskea tarkalleen että mikä numero kuuluu siihen kohtaan X.

User avatar
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by SPuntte » Wed Jan 13, 2010 1:07 am

Ookoo.

Kirjoittelin tuossa juuri kaavoja paperille ja ratkoin vähän yhtälöryhmää. Tajusin, että tuossahan on jo kolme itsenäistä rajoittavaa tekijää, eli kuvaamani lisärajoituksen mukaan ottaminen olisi tuottanut kolmen tuntemattoman (toisen asteen yhtälössä on kolme vakiokerrointa) yhtälöryhmään neljä yhtälöä, eikä sitä olisi voinut ratkaista. Ainoa toisen asteen ratkaisu on siis tuo danden antama kaava. Elikkä puhuin edellisessä viestissä vähän puuta heinää.

Mutta ei silti mennyt sormi suuhun. Ratkaisu on helppo: lisätään polynomiin yksi korkeamman asteen termi, jolloin saadaan neljäs tuntematon muuttuja. Sitten tulikin eteen pulma: 3. vai 4. asteen termi. Onneksi tässä ei kuitenkaan tarvita kuin tuota tiettyä pätkää, joten valitaanpa kumpi tahansa, lopputulos ei ole juurikaan erilainen. 4. asteen termi vain tuottaa hiukan jyrkemmän muutoksen kaarevuudessa kuin 3. aste. Editoin tähän molemmat vaihtoehdot, kun saan laskuni valmiiksi
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES

CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX

User avatar
Dibalo
Advanced Member
Posts: 298
Joined: Mon Aug 27, 2007 8:12 pm
Location: Espoo, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Dibalo » Wed Jan 13, 2010 2:05 am

SPuntte wrote:Haluatko, että käyrä saavuttaa tietyn y:n arvon tietyllä x (kuten tuossa kuvassa), vai siten, että käyrän arvo ei milloinkaan saavuta tiettyä y:n arvoa, vaikka se sitä lähestyykin, kun x kasvaa? Lisäksi tuosta jälkimmäisestä voidaan rakentaa sellainen funktio, että tietyllä arvolla x sen arvo poikkeaa tietyn murto-osan lähestyttävästä arvosta.

Näin differentiaalilaskennan termein puhuen, on ensimmäinen tapaus sellainen, jossa funktion derivaatalla on nollakohta, ja toinen sellainen, jossa derivaatta lähestyy nollaa, kun x kasvaa rajatta.
Mikäli oikein ymmärsin, niin ensimmäisessä tapauksessa ei ole pakko olla derivaatan nollakohtia. Itse asiassa funktion ei tarvitse edes olla derivoituva x:ssä (jatkuva funktio ei välttämättä ole derivoituva määrittelyjoukossaan). Niille, jotka eivät tiedä derivaatan nollakohtia, lukekaa tämä. Funktio voi tietysti kasvaa lineaarisesti tai ekponentaalisesti, mutta mikäli se kasvaa aidosti, ei derivaatalla ole nollakohtia. Okei, saattaa olla ehkä saivartelua, mutta kuitenkin. :mrgreen: Eli pointtini oli vain, että f:n arvojoukko voi olla [0,1] määrittelyjoukon ollessa [0,100] ilman, että f:n derivaatalla on nollakohtia kyseisellä välillä. Eli esimerkiksi tälläinen kuvaaja.
The darkest spells can be found from
http://tunkkaus.blogspot.fi

User avatar
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by SPuntte » Wed Jan 13, 2010 2:59 am

Dibalo wrote:Mikäli oikein ymmärsin, niin ensimmäisessä tapauksessa ei ole pakko olla derivaatan nollakohtia. Itse asiassa funktion ei tarvitse edes olla derivoituva x:ssä (jatkuva funktio ei välttämättä ole derivoituva määrittelyjoukossaan). Niille, jotka eivät tiedä derivaatan nollakohtia, lukekaa tämä. Funktio voi tietysti kasvaa lineaarisesti tai ekponentaalisesti, mutta mikäli se kasvaa aidosti, ei derivaatalla ole nollakohtia. Okei, saattaa olla ehkä saivartelua, mutta kuitenkin. :mrgreen: Eli pointtini oli vain, että f:n arvojoukko voi olla [0,1] määrittelyjoukon ollessa [0,100] ilman, että f:n derivaatalla on nollakohtia kyseisellä välillä. Eli esimerkiksi tälläinen kuvaaja.
Katsos vain, eipä olekaan pakko - jotenkin vain ajattelin paraabelin huipun automaagisesti sinne määrittelyjoukon loppuun, eli kohtaan x=100. En tiedä miksi, varmaan tuosta Danden ehdotuksesta johtuen. Kuitenkin siinä valossa, että kyseisellä kaavalla piirretään väriliukuja, voi olla tärkeääkin, että derivaatta saavuttaa nollakohtansa, jolloin kahdesta peräkkäisen gradientin siirtymästä tulee pehmeämpi, kun jälkimmäinen piirretään takaperin.

Noh, joka tapauksessa, ratkaisin nyt tuon kaavan käyrälle muotoa y=ax³+bx²+cx+d. Parametrit a, b, c ja d ovat
Image
Ja kuten näkyy, nekin saavat edelleen parametreja, jotka ovat:
x_0 - määrittelyjoukon maksimi, esimerkiksi 100
y_0 - arvojoukon maksimi, esimerkiksi 1
r - arvo väliltä [0, 1], joka ilmaisee missä kohdassa käyrän jyrkkyys on yhtäkuin lineaarisen vastineen jyrkkyys. Eli kohdassa x = r*x_0 käyrän jyrkkyys on y_0/x_0

Tässä on kuitenkin eräs ongelma, jota en tullut ajatelleeksi. Nimittäin, jos r:n arvo on sopiva (esimerkiksi 0,8), käyrä on aluksi laskeva, eli saa joissain kohdissa negatiivisia arvoja! Tämä ei tietenkään ole suotavaa.

Asian pitäisi korjaantua käyttämällä neljännen asteen termiä kolmannen asteen termin sijaan, jolloin käyrän yhtälö on muotoa y = ax⁴ + bx² + cx + d. Tästäkin saadaan lineaarinen yhtälöryhmä käyttämällä avuksi käyrän haluttuja ominaisuuksia. Yhtälöiden kertoimiksi tulee kuitenkin semi monimutkaisia x_0, y_0 ja r:ää sisältäviä lausekkeita, joten laiskana ratkaisin ne Maxima-nimisellä matematiikkaohjelmalla. Jostain syystä neljännen asteen polynomin kertoimet sisältävä yhtälöryhmä ei sillä ratkea, vaan ohjelma jää jumiin. Järkelyni mukaan ratkaisu pitäisi kuitenkin olla olemassa, ja kiinnittämällä parametrit x_0 = 100, y_0 = 1 ja r = 0.8 sain yhtälöryhmän avulla ihan sellaisen käyrän kuin pitikin. Sen kertoimet ovat:
a = -7,978723404 · 10⁻⁹
b = 1,393617021 · 10⁻⁴
c = 4,042553191 · 10⁻³
d = 0

Voit käyttää sitä paremman puutteessa. Jos joku (Dibalooooo ;P) jaksaa raapustaa yhtälöryhmän ratkaisun paperilla, tai omistaa paremman algebrajärjestelmän kuin Maxima, voi tästä ottaa valmiin yhtälöryhmän:
Image
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES

CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX

User avatar
Dibalo
Advanced Member
Posts: 298
Joined: Mon Aug 27, 2007 8:12 pm
Location: Espoo, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Dibalo » Wed Jan 13, 2010 2:14 pm

Herra Wolfram kertoo:

Code: Select all

a -> -((y - 2 r y)/(2 x^4 (1 - 3 r + 2 r^4 x))), 
  b -> -((-y + 4 r^4 x y)/(2 x^2 (1 - 3 r + 2 r^4 x))), 
  c -> -((-y + 4 r y - 4 r^4 x y)/(x (1 - 3 r + 2 r^4 x)))
Olen laiska, joten en jaksanut kirjoittaa noita auki. :D

EDIT: Ehkä hieman helpommin luettavissa oleva kuva.
kaava.png
kaava.png (10.14 KiB) Viewed 4597 times
The darkest spells can be found from
http://tunkkaus.blogspot.fi

User avatar
Ruuttu
Devoted Member
Posts: 687
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: Tyhmät kysymykset (I/2010)

Post by Ruuttu » Wed Jan 13, 2010 4:18 pm

Nonniin, johan toimii. Sopi muuten koodiin kuin nakutettu. Thanks, guys!

..ja on muuten nätti käyrä! :)

User avatar
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 4:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2010)

Post by skorpioni-cb » Wed Jan 13, 2010 6:18 pm

kukaan ei ole huomannut ongelmaani:
Nyt ogelmani on että kun ammus osuu jälkimmäiseen niin se ei tuhoudu eikä hiiri enään hallitse sitä. Koodi:

Code: Select all

Include "ide\cbJanelas.cb"
'Pääohjelma

SCREEN 400,300,0,0

FrameLimit 40

Type RAKETIT
   Field obj
EndType 
Type ASTEROIDIT
   Field obj
   Field hp
EndType
Type VIHUT
   Field obj
   Field hp#
   Field id
EndType 

Const TUTKA_X=225
Const TUTKA_Y=100
Const TUTKA_KOKO=50
 
maksimi=2

Global hp

hp#=100.0

kamera=MakeImage(200,150) 

space=MakeImage(400,300)

DrawToImage space

For i=1 To 100 

    Dot Rand(0,399),Rand(0,299)

Next i
 
DrawToScreen 

world=MakeObjectFloor()

PositionObject world,0,0,-500

PaintObject world,space

sina=LoadObject("media\sinä.bmp",72)

energia=LoadObject("media\energia.bmp")

hiiri=LoadImage("media\hiiri.bmp")

meteori=LoadObject("media\meteori.bmp")
 ShowObject meteori,OFF 
pu=LoadObject("media\power-up.bmp")

ma=LoadObject("media\musta-aukko.bmp",72)

raketti=LoadObject("media\Kranaatti.jpg")
ShowObject raketti,OFF 
vihu=LoadObject("media\vihu.bmp",72)
ShowObject vihu,OFF 
pää=LoadObject("media\päävihu.bmp")
h=MakeObject()
n=2
Repeat 

    ClsColor 56,62,184 

ShowMouse hiiri
If pause Then

Else 

 PositionObject h,MouseWX(),MouseWY()

    Gosub tarkista

    Color 255,255,255

    Text 251,9,"hp: "+hp

    PositionObject pää,Int(750.1994),Int(-17.1)

    If LeftKey() Then TurnObject sina,5
    If RightKey() Then TurnObject sina, -5
    If UpKey() Then MoveObject sina,n
    If DownKey() Then MoveObject sina,-n

    If KeyDown(42) Or KeyDown(54) Then n=8 Else n=2

If KeyHit(cbkeyspace) And reload=0 Then 
   
    newRaketti.RAKETIT= New(RAKETIT)
    newRaketti\obj=CloneObject(raketti)
    CloneObjectPosition newRaketti\obj,sina
    CloneObjectOrientation newRaketti\obj,sina
      
    MoveObject newRaketti\obj,40
      
    reload=4
EndIf 
   
i=0

For lVihu.VIHUT= Each VIHUT
    For iRaketti.RAKETIT= Each RAKETIT

    MoveObject iRaketti\obj,6
    If After(lVihu)<>NULL Then 
    If ObjectsOverlap(lVihu\obj,iRaketti\obj,3) Then 
      id.VIHUT=lVihu
   EndIf 
          If id=lVihu Then 
         PositionObject lVihu\obj,ObjectX(h),ObjectY(h)
         TurnObject lVihu\obj,7
       EndIf 
          
  If MouseHit(1) Then id=0   
   
  EndIf 




   i=i+1
   Next iRaketti
Next lVihu 


   
If reload>0 Then reload=reload-1
   
   Text 248,60,"Ladatut ammukset: "+i
EndIf    
If KeyHit(cbkeyP) Then pause=Not pause
    camera(kamera,ObjectX(sina),ObjectY(sina))

        DrawImage kamera,0,0

  

 DrawScreen

Forever 

Function nappi(Teksti$,x,y,leveys=0,korkeus=0)

  leveys1=leveys
  korkeus1=korkeus
  
  If leveys1=0 Then leveys2=TextWidth(Teksti)
  If korkeus1=0 Then korkeus2=TextHeight(Teksti)
  
   'Napin pohjaväri. EI TEKSTIN VÄRI!
   
   r=getRGB(RED)
   g=getRGB(GREEN)
   b=getRGB(BLUE)
   
   Color r,g,b
   
   If r=0 And g=0 And b=0 Then 
   
   r1=255
   
   g1=255
   
   b1=255
   
   Else
      
   r1=0
   
   g1=0
   
   b1=0
   
   EndIf
   
   Box x,y,leveys2,korkeus2
   
   Color r1,r1,r1
   
   Text x,y,Teksti

     If MouseX() >=x And MouseX()<= x+leveys2 And MouseY() >= y And MouseY() <= y+korkeus2 Then 
     
       in=True 
       
     Else 
     
       in=False 
       
     EndIf 
     
   If in=True And MouseHit(1) Then 
   
     painettu=True
   
   Else 
   
     painettu=False
     
   EndIf 
   
  Return painettu
  
EndFunction 

Function VähennäHp(maara#)

hp=hp-maara

Return hp#

EndFunction 

Function camera(img,x,y)

l=ImageWidth(img)
k=ImageHeight(img)

UpdateGame

DrawToImage img
    ClsColor cbblack
    Cls
    PositionCamera x,y
    PositionCamera CameraX()+((ScreenWidth()-l)/2),CameraY()-((ScreenHeight()-k)/2)
    DrawGame
DrawToScreen
EndFunction 
Luo:
    newVihu.VIHUT= New(VIHUT)
    newVihu\obj=CloneObject(vihu)
    newVihu\hp=4.0
Return 

Return 
tarkista:
    Nykyinen_maara = 0
For vihumää.VIHUT = Each VIHUT
    Nykyinen_maara + 1
Next vihumää
    
    If Nykyinen_maara < Maksimi Then Gosub luo
Return 
arvostelu auttamisessa yhdestä viiteen:
3-
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.

User avatar
JATothrim
Tech Developer
Tech Developer
Posts: 606
Joined: Tue Aug 28, 2007 6:46 pm
Location: Kuopio

Re: Tyhmät kysymykset (I/2010)

Post by JATothrim » Wed Jan 13, 2010 6:56 pm

offtopic: viewtopic.php?p=36324#p36324 viestistä tähän viestiin asti pitäisi säilöä pois "Tyhmät kysymykset" Ketjusta. :D Aivan liian viisas kysymys vastauksineen kaikkineen.
skorpioni-cb: mihin ihmeeseen tarvitset "Include "ide\cbJanelas.cb""?? koodissa ei ollut mitään tähän viittaavaa.
-On selkeästi impulsiivinen koodaaja joka...
ohjelmoi C++:lla rekursiivisesti instantioidun templaten, jonka jokainen instantiaatio instantioi sekundäärisen singleton-template-luokan, jonka jokainen instanssi käynistää säikeen tulostakseen 'jea'.

User avatar
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 4:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2010)

Post by skorpioni-cb » Wed Jan 13, 2010 6:58 pm

JATothrim wrote:offtopic: viewtopic.php?p=36324#p36324 viestistä tähän viestiin asti pitäisi säilöä pois "Tyhmät kysymykset" Ketjusta. :D Aivan liian viisas kysymys vastauksineen kaikkineen.
skorpioni-cb: mihin ihmeeseen tarvitset "Include "ide\cbJanelas.cb""?? koodissa ei ollut mitään tähän viittaavaa.
En ole laittanut vielä popuppeja mutta ne tulee vasta sitten kun hallinta toimii
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.

User avatar
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 4:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2010)

Post by skorpioni-cb » Wed Jan 13, 2010 7:21 pm

Samalla tarvitsen animaatio-kaappauksen joka tekisi ns. "Liikkuvaa kuvaa jota voidaan käyttää avin tapaan" Liikkuvaa framekuvaa.
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.

User avatar
valscion
Moderator
Moderator
Posts: 1587
Joined: Thu Dec 06, 2007 8:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by valscion » Wed Jan 13, 2010 7:42 pm

skorpioni-cb wrote:kukaan ei ole huomannut ongelmaani:
Nyt ogelmani on että kun ammus osuu jälkimmäiseen niin se ei tuhoudu eikä hiiri enään hallitse sitä. <koodi>
Hmm, en edes tajunnut mikä on ongelmasi. "Ammus osuu jälkimmäiseen"?? Mikä ihmeen jälkimmäinen? Mitä pitäisi tapahtua kun ammus (eli varmaankin tyyppikokoelman RAKETIT jäsen?) osuu tähän "jälkimmäiseen"? Koodi on aika sekavasti sisennettykin, käyttäisit sitä tabulaattoria (TAB, Caps Lockin yläpuolella oleva nappi...) sisennysten tekemiseen ja Shift (vaihto) + TAB yhdistelmää sisennysten poistamiseen pätkittäin.

Koko koodista ei löytynyt yhtään Delete tai DeleteObject komentoa, joten ihmekkös ettei ammus tuhoudu - eihän sellaista koodinpätkää edes ole olemassa joka sen tuhoaisi
EDIT:

skorpioni-cb wrote:Samalla tarvitsen animaatio-kaappauksen joka tekisi ns. "Liikkuvaa kuvaa jota voidaan käyttää avin tapaan" Liikkuvaa framekuvaa.
Mitä tarkoitat? Mikä "animaatio-kaappaus"? Tarvitsetko siis jotain kuvaa, jonka joku piirtäisi sinulle ja jota voisit käyttää niin kuin videotiedostoa?[/edit]
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

Locked