miten tehä uuspeli,lopeta valikon
-
- Newcomer
- Posts: 25
- Joined: Tue Aug 28, 2007 8:29 pm
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: miten tehä uuspeli,lopeta valikon
Code: Select all
valinta = 0
Repeat
Text 10, 10, "Uusi peli"
Text 10, 30, "Lopeta "
Text 85, 10+valinta*20, "<--"
if KeyHit(cbkeyup) Or KeyHit(cbkeydown) Then valinta = NOT valinta
DrawScreen
Until Keyhit( 28 )
If valinta = 1 Then End
Print "peli"
WaitKey
-
- Newcomer
- Posts: 25
- Joined: Tue Aug 28, 2007 8:29 pm
Re: miten tehä uuspeli,lopeta valikon
miten tehä sillee et ku elkku loppuu nii palaa takas alkuun
Re: miten tehä uuspeli,lopeta valikon
Koodaajan esimerkkiä pohjana käyttäen vaikka näin.
Code: Select all
SAFEEXIT OFF
Repeat
If MODE = 0 Then
Text 10, 10, "Uusi peli"
Text 10, 30, "Lopeta "
Text 85, 10+valinta*20, "<--"
If KeyHit(cbkeyup) Or KeyHit(cbkeydown) Then valinta = NOT valinta
If KeyHit(28) And valinta = 1 Then End
If KeyHit(28) And valinta = 0 Then MODE = 1
ElseIf MODE = 1
Text 0,0, "Tässsä Peli. "
Text 0, 13, "Takaisin päävalikkoon pääset painamalla ESC"
If KeyHit(1) Then MODE = 0
EndIf
DrawScreen
Forever
Eli jos MODE-muutuja on 0 niin ollaan päävalikossa ja jos se on 1 niin ollaan itsepelissä.
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: miten tehä uuspeli,lopeta valikon
Itse tekisin sen näin:
Code: Select all
valinta = 0
Repeat
Text 10, 10, "Uusi peli"
Text 10, 30, "Lopeta "
Text 85, 10+valinta*20, "<--"
If KeyHit(cbkeyup) Or KeyHit(cbkeydown) Then valinta = NOT valinta
If Keyhit(28) And valinta = 0 Then peli()
DrawScreen
Until (KeyHit(28) And valinta = 1)
Function peli()
ClearKeys
Repeat
Text 10, 10, "peli"
DrawScreen
Until Keyhit(28)
ClearKeys
Return 0
End Function
Re: miten tehä uuspeli,lopeta valikon
Minä itse käyttäisin funktiota nappien luontiin.
Tässä funktio:
Ja käytännössä tämä toimisi näin:
Noiden numeroiden tilalle tulee napin koordinaatit (x,y) ja tuolla lopussa tuo end lopettaa ohjelman.
Tässä funktio:
Code: Select all
Function nappi(x,y,txt$)
w = 120
h = TextHeight(txt$)
a = 0
If MouseX()>x And MouseY()>y And MouseX()<x+w+4 And MouseY()<y+h+4 Then a = 1
If a Then Color cbDarkBlue Else Color cbLightBlue
Box x, y, w+4,h+4
Color 0,0,0
Box x, y, w+4, h+4, 0
Text x+2, y+2, txt$
If a And MouseHit(1) Then Return 1
End Function
Code: Select all
if nappi(15,15,"Nappi") Then End
-
- Newcomer
- Posts: 25
- Joined: Tue Aug 28, 2007 8:29 pm
Re: miten tehä uuspeli,lopeta valikon
joo sit taas kyselisin tyhmii
miten vioisi tehä kaupan pelii?
miten vioisi tehä kaupan pelii?
Re: miten tehä uuspeli,lopeta valikon
Itselläni on tällaisen kaupan koodi yhdessä pelissäni, jota en ole vähään aikaa tehnyt.nassi-setä wrote:joo sit taas kyselisin tyhmii
miten vioisi tehä kaupan pelii?
Sen voi toteuttaa esimerkiksi pelkillä if ehtolauseilla. Tässä pieni esimerkkikoodi if ehtolauseilla toteutettuu kauppasysteemiin:
Code: Select all
SCREEN 800,600
ClsColor cbBlue
raha = 1000 //rahaa aloitettaessa
//tuotteiden muuttuja (onko tuote ostettu)
prosessori = 2 //2 = ei ostettu, 1 = ostettu
emolevy = 2
kovalevy = 2
kauppa:
Cls
Repeat
Text 10,10, "Rahaa: " +raha
Text 10,30, "Paina ENTER nähdäksesi ostamasi tavarat."
If nappi(100,500, "Prosessori 50e") Then
prosessori = 1
raha -50
//jos raha ei riitä
If raha < 50 Then Gosub ei_rahaa
EndIf
If nappi(230,500, "Emolevy 75e") Then
emolevy = 1
raha -75
If raha < 75 Then Gosub ei_rahaa
EndIf
If nappi(100,520, "Kovalevy 80e") Then
kovalevy = 2
raha -80
If raha < 80 Then Gosub ei_rahaa
EndIf
If KeyDown(cbKeyReturn) Then Gosub tavarat
DrawScreen
Forever
ei_rahaa:
Cls
Text 10,10, "Sinulla ei ole tarpeeksi rahaa."
Text 10,30, "Paina ENTER palataksesi takaisin"
DrawScreen
WaitKey
Return
tavarat:
Cls
Repeat
Text 10,10, "Paina ENTER palataksesi takaisin."
If prosessori = 1 Then
Text 100,50, "Prosessori: 3.0GHz"
Else
Text 100,50, "Ei prosessoria"
EndIf
If emolevy = 1 Then
Text 100,80, "Emolevy: Versio 1"
Else
Text 100,80, "Ei emolevyä"
EndIf
If kovalevy = 1 Then
Text 100,110, "Kovalevy: 100GB"
Else
Text 100,110, "Ei kovalevyä"
EndIf
If KeyDown(cbKeyReturn) Then Gosub kauppa
DrawScreen
Forever
//nappi funktio
Function nappi(x,y,txt$)
w = 120
h = TextHeight(txt$)
a = 0
If MouseX()>x And MouseY()>y And MouseX()<x+w+4 And MouseY()<y+h+4 Then a = 1
If a Then Color cbDarkBlue Else Color cbLightBlue
Box x, y, w+4,h+4
Color 0,0,0
Box x, y, w+4, h+4, 0
Text x+2, y+2, txt$
If a And MouseHit(1) Then Return 1
End Function