Joo. Käytän itekki tommosta valikkoa aina. se on yksinkertaisestit helpoin.kaneli2000 wrote:Tuommoisen vähän perinteisemmän menun opin (viimeinkin!!!!!) tekemään:
Onhan se vähän kökkö, mutta hyvä aloittelijoille?Code: Select all
koodia..
EDIT: Katsoin tuota Jonhun menua, ja se oli aikas hieno! Itsellä ei taidot riittäisi.
Helppo päävalikko
Re: Helppo päävalikko
Re: Helppo päävalikko
Nyt (kuukautta) myöhemmin katson tuota, ja sanon suoraan, että se on todella kökkö valikko..Värikäs wrote:Joo. Käytän itekki tommosta valikkoa aina. se on yksinkertaisestit helpoin.kaneli2000 wrote:Tuommoisen vähän perinteisemmän menun opin (viimeinkin!!!!!) tekemään:
Onhan se vähän kökkö, mutta hyvä aloittelijoille?Code: Select all
koodia..
EDIT: Katsoin tuota Jonhun menua, ja se oli aikas hieno! Itsellä ei taidot riittäisi.
Tässä yksinkertainen palikka valikko
Code: Select all
SCREEN 400,300
Repeat
nappi(70,150,50,20,21,0,5,1)
nappi(70,50,50,20,0,60,5,1)
DrawScreen
Until EscapeKey()
// alkux=alku sijainti x-akselilla
// alkuy=alku sijainti y-akselilla
// kokox=koko x-akselilla
// kokoy=koko y-akselilla
// valiy=säätöpalkkien etäisyys toisistaan y-aksellilla
// valix=säätöpalkkien etäisyys toisistaan x-aksellilla
// maara= palkkien määrä
// tayte= 1 täysi neliö, 0 tyhjä nelio
Function nappi(alkux,alkuy,kokox,kokoy,valiy,valix,maara,tayte)
For a=0 To maara-1
Color cbred
Box alkux+valix*a,alkuy+valiy*a,kokox,kokoy,tayte
If MouseX()>alkux+valix*a And MouseX()<alkux+valix*a+kokox And MouseY()<alkuy+valiy*a+kokoy And MouseY()>alkuy+valiy*a Then
Color cbyellow
Box alkux+valix*a,alkuy+valiy*a,kokox,kokoy,tayte
If MouseDown(1) Then
MakeError "Painot nappia"+(a+1)
EndIf
EndIf
Next a
EndFunction
Tekeillä pikkupelejä ja ohjelmia
Re: Helppo päävalikko
Saako tuohon valikkoon mitenkään viritettyä Const komentoa? ainakaan tämä If ObjectsOverlap(hiiri,newgame) And MouseHit(1) Then mode = easykaneli2000 wrote:Tuommoisen vähän perinteisemmän menun opin (viimeinkin!!!!!) tekemään:
Onhan se vähän kökkö, mutta hyvä aloittelijoille?Code: Select all
'Lataa "New game" -nappula. Napissa on hyvä lukea "New game", mutta 'CoolBasicin "Media"-kansiossa ei ole moista namiskaa, ja sinun pitää 'piirtää se itse. newgame=LoadObject("Media\buttoni.bmp") PositionObject newgame,0,30 'Lataa "Exit" -nappula. Exit -napissa on hyvä lukea "Exit", mutta 'CollBasicin "Media"-kansiossa ei ole sellaistakaan namiskaa, ja sinun 'pitää piirtää sekin itse. exitgame=LoadObject("Media\buttoni.bmp") PositionObject exitgame,0,-30 'Lataa hiiri hiiri=LoadObject("Media\crosshair.bmp") 'Pääsilmukka Repeat 'Hiiriobjekti pistetään "oikean" hiiren päälle ja oikea hiiri piilotetaan PositionObject hiiri,MouseWX(),MouseWY() ShowMouse OFF 'Jos "valehiiri" on newgame -napin päällä ja hiiren vasenta nappulaa painetaan, 'mennään peliin. If ObjectsOverlap(hiiri,newgame) And MouseHit(1) Then MakeError "Tässä on nyt se peli" 'Jos "valehiiri" menee exitgame -napin päälle ja painetaan hiiren vas. nappulaa, 'peli lopetetaan. If ObjectsOverlap (hiiri,exitgame) And MouseHit(1) Then End DrawScreen Forever
EDIT: Katsoin tuota Jonhun menua, ja se oli aikas hieno! Itsellä ei taidot riittäisi.
ei toiminut. Tai saako tuohon mitään vastaavaa? tarkoitus olisi päästä tuosta valikosta toiseen valikkoon.
- kaneli2000
- Guru
- Posts: 1059
- Joined: Mon Mar 17, 2008 2:40 pm
- Location: Lempäälä
Re: Helppo päävalikko
Kyllähän tuo toimii, mutta moden pitää joko olla jokin luku, esim. 1,2 tai 3. Mode -muuttujaa on helpomi käsitellä,kun se on numero.Boxi wrote:Saako tuohon valikkoon mitenkään viritettyä Const komentoa? Ainakaan tämä If ObjectsOverlap(hiiri,newgame) And MouseHit(1) Then mode = easykaneli2000 wrote:Tuommoisen vähän perinteisemmän menun opin (viimeinkin!!!!!) tekemään:
Onhan se vähän kökkö, mutta hyvä aloittelijoille?Code: Select all
'Lataa "New game" -nappula. Napissa on hyvä lukea "New game", mutta 'CoolBasicin "Media"-kansiossa ei ole moista namiskaa, ja sinun pitää 'piirtää se itse. newgame=LoadObject("Media\buttoni.bmp") PositionObject newgame,0,30 'Lataa "Exit" -nappula. Exit -napissa on hyvä lukea "Exit", mutta 'CollBasicin "Media"-kansiossa ei ole sellaistakaan namiskaa, ja sinun 'pitää piirtää sekin itse. exitgame=LoadObject("Media\buttoni.bmp") PositionObject exitgame,0,-30 'Lataa hiiri hiiri=LoadObject("Media\crosshair.bmp") 'Pääsilmukka Repeat 'Hiiriobjekti pistetään "oikean" hiiren päälle ja oikea hiiri piilotetaan PositionObject hiiri,MouseWX(),MouseWY() ShowMouse OFF 'Jos "valehiiri" on newgame -napin päällä ja hiiren vasenta nappulaa painetaan, 'mennään peliin. If ObjectsOverlap(hiiri,newgame) And MouseHit(1) Then MakeError "Tässä on nyt se peli" 'Jos "valehiiri" menee exitgame -napin päälle ja painetaan hiiren vas. nappulaa, 'peli lopetetaan. If ObjectsOverlap (hiiri,exitgame) And MouseHit(1) Then End DrawScreen Forever
EDIT: Katsoin tuota Jonhun menua, ja se oli aikas hieno! Itsellä ei taidot riittäisi.
ei toiminut. Tai saako tuohon mitään vastaavaa? tarkoitus olisi päästä tuosta valikosta toiseen valikkoon.
I see the rainbow rising
Re: Helppo päävalikko
joo kyllähän se nyt uuteen modeen meni, herjaa vielä kuitenkin mavia. Olen koittanut jotain ratkaisu tapoja saad aikaan, mikään ei ole kuitenkaan vielä ainakaan auttanutkaneli2000 wrote:Kyllähän tuo toimii, mutta moden pitää joko olla jokin luku, esim. 1,2 tai 3. Mode -muuttujaa on helpomi käsitellä,kun se on numero.Boxi wrote:Saako tuohon valikkoon mitenkään viritettyä Const komentoa? Ainakaan tämä If ObjectsOverlap(hiiri,newgame) And MouseHit(1) Then mode = easykaneli2000 wrote:Tuommoisen vähän perinteisemmän menun opin (viimeinkin!!!!!) tekemään:
Onhan se vähän kökkö, mutta hyvä aloittelijoille?Code: Select all
'Lataa "New game" -nappula. Napissa on hyvä lukea "New game", mutta 'CoolBasicin "Media"-kansiossa ei ole moista namiskaa, ja sinun pitää 'piirtää se itse. newgame=LoadObject("Media\buttoni.bmp") PositionObject newgame,0,30 'Lataa "Exit" -nappula. Exit -napissa on hyvä lukea "Exit", mutta 'CollBasicin "Media"-kansiossa ei ole sellaistakaan namiskaa, ja sinun 'pitää piirtää sekin itse. exitgame=LoadObject("Media\buttoni.bmp") PositionObject exitgame,0,-30 'Lataa hiiri hiiri=LoadObject("Media\crosshair.bmp") 'Pääsilmukka Repeat 'Hiiriobjekti pistetään "oikean" hiiren päälle ja oikea hiiri piilotetaan PositionObject hiiri,MouseWX(),MouseWY() ShowMouse OFF 'Jos "valehiiri" on newgame -napin päällä ja hiiren vasenta nappulaa painetaan, 'mennään peliin. If ObjectsOverlap(hiiri,newgame) And MouseHit(1) Then MakeError "Tässä on nyt se peli" 'Jos "valehiiri" menee exitgame -napin päälle ja painetaan hiiren vas. nappulaa, 'peli lopetetaan. If ObjectsOverlap (hiiri,exitgame) And MouseHit(1) Then End DrawScreen Forever
EDIT: Katsoin tuota Jonhun menua, ja se oli aikas hieno! Itsellä ei taidot riittäisi.
ei toiminut. Tai saako tuohon mitään vastaavaa? tarkoitus olisi päästä tuosta valikosta toiseen valikkoon.
Re: Helppo päävalikko
TheDuck, miten saisin sillain, että voisi ladata pelin jos se on. Ja tulisi ilmoitus "ei toimi vielä!" jos ei ole?
Tässä tää nykyinen valikko_
EDIT: oho! TheDuckiltahan mun piti kysyä
Tässä tää nykyinen valikko_
Code: Select all
//ASETUKSET!! SÄÄDÄ MIELEISIKSI//
Const VALIKKO_KOKO = 2 //taulukon koko, valintojen määrä -1 eli jos valintoja on 3 niin tähän tulee numero 2! TAULUKKO ALKAA NOLLASTA
//^^//
Dim valinta(VALIKKO_KOKO) As String //luodaan taulukko valinnoille
valinta(0)="New game" //uus peli
valinta(1)="Load game" //lataa peli
valinta(2)="Exit" //ja poistu
//silmukka
While Not KeyHit(cbkeyreturn)
For i=0 To VALIKKO_KOKO //käydään läpi kaikki valinnat
Color cbred //vaihdetaan väri punaiseksi
If i=p Then Box ScreenWidth()/2-(TextWidth(valinta(i))/2)-9,ScreenHeight()/2+i*TextHeight(valinta(i))*2-9,TextWidth(valinta(i))+18,TextHeight(valinta(i))+18,0 //piirretään laatikko valitun kohdan ympärille... - Matikkaa :)
Color cbwhite //vaihdetaan väri valkoiseksi
Text ScreenWidth()/2-(TextWidth(valinta(i))/2),ScreenHeight()/2+i*TextHeight(valinta(i))*2,valinta(i) //kirjoitetaan valinta ruudulle oikeaan kohtaan... - Matikkaa :)
Next i
If KeyHit(200) Then //jos painetaan näppäintä alas siirrytään valinnoissa alaspäin
p-1
ElseIf KeyHit(208) Then //jos taas ylös niin ylöspäin
p+1
EndIf
If p>VALIKKO_KOKO Then p=0 //jos mennään yli vaointojen määrän palataan alkuun
If p<0 Then p=VALIKKO_KOKO //jos mennään ali 0 mennään maksimivalintaan
DrawScreen
Wend
If p=0 Then Gosub alkaa //jos valittiin new game
If ("savegame.sab")=ON Then Gosub p12
p11:
If p=1 Then MakeError "Ei toimi vielä" //jos valittiin load game
p12:
If P=1 Then LoadProgram("savegame.sav")
If p=2 Then End //jos valittiin poistuminen
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Re: Helppo päävalikko
[quote="TheDuck"]
Saanko käyttää tätä pelissäni jos mainitsen sun nimes sitten lopputeksteissä?
Code: Select all
//ASETUKSET!! SÄÄDÄ MIELEISIKSI//
Const VALIKKO_KOKO = 2 //taulukon koko, valintojen määrä -1 eli jos valintoja on 3 niin tähän tulee numero 2! TAULUKKO ALKAA NOLLASTA
//^^//
Dim valinta(VALIKKO_KOKO) As String //luodaan taulukko valinnoille
valinta(0)="New game" //uus peli
valinta(1)="Load game" //lataa peli
valinta(2)="Exit" //ja poistu
//silmukka
While Not KeyHit(cbkeyreturn)
For i=0 To VALIKKO_KOKO //käydään läpi kaikki valinnat
Color cbred //vaihdetaan väri punaiseksi
If i=p Then Box ScreenWidth()/2-(TextWidth(valinta(i))/2)-9,ScreenHeight()/2+i*TextHeight(valinta(i))*2-9,TextWidth(valinta(i))+18,TextHeight(valinta(i))+18,0 //piirretään laatikko valitun kohdan ympärille... - Matikkaa :)
Color cbwhite //vaihdetaan väri valkoiseksi
Text ScreenWidth()/2-(TextWidth(valinta(i))/2),ScreenHeight()/2+i*TextHeight(valinta(i))*2,valinta(i) //kirjoitetaan valinta ruudulle oikeaan kohtaan... - Matikkaa :)
Next i
If KeyHit(200) Then //jos painetaan näppäintä alas siirrytään valinnoissa alaspäin
p-1
ElseIf KeyHit(208) Then //jos taas ylös niin ylöspäin
p+1
EndIf
If p>VALIKKO_KOKO Then p=0 //jos mennään yli vaointojen määrän palataan alkuun
If p<0 Then p=VALIKKO_KOKO //jos mennään ali 0 mennään maksimivalintaan
DrawScreen
Wend
If p=0 Then MakeError "Se onse uusi peli! :)" //jos valittiin new game
If p=1 Then MakeError "Ei tallennettuja pelejä..." //jos valittiin load game
If p=2 Then End //jos valittiin poistuminen
We see the lines in chalk
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
Re: Helppo päävalikko
Hänkin on ottanut luultavasti tuon jostain aijemmasta, koska olen nähnyt tuon valikon jossain aikasemminkin. Sinun kannalta järkevämpää olisi tajuta, mitä se functio tekee ja pyrkiä tekemään ilman mallia samanlainen omilla ratkaisuilla. Niin opit parhaiten ja voisit pitää peliä kokonaan itse tehtynä.
Re: Helppo päävalikko
Hmm... Se vois olla ihan järkevää.
We see the lines in chalk
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
Re: Helppo päävalikko
Kun huomasin että puhuttiin piirtokommennoilla tehdystä valikosta, niin ajattelin tehä sellasen. (Toimii sitten hiirellä)
kesti about 15min
(80-95% purkkaa)
kesti about 15min
(80-95% purkkaa)
Code: Select all
lopeta$="Lopeta"
aloita$="Aloita"
x=10 : y=10
Repeat
Gosub tiedot
Color cbred
Box 9,9,laatikkox-1,laatikkoy-1,0
Box 8,8,laatikkox-2,laatikkoy-2,0
Color cbgreen
Box 7,7,laatikkox-3,laatikkoy-3,0
Box 6,6,laatikkox-4,laatikkoy-4,0
Color cbred
Box 5,5,laatikkox-5,laatikkoy-5,0
Box 4,4,laatikkox-6,laatikkoy-6,0
Color cbgreen
Box 3,3,laatikkox-7,laatikkoy-7,0
Box 2,2,laatikkox-8,laatikkoy-8,0
Color cborange
Box 10,10,laatikkox,laatikkoy
Color cbblack
Text 15,15,lopeta
Color cbred
Box 14,79,aloitax-1,aloitay-1,0
Box 13,78,aloitax-2,aloitay-2,0
Color cbgreen
Box 12,77,aloitax-3,aloitay-3,0
Box 11,76,aloitax-4,aloitay-4,0
Color cbred
Box 10,75,aloitax-5,aloitay-5,0
Box 9,74,aloitax-6,aloitay-6,0
Color cbgreen
Box 8,73,aloitax-7,aloitay-7,0
Box 7,72,aloitax-8,aloitay-8,0
Color cborange
Box 15,80,aloitax,aloitay
Color cbblack
Text 20,85,aloita
If mx>4 And mx<laatikkox+10 And my>4 And my<laatikkoy+10
Color cbblue
Box 10,10,laatikkox,laatikkoy
Color cbwhite
Text 15,15,lopeta
If MouseDown(1)
Wait 500
End
EndIf
Else
ClearMouse
EndIf
If mx>15 And mx<aloitax+10 And my>80 And my<aloitay+80
Color cbblue
Box 15,80,aloitax,aloitay
Color cbwhite
Text 20,85,aloita
If MouseDown(1)
Wait 500
MakeError "Tässä on se "+Chr(34)+"peli"+Chr(34)+" :)"
EndIf
Else
ClearMouse
EndIf
DrawScreen
Forever
tiedot:
mx=MouseX() : my=MouseY()
aloitax=TextWidth(aloita)+15
aloitay=TextHeight(aloita)+15
laatikkox=TextWidth(lopeta)+15
laatikkoy=TextHeight(lopeta)+15
Return
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Re: Helppo päävalikko
Tein samanlaisen, mutta käyttäen functioita ja alle 20 riviä koodia. Sinun kannattaisi opetella nuo functiot.
Tästäkin saisi vielä lyhemmän, jos nuo värit menisivät jonkun säännön mukaan.
Tässä 1 versio
EDIT: Jaa no poistin ne... , mutta tuskin 2 turhaa kertolaskua paljon ohjelmaa hidastaa..
Toinen versio, jossa vain on for lause mukana. Neliöiden määrän voi valita.. (keksin huonot nimet muuttujille, mutta nämähän ovat vain näitä viiden minutin ohjelmia..)
Tästäkin saisi vielä lyhemmän, jos nuo värit menisivät jonkun säännön mukaan.
Tässä 1 versio
EDIT: Jaa no poistin ne... , mutta tuskin 2 turhaa kertolaskua paljon ohjelmaa hidastaa..
Code: Select all
Repeat
If aaa(50,50,80,20,5,"Aloita",cbred,cbGREEN,cborange,cbdarkblue)>0 Then MakeError "Valitettavasti peliä ei ole vielä tehty"
If aaa(50,150,80,20,5,"Lopeta",cbred,cbGREEN,cborange,cbdarkblue)>0 Then End
DrawScreen
Forever
Function aaa(x,y,kokox,kokoy,dis,txt$,r1,g1,b1,r2,g2,b2,r3,g3,b3,r4,g4,b4)
If MouseX()>=x+dis*2 And MouseX()<=x+kokox+dis*2 And MouseY()>=y+dis*2 And MouseY()<=y+kokoy+dis*2 Then nappula=ON
Color r1,g1,b1 : Box x,y,kokox,kokoy
Color r2,g2,b2 : Box x+dis,y+dis,kokox,kokoy
If nappula=0
Color r3,g3,b3 : Box x+dis*2,y+dis*2,kokox,kokoy
Color cbblack : CenterText x+dis*2+kokox/2,y+dis*2+kokoy/6,txt$
Else
Color r4,g4,b4 : Box x+dis*2,y+dis*2,kokox,kokoy
Color cbwhite : CenterText x+dis*2+kokox/2,y+dis*2+kokoy/6,txt$
If MouseDown(1) Then Return 1
EndIf
EndFunction
// aloitetaan paikasta (x,y)
// piirretään (kokox,kokoy) kokoinen suorakulmio
// dis=kuinka suuri erkanema on neliöiden välillä
// kirjoitetaan teksti txt$ keskelle alinta suorakulmiota
// alin väri = r1,g1,b1
// toisena värinä r2,g2,b2
// ylin väri, jos hiiri ei ole päällä: r3,g3,b3 muuten r4,g4,b4
Code: Select all
Repeat
If aaa(50,50,80,20,3,4,"Aloita",cbred,cbGREEN,cborange,cbdarkblue)>0 Then MakeError "Peli ei toimi vielä"
If aaa(50,100,80,20,3,4,"Lopeta",cbred,cbGREEN,cborange,cbdarkblue)>0 Then End
DrawScreen
Forever
Function aaa(x,y,kokox,kokoy,dis,mem,txt$,r1,g1,b1,r2,g2,b2,r3,g3,b3,r4,g4,b4)
For a=0 To mem
If (a Mod 2) Then
Color r1,g1,b1 : Box x+dis*a,y+dis*a,kokox,kokoy
Else
Color r2,g2,b2 : Box x+dis*a,y+dis*a,kokox,kokoy
EndIf
Next a
If MouseX()>=x+dis*mem And MouseX()<=x+kokox+dis*mem And MouseY()>=y+dis*mem And MouseY()<=y+kokoy+dis*mem Then nappula=ON
If nappula=0
Color r3,g3,b3 : Box x+dis*mem,y+dis*mem,kokox,kokoy
Color cbblack : CenterText x+dis*mem+kokox/2,y+dis*mem+kokoy/6,txt$
Else
Color r4,g4,b4 : Box x+dis*mem,y+dis*mem,kokox,kokoy
Color cbwhite : CenterText x+dis*mem+kokox/2,y+dis*mem+kokoy/6,txt$
If MouseDown(1) Then Return 1
EndIf
EndFunction
// aloitetaan paikasta (x,y)
// piirretään (kokox,kokoy) kokoinen suorakulmio
// dis = kuinka suuri erkanema on neliöiden välillä
// mem = määrä, kuinka monta suokakulmiota pistetään tekstin alle..
// kirjoitetaan teksti txt$ keskelle alinta suorakulmiota
// Värit joilla värjätään alimmat boxsit (r1,g1,b1)&(r2,g2,b2) alkaa väristä (r2,g2,b2)
// ylin väri, jos hiiri ei ole päällä: r3,g3,b3 muuten r4,g4,b4
Last edited by Jonhu on Sun Nov 30, 2008 10:03 am, edited 3 times in total.
Re: Helppo päävalikko
osaan kyllä jotain functioista. ne ei kuirenkaan kovin mahu päähän
EDIT: Siis osaan tehdä yhden napin valikon functioilla mutta en kahen
EDIT: Siis osaan tehdä yhden napin valikon functioilla mutta en kahen
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Re: Helppo päävalikko
/disagreeJonhu wrote:(ja jos ihmettelette, miksi kerron 0:lla tai 1:llä tuossa functiossa, niin se on vain hionomman näköistä ja selvempää xD )[/size]
Se on paljon hienompaa ja selkeämpää kun siihen ei laita yhtään mitään. Ei kannata opetella tuommoisia juttuja. Varsinkin kun tuo kai kuitenkin vie prosessoriaikaa jonkin verran vaikka tulos onkin aina 0.
Re: Helppo päävalikko
Tämmönen todella kehno valikko functio:
Edit: Korjasin functiossa olevan virheen..
Code: Select all
Repeat
ClsColor cbwhite
nappi(10,10,"Aloita",255,0,0)
nappi(10,40,"Asetukset",255,0,0)
nappi(10,70,"Lopeta",255,0,0)
nappi(10,200,"Esimerkki teksti",255,0,0)
DrawScreen
Forever
Function nappi(x,y,teksti$,r,g,b)
lev=TextWidth(teksti$)
Color 0,255,0
Box x,y,lev+5,20
If MouseX()<x Or MouseX()>lev+x+3 Or MouseY()<y Or MouseY()>20+y Then
Color r,g,b
Box x,y,lev+5,20
EndIf
Color cbwhite
Text x,y+3,teksti$
Color cbblack
Box x,y,lev+5,20,0
End Function
Re: Helppo päävalikko
aah... Opin vihdoin (muutama viikkoa sitten) tekemään oikein monikäyttöisen valikon.
5 eri tapaa käyttää:
eli kosketus, painallus, eri väri, toimimaton... (Testatkaa niitä tuhansia muitakin )
Esimerkki:
Kun oppii niin voi testata kaikenlaisia sarjoja
5 eri tapaa käyttää:
Code: Select all
Repeat
If KlikkiLaatikko2(20,20,"Aloita")=1 Then MakeError "Aloita nappi" //Jos painetaan Aloita niin Error
If KlikkiLaatikko2(20,50,"Lopeta",1,0,1,1,0,130,0)=2 Then End //Jos Lopeta nappi niin lopeta
If KlikkiLaatikko2(20,80,"Lisä1",0,3)=3 Then MakeError "Koskit Lisä1 nappia" //Jos Lisä1 niin Error
If KlikkiLaatikko2(20,110,"Lisä2",3,0,0,1,0,255,0,255)=4 Then MakeError "Onnittelut!" //Jos Lisä2 niin Error
If KlikkiLaatikko2(20,140,"Toimimaton",0,0,0,0,1)=5 Then MakeError "Korjasit siis"
DrawScreen
Forever
//Functiot
Function KlikkiLaatikko2(bx#,by#,txt$,lisa=0,klikki=0,clr=1,cl=1,error=0,vr=100,vg=255,vb=0) //KlikkiLaatikko2 Function
x#=TextWidth(txt$) //x koordinaatti
y#=TextHeight(txt$) //y koordinaatti
If by#>ScreenHeight() Or bx#>ScreenWidth() Then error=1//koordit yli reunojen= error on 1
Color 0,175,22
If MouseX()>=bx# And MouseX()<=bx# +x# And MouseY()>=by# And MouseY()<=by# +y# //tarkastaa onko hiiri laatikossa
If MouseDown(1) And cl=1 Then Color vr,vg,vb //jos painetaan niin muuta väriä
If MouseUp(1) Then klikki+1 //kun päästetään irti niin lisää 1
If MouseDown(1)=0 And MouseUp(1)=0 And clr=1 Then Color 0,200,150 //jos on niin värjää 0,200,150
Else
klikki=0
EndIf
Box bx#,by#,x#+6,y#+6 //laatikko
Color cbblack
Box bx#,by#,x#+7,y#+7,0 //reunat
Text bx#+3,by#+3,txt$ //teksti
If error=0 Then Return klikki+lisa //palautus
If error Then Return 0 //jos error niin palauta 0
EndFunction
Function Kimalle(kerta,kerta2,bx,by)
For i=1 To Rand(kerta,kerta2)
Color Max(255-i*5,0),Max(255-i*5,0),0
Box Rand(10,ScreenWidth()-10),Rand(10,ScreenHeight()-10),bx,by
Next i
EndFunction
Esimerkki:
Code: Select all
Repeat
If KlikkiLaatikko2(20,20,"Näyte")=1 Then mode$="Näyte"
If KlikkiLaatikko2(20,40,"Tehtävä1")=1 Then mode$="Tehtävä1"
DrawScreen
Until mode
x=ScreenWidth()
y=ScreenHeight()
Repeat
//yläpalkki
SetWindow " mode: "+mode+" "+btext$
//Piirrä Kimalteet
If Timer()>en+500 Then blink=Not blink : en=Timer()
If blink Then Kimalle(Rand(1,5),Rand(1,5),Rand(3,6),Rand(3,6)) : btext$="Kimalle" Else btext$=" "
If mode$="Tehtävä1"
Color cbwhite
Text 1,1,"Koodaa Salainen napista samanlainen kuin muista"
Text 1,11,"Ei riitä että se toimii kuin modella Näyte"
EndIf
//piirrä 4 rinkulaa ja niiden keskeltä viiva hiireen ja viivan kulma
Color cbwhite
Circle x/2-10,y/2-10,20,0
Circle x/2-30,y/2-30,60,0
Circle x/2-40,y/2-40,80,0
Line x/2,y/2,MouseX(),MouseY()
Circle x/2-20,y/2-20,40,0
Text 0,y-TextHeight("Ku"),"Kulma: "+GetAngle(x/2,y/2,MouseX(),MouseY())
DrawToWorld OFF
//piirrä laatikot ja tarkasta ne
If KlikkiLaatikko2(20,40,"Aloita",0,0,1,1,0,50,163,255)=1 Then MakeError "Painoit "+Chr(34)+"Aloita"+Chr(34)+" nappia" //jos Aloita niin Aloita Errori
If KlikkiLaatikko2(20,70,"Lopeta",1,0,1,1,0,130,0)=2 Then End //jos Lopeta niin End
If mode$="Tehtävä1"
If KlikkiLaatikko2(200,100,"Salainen",2,0,0,0,1,255,255,255)=3 Then
MakeError "Painoit "+Chr(34)+"Salainen"+Chr(34)+" nappia + Läpi meni!" //jos Salainen niin "Salainen" Errori
EndIf
ElseIf mode$="Näyte"
If KlikkiLaatikko2(200,100,"Salainen",2,0,0,1,0,255,255,255)=3 Then MakeError "Painoit "+Chr(34)+"Salainen"+Chr(34)+" nappia" //--||--
EndIf
If KlikkiLaatikko2(200,200,"Normi",3)=4 Then MakeError "normaali painike" //jos Testi niin Errori
//piirrä FPS
Color cbwhite : Text ScreenWidth()/3-TextWidth(FPS())-60,ScreenHeight()/2-20,"FPS: "+FPS()
DrawScreen
Forever
//itse se Funktio
Function KlikkiLaatikko2(bx#,by#,txt$,lisa=0,klikki=0,clr=1,cl=1,error=0,vr=100,vg=255,vb=0) //KlikkiLaatikko2 Function
x#=TextWidth(txt$) //x koordinaatti
y#=TextHeight(txt$) //y koordinaatti
If by#>ScreenHeight() Or bx#>ScreenWidth() Then error=1//koordit yli reunojen= error on 1
Color 0,175,22
If MouseX()>=bx# And MouseX()<=bx# +x# And MouseY()>=by# And MouseY()<=by# +y# //tarkastaa onko hiiri laatikossa
If MouseDown(1) And cl=1 Then Color vr,vg,vb //jos painetaan niin muuta väriä
If MouseUp(1) Then klikki+1 //kun päästetään irti niin lisää 1
If MouseDown(1)=0 And MouseUp(1)=0 And clr=1 Then Color 0,200,150 //jos on niin värjää 0,200,150
Else
klikki=0
EndIf
Box bx#,by#,x#+6,y#+6 //laatikko
Color cbblack
Box bx#,by#,x#+7,y#+7,0 //reunat
Text bx#+3,by#+3,txt$ //teksti
If error=0 Then Return klikki+lisa //palautus
If error Then Return 0 //jos error niin palauta 0
EndFunction
Function Kimalle(kerta,kerta2,bx,by)
For i=1 To Rand(kerta,kerta2)
Color Max(255-i*5,0),Max(255-i*5,0),0
Box Rand(10,ScreenWidth()-10),Rand(10,ScreenHeight()-10),bx,by
Next i
EndFunction
Function GetFunctions(a=0,s=0,d=0,f=0,g=0,h=0)
luku=a+s+d+f+g+h
Return luku
EndFunction
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Re: Helppo päävalikko
Tein nopeasti tämmösen hiirellä valittavan nappula funktion jossa on kaksi eri modea:
Code: Select all
Repeat
//uusi peli
If click(10,10,100,15,155,255,255,"Uusi peli",1,1) Then
MakeError "Peliä ei ole"
EndIf
//jatka peliä
If click(10,40,100,15,255,255,255,"Jatka peliä",0,0) then
MakeError "Et ole tallentanut peliä"
EndIf
//lopeta
If click(10,70,100,15,255,255,255,"Lopeta",1,1) Then End
DrawScreen
Forever
//mode: näytetäänkö teksti vasta kun kosketaan hiirellä
Function click(x,y,width,height,r,g,b,txt$,mode,fill=1)
Color r,g,b
Box x,y,width,height,fill
If mode=0 Then
Color r*2,g*2,b*2
Text x,y,txt$
EndIf
If MouseX()>x And MouseX()<width+x And MouseY()>y And MouseY()<height+y Then
Color r/2,g/2,b/2
Box x,y,width,height,fill
If MouseHit(1) Then Return 1
Else
Return 0
EndIf
If mode=1 Then
Color r*2,g*2,b*2
Text x,y,txt$
EndIf
End Function
Re: Helppo päävalikko
Muuten ihan perus toimiva, mutta r,b ja g muuttujat olisit voinut jättää pois tuosta ja häiritsi vähän tuo napit missä ei näy teksti ennen kuin vie hiiren kohdalle.Character wrote:Tein nopeasti tämmösen hiirellä valittavan nappula funktion jossa on kaksi eri modea:Code: Select all
Koodia...
Re: Helppo päävalikko
Tein tuon lähinnä vain testatakseni funktioita ja laitoin ihan kokeilemalla tuon moden ja nuo rgb:t. Huomasin muuten tuosta vielä yhden pahan virheen.
Kun nappulan kokoa suurentaa niin teksti pysyy napin vasemmassa yläreunassa.
Kun nappulan kokoa suurentaa niin teksti pysyy napin vasemmassa yläreunassa.
- kaneli2000
- Guru
- Posts: 1059
- Joined: Mon Mar 17, 2008 2:40 pm
- Location: Lempäälä
Re: Helppo päävalikko
Olen lukenut näitä läpi ja huomannut, miksi ihmiset tekee objekteilla/kuvilla vaikoita. Haluatko tietää vastauksen?
Jos osaat koodata melko hyvin, vastaus on LAISKUUS!!!!
Jos taas olet aloittanut koodaamisen vasta kuukausia sitten, vastaus on harjoittelemisen puute (joka on ymmärrettävää kiireiden takia).
Jos taas olet aloittanut viikon sisään, vastaus on osaamisen puute, josta pääset helposti eroon.
Oli vaan pakko.
Jos osaat koodata melko hyvin, vastaus on LAISKUUS!!!!
Jos taas olet aloittanut koodaamisen vasta kuukausia sitten, vastaus on harjoittelemisen puute (joka on ymmärrettävää kiireiden takia).
Jos taas olet aloittanut viikon sisään, vastaus on osaamisen puute, josta pääset helposti eroon.
Oli vaan pakko.
I see the rainbow rising
-
- Tech Developer
- Posts: 545
- Joined: Sun Aug 26, 2007 2:43 pm
- Location: Liminka
Re: Helppo päävalikko
Ja millä perusteella kuvien käyttö kertoo laiskuudesta? Sillähän saa vain valikosta näyttävämmän näköisen. Objektien avulla kikkailu on osittain laiskuutta mutta objektien poimintaominausiiksien takia siinä on hyviäkin puolia. Jos kaikki valikot olisivat puhtaasti piirtokomennoilla olevia nappulavalikoita eikö se olisi melko tylsää? NetMatch The Endin valikossa käytettiin kuvia, mutta vaikuttiko se laiskuudessa tehdyltä? Ei minustakaan.kaneli2000 wrote:Olen lukenut näitä läpi ja huomannut, miksi ihmiset tekee objekteilla/kuvilla vaikoita. Haluatko tietää vastauksen?
Jos osaat koodata melko hyvin, vastaus on LAISKUUS!!!!
Jos taas olet aloittanut koodaamisen vasta kuukausia sitten, vastaus on harjoittelemisen puute (joka on ymmärrettävää kiireiden takia).
Jos taas olet aloittanut viikon sisään, vastaus on osaamisen puute, josta pääset helposti eroon.
Oli vaan pakko.
CoolBasic henkilökuntaa
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras