Ylläpito pilkkoo kaikki yli 100-sivuiset aiheet jatkoketjuiksi. Lisäksi aloitetaan uusi ketju vuosittain.
Tyhmät kysymykset - tarkoitus
Törmäsitkö ongelmaan, jonka tiedät olevan oikeasti ihan helppo, mutta ratkaisu ei vain osu silmään? Onko ongelmasi niin vähäpätöinen, ettei sitä varten kannata tehdä uutta ketjua?
Alkuperäisen ketjun johdanto meni näin:
iTKEVAnAKKI wrote:Eli tänne kaikki yksinkertaiset kysymykset johin et ole keksinyt ratkaisua. Mutta muistakaa, että käytätte ensin hakua!
Re: Tyhmät kysymykset (I/2010)
Posted: Mon Jan 04, 2010 4:52 pm
by skorpioni-cb
No jos tähän saa kirjoittaa, niin eka kysymys täällä:
miten heksadesimaalivärikoodeja voi muuntaa muotoon RGB (HTML värikoodeista->RGB kooreiksi.)
Function HexToRGB(hexvalue$)
Hexvalue = Upper(hexvalue)
If Left(HexValue,1) = "#" Then HexValue = Mid(HexValue,2,Len(HexValue) - 1)
ReturnStr As String = ""
For i = 1 To 6 Step 2
If Asc(Mid(hexvalue, i, 1)) > 64 Then tmp1 = Asc(Mid(hexvalue, i, 1)) - 55 Else tmp1 = Mid(hexvalue, i, 1)
If Asc(Mid(hexvalue, i + 1, 1)) > 64 Then tmp2 = Asc(Mid(hexvalue, i + 1, 1)) - 55 Else tmp2 = Mid(hexvalue, i + 1, 1)
If i < 5 Then ReturnStr = ReturnStr + Str(16 * tmp1 + tmp2) + "," Else ReturnStr = ReturnStr + Str(16 * tmp1 + tmp2)
Next i
Return ReturnStr
EndFunction
[/edit]
Re: Tyhmät kysymykset (I/2010)
Posted: Tue Jan 05, 2010 5:42 pm
by martti
Onko kenelläkään hajua mikä tässä koodissa on vikana:
Type AMMUS
Field obj
End Type
FrameLimit 40
ClsColor cbWhite
ukko=LoadObject("Media\soldier.bmp",72)
pati=LoadObject("Media\bullet.bmp")
ShowObject pati,OFF
AddText "Nuolista ohjaa, CTRL=ampuu"
RotateObject ukko, 90
MaskObject ukko, 255,0,255
Level=1
Repeat
If ObjectX(ukko)<-200 Then PositionObject ukko,-200,ObjectY(ukko)
If ObjectX(ukko)>200 Then PositionObject ukko,200,ObjectY(ukko)
If ObjectY(ukko)<-150 Then PositionObject ukko,ObjectX(ukko),-150
If ObjectY(ukko)>150 Then PositionObject ukko,ObjectX(ukko),150
If UpKey() Then MoveObject ukko,5
If DownKey() Then MoveObject ukko,-5
If LeftKey() Then MoveObject ukko,0,-5
If RightKey() Then MoveObject ukko,0,5
If KeyDown(cbKeyRControl) And reload=0 And Level=2 Xor Level=3 Then
luoti.AMMUS = New(AMMUS)
luoti\obj=CloneObject(pati)
PositionObject luoti\obj,ObjectX (ukko)+20, ObjectY (ukko)+17.5
CloneObjectOrientation luoti\obj,ukko
reload=5
EndIf
If reload>0 Then reload=reload-1
If KeyDown(cbKeyRControl) And reload2=0 And Level=2 Xor Level=3 Then
luoti.AMMUS = New(AMMUS)
luoti\obj=CloneObject(pati)
PositionObject luoti\obj,ObjectX (ukko)-20, ObjectY (ukko)+17.5
CloneObjectOrientation luoti\obj,ukko
reload2=5
EndIf
If reload2>0 Then reload2=reload2-1
If KeyDown(cbKeyRControl) And reload3=0 And Level=1 Xor Level=3 Then
luoti.AMMUS = New(AMMUS)
luoti\obj=CloneObject(pati)
PositionObject luoti\obj,ObjectX (ukko)-0.3, ObjectY (ukko)+13.5
CloneObjectOrientation luoti\obj,ukko
reload3=5
EndIf
If reload3>0 Then reload3=reload3-1
For luoti.AMMUS = Each AMMUS
MoveObject luoti\obj,6
Next luoti
Level=Level+KeyHit(78)-KeyHit(74)
If level=<1 Then Level=1
If level=>3 Then level=3
DrawScreen
Until EscapeKey()
Siis kun level nousee kolmoseen niin jostain syystä sotilas ampuu ihan sekona.
Type AMMUS
Field obj
End Type
FrameLimit 40
ClsColor cbWhite
ukko=LoadObject("Media\soldier.bmp",72)
pati=LoadObject("Media\bullet.bmp")
ShowObject pati,OFF
AddText "Nuolista ohjaa, CTRL=ampuu"
RotateObject ukko, 90
MaskObject ukko, 255,0,255
Level=1
Repeat
If ObjectX(ukko)<-200 Then PositionObject ukko,-200,ObjectY(ukko)
If ObjectX(ukko)>200 Then PositionObject ukko,200,ObjectY(ukko)
If ObjectY(ukko)<-150 Then PositionObject ukko,ObjectX(ukko),-150
If ObjectY(ukko)>150 Then PositionObject ukko,ObjectX(ukko),150
If UpKey() Then MoveObject ukko,5
If DownKey() Then MoveObject ukko,-5
If LeftKey() Then MoveObject ukko,0,-5
If RightKey() Then MoveObject ukko,0,5
If KeyDown(cbKeyRControl) And reload=0 And (Level=2 Xor Level=3) Then
luoti.AMMUS = New(AMMUS)
luoti\obj=CloneObject(pati)
PositionObject luoti\obj,ObjectX (ukko)+20, ObjectY (ukko)+17.5
CloneObjectOrientation luoti\obj,ukko
reload=5
EndIf
If reload>0 Then reload=reload-1
If KeyDown(cbKeyRControl) And reload2=0 And (level=2 Xor Level=3) Then
luoti.AMMUS = New(AMMUS)
luoti\obj=CloneObject(pati)
PositionObject luoti\obj,ObjectX (ukko)-20, ObjectY (ukko)+17.5
CloneObjectOrientation luoti\obj,ukko
reload2=5
EndIf
If reload2>0 Then reload2=reload2-1
If KeyDown(cbKeyRControl) And reload3=0 And (Level=1 Xor Level=3) Then
luoti.AMMUS = New(AMMUS)
luoti\obj=CloneObject(pati)
PositionObject luoti\obj,ObjectX (ukko)-0.3, ObjectY (ukko)+13.5
CloneObjectOrientation luoti\obj,ukko
reload3=5
EndIf
If reload3>0 Then reload3=reload3-1
For luoti.AMMUS = Each AMMUS
MoveObject luoti\obj,6
Next luoti
Level=Level+KeyHit(78)-KeyHit(74)
If level=<1 Then Level=1
If level=>3 Then level=3
DrawScreen
Until EscapeKey()
Re: Tyhmät kysymykset (I/2010)
Posted: Tue Jan 05, 2010 6:25 pm
by Hene
Simppeli tapa tehdä viiva, joka liikkuu eteenpäin ja toistaa itseään? Eli vähän kuin Windowsin tehtävienhallinnan suorituskyky-mittari, mutta viivan kulkusuunta olisi etukäteen päätettävissä.
Re: Tyhmät kysymykset (I/2010)
Posted: Tue Jan 05, 2010 7:08 pm
by Rufi
Muistaakseni, olisikohan ollut jopa vanhoilla foorumeilla, jossain oli esimerkkikoodi tavasta antaa tyyppikokoelman kentäksi taulukko. Olenko väärässä, vai löytyykö joltain tietoa tämän toteuttamisesta?
EDIT:
Haha kiitos tuhoojabotti. On se jännää, kun en löytänyt vaikka yritin Pitääpä koittaa ensi kerralla yksinkertaisempia hakusanoja ^^,
Moi taas! Mietin tässä pitkän matikan läksyjä tehdessäni, että tarvitseeko ohjelmoinnissa miten paljon pitkässä matikassa opittuja asioita? Oletan että monella ohjelmoijalla on ollut pitkä matikka lukiossa. Varmasti pitkä matikka auttaa ongelmien ratkaisemisessa, mutta voiko siinä opittuja asioita soveltaa suoraan coolbasiciin? Olen ensimmäisellä vuosikurssilla, kolmas pitkän matikan kurssi menossa, itselläni siis ei ole tästä mitään tietoa
Re: Tyhmät kysymykset (I/2010)
Posted: Tue Jan 05, 2010 9:03 pm
by Koodiapina
Peruskoulu-matikalla pärjää.
Itse olen koodannut mm. pelejä (2D- ja verkko-), omia ohjelmointikieliä (tulkattavia ja käännettäviä), IRC-botteja, tekoälyjä, viruksia ym. sovelluksia, eikä ole koskaan tullut matemaattinen osaamattomuus vastaan
Re: Tyhmät kysymykset (I/2010)
Posted: Tue Jan 05, 2010 9:05 pm
by Ilmuri
Koodi wrote:Moi taas! Mietin tässä pitkän matikan läksyjä tehdessäni, että tarvitseeko ohjelmoinnissa miten paljon pitkässä matikassa opittuja asioita? Oletan että monella ohjelmoijalla on ollut pitkä matikka lukiossa. Varmasti pitkä matikka auttaa ongelmien ratkaisemisessa, mutta voiko siinä opittuja asioita soveltaa suoraan coolbasiciin? Olen ensimmäisellä vuosikurssilla, kolmas pitkän matikan kurssi menossa, itselläni siis ei ole tästä mitään tietoa
Trigonometria, geometria, sekä differentiaalilaskenta ainakin ovat käyttökelpoisia.
Re: Tyhmät kysymykset (I/2010)
Posted: Tue Jan 05, 2010 9:43 pm
by ezbe
Ilmuri wrote:
Koodi wrote:Moi taas! Mietin tässä pitkän matikan läksyjä tehdessäni, että tarvitseeko ohjelmoinnissa miten paljon pitkässä matikassa opittuja asioita? Oletan että monella ohjelmoijalla on ollut pitkä matikka lukiossa. Varmasti pitkä matikka auttaa ongelmien ratkaisemisessa, mutta voiko siinä opittuja asioita soveltaa suoraan coolbasiciin? Olen ensimmäisellä vuosikurssilla, kolmas pitkän matikan kurssi menossa, itselläni siis ei ole tästä mitään tietoa
Trigonometria, geometria, sekä differentiaalilaskenta ainakin ovat käyttökelpoisia.
Differentiaalilaskennan hyödyistä ainakin peliohjelmoinnin saralla en olisi niinkään varma, kaksi ensin mainittua kyllä ovat tärkeitä. Peruskoulun matematiikallakin pääsee jo kohtuu pitkälle, mutta varsinkin peliohjelmointi on kohtuullisen matematiikkapainotteista. Itse en lukiota ole käynyt, mutta varmasti olisi helpottanut asioiden sisäistämisessä.
3D-grafiikkaa ja -ohjelmointia ajatellen, kannattaa pitää silmät ja korvat auki, kun tunneilla käsitellään vektoreita ja matriiseja/lineaarialgebraa. Toki niitä voi hyödyntää 2d-grafiikassakin.
Re: Tyhmät kysymykset (I/2010)
Posted: Tue Jan 05, 2010 10:33 pm
by Koodi
Suuret kiitokset teille kaikille! Pitää opiskella kunnolla, että opin ehkä joskus ohjelmoimaan jotain kivaa
Etten lähettäisi turhaa viestiä, näytän teille tällaisen koodipätkän, jonka pitäisi piirtää se paraabeli, jonka inputtiin kirjoittaa. Tiedän mikä mättää(luulisin ainakin), mutta mitenhän sen vois korjata? Eli uu=Input() rivi - uu:hun ei taida tallentua kaikki Input():ssa olevat tiedot(teksti)? Mitenhän ne saisi kerättyä, ja sen mukaan piirrettyä paraabeli? Hankalaksi tämän tekee se että inputtiin ei voi kirjoittaa ^ -merkkiä, koitin hoitaa asian näin:
SCREEN 800,600
DrawToWorld ON
Repeat
If KeyHit(cbkeyp) Then p$=Chr(94)
//If p$=Chr(112) Then p$=Chr(94)
Line -ScreenWidth(), 0, ScreenWidth(), 0
Line 0, -ScreenWidth(), 0, ScreenWidth()
For x = -1000 To 1000
uu=Input("p ON pontenssi ")
Dot 1+x, uu
Next x
Text 0, 40, MouseX()
Text 0, 60, MouseY()
Text 0, 100, uu
Text 0, 120, p
//tämä pätkä piirtää paraabelin
//For t=-100 To 100
// Dot 1+t, t^2
//Next t
DrawScreen
Forever
Re: Tyhmät kysymykset (I/2010)
Posted: Thu Jan 07, 2010 6:09 pm
by skorpioni-cb
Hei, olisiko mitään tapaa saada tietää kumpaa vihollisalusta on ammuttu.
Koodi (huono sisennys ):
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#
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")
n=2
Repeat
ClsColor 56,62,184
ShowMouse hiiri
If pause Then
Else
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
DeleteObject iRaketti\obj
Delete iRaketti
EndIf
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
EDIT:
Nyt toimii kaappaus, mutta kun olen tiputtanut toisen ja yrittänyt ottaa toista tiputuksen jälkeen hallintaan, niin se tiputettu on taas sama jota hallitsen ei se toinen. Apuva:
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)
EndIf
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
[/edit]
Re: Tyhmät kysymykset (I/2010)
Posted: Thu Jan 07, 2010 6:30 pm
by Jonez
Tapojahan on monia, joista yksinkertaisin taitaa olla suora If-lauseen käyttö heti silmukassa. Et kuitenkaan taida hakea tätä. Funktiolla ConvertToInteger() voi ottaa jäsenmuuttujan osoitteen ylös, ja funktiolla ConvertToType() taas saadaan muuttujan sisältämä osoite takaisin jäseneksi.
Tavallisin tapa käyttää näitä on syöttää osoite funktioon, jonka ansiosta voimme käsitellä yksittäistä jäsentä ilman että käymme kokoelmaa uudestaan läpi. Cb:ssä ei itse jäsen kelpaa argumentiksi.
Type laatikot
Field x
Field y
EndType
//Luodaan kaksi laatikko
nl.laatikot = New( laatikot )
nl\x = 10
nl\y = 50
nl.laatikot = New( laatikot )
nl\x = 100
nl\y = 50
Repeat
//Käydään laatikot läpi
For il.laatikot = Each laatikot
Box il\x, il\y, 40, 40, 0 'piirretään laatikko, koko 40x40
//Jos hiiri on laatikon päällä, otetaan kyseisen jäsenen osoite ylös.
If MouseX() > il\x And MouseY() > il\y And MouseX() < il\x + 40 And MouseY() < il\y + 40 Then
päälläId.laatikot = ConvertToInteger( il )
EndIf
//Jos juuri tämän jäsenen osoite on tiedossa (eli hiiri oli viimeksi päällä),
//piirretään umpinainen laatikko
If päälläId = il Then Box il\x, il\y, 40, 40
Next il
DrawScreen
Forever
Edit. edellinen koodi ei muuten edes vaadi ConvertToIntegeriä. Myös seuraavanlainen sijoitusoperaatio on mahdollinen: päälläId.laatikot = il. Em. funktioita tarvitset sitten kun otat omat funktiot mukaan.
Edit2. Toinen tapa on tietenkin tehdä ylimääräinen tyyppimuuttuja kokoelmaan, joka kertoo onko alusta ammuttu ja vaikka kuinka monta kertaa.
Re: Tyhmät kysymykset (I/2010)
Posted: Thu Jan 07, 2010 8:50 pm
by Hene
Miten toteuttaa seuraavanlainen systeemi:
Jos salasana = oikein, mene kohtaan X
Jos salasana = väärin, mene kohtaan Y
Tästäkin muistaakseni jokin ohje löytyy manuaalista, mutta komentoa en muista... :/
Re: Tyhmät kysymykset (I/2010)
Posted: Thu Jan 07, 2010 9:59 pm
by Herra Siili
Otat ensin inputilla salasanan talteen. Tarkistuksen voi tehdä näin:
Huomenta vaan kaikille joo. Kysyisin että miten autoon saa ne renkaanjäljet? Oon muutenki vähä pihalle noista efekteistä, joten valaiskaa muullakin tavalla tätä asiaa esim että miten saa tankin, ja sen piipun kääntymään eri napeista ynms..
Re: Tyhmät kysymykset (I/2010)
Posted: Thu Jan 07, 2010 10:54 pm
by Jonez
Yksi tapa tehdä renkaanjäljet on piirtää ne erilliseen kuvaan. Komennoilla DrawToImage ja DrawImage pitäisi onnistua.
Tankki ja piippu kannattaa tehdä kahdella erillisellä objektilla / kuvalla. Piippu yksinkertaisesti siirretään silmukan joka kierroksella tankin kohdalle ja asetetaan kulmaan jossa sen pitäisi olla. Objekteja voi siirrellä mm. komennoilla PositionObject ja CloneObjectPosition.
Re: Tyhmät kysymykset (I/2010)
Posted: Fri Jan 08, 2010 8:01 am
by Image
Jonez wrote:Yksi tapa tehdä renkaanjäljet on piirtää ne erilliseen kuvaan. Komennoilla DrawToImage ja DrawImage pitäisi onnistua.
Tankki ja piippu kannattaa tehdä kahdella erillisellä objektilla / kuvalla. Piippu yksinkertaisesti siirretään silmukan joka kierroksella tankin kohdalle ja asetetaan kulmaan jossa sen pitäisi olla. Objekteja voi siirrellä mm. komennoilla PositionObject ja CloneObjectPosition().