Nyt tarttis taas viisaamman apuva. Taistelu sydeemi kenkkuilee taas. Nojaa siis tärkeimmät toimii hyvin, mutta tuossa kun monsteri hyökkää niin Piirtokomennot katoaa.
.
Koodi siis.
Code: Select all
//taistelu////////
SCREEN 500,300
Global hp,att,levu,exp,def,tark,nextlvl,lev,mhp,monshp
Global ase As String
Global suoja As String
Global monshp As Float
Hp=100
att=1
levu=1
exp=0
def=0
ase="tyhjä"
suoja="tyhjä"
tark=2
monshp=50
hirhp=0
hirlev=0
'-----------------------------------------------------------------------------------
battle:
ClearText
ClearKeys
CloseInput
rand_monshp()
Repeat
ClearText
Color 255,255,255
Locate 5,250
AddText "1. Hyökkää. 2.Kerää voimia."
AddText ""
AddText "3. Pakene. 4.Suojaa."
Locate 4,101
'hirviön palkit
Color 255,255,255
Box 0,0,500,100,OFF
Box 0,200,500,100,OFF
Box 14,4,474,12,OFF
Box 0,200,500,100,OFF
Text 25,25,"HP:"+monshp
hpc=monshp/2
Color -hpc, hpc,0
Box 15,5,monshp,10
'pelaajan palkit
Color 255,255,255
Box 14,204,474,12,OFF
Text 25,225,"HP:"+hp
hpp=hp/2
Color -hpp, hpp,0
Box 15,205,hp,10
'---------------Hitit
If KeyHit(2) Then
P_attack()
WaitKey
monsu_hit()
WaitKey
EndIf
If hp=<0 Then
dead()
Goto battle
EndIf
'---------------
DrawScreen
Forever
//FUNKTIOT//----------------------------------------------
Function P_attack()
osuu=Rand(0,tark)
dmg=att*osuu
AddText "Lyöt hirviötä!"
If osuu > tark-tark*0.25 Then
AddText "Osuit!"
AddText "Aiheutit "+dmg+"elämä pisteen verra vauriota."
monshp = monshp - dmg
Else
AddText "Ohi!"
EndIf
DrawScreen
Return 0
EndFunction
Function monsu_hit()
ml=Rand(levu-3,levu/0.25)
mlevu=levu
If mlevu=<0 Then mlev=1
osuuko=Rand(0,mlevu)
If osuuko>mlevu*0.25
mdg=Rand(3,10)*mlevu
hp = hp-mdg
AddText "Menetit "+mdg+" elämäpistettä."
Else
AddText "Monsteri löi ohi."
EndIf
DrawScreen
Return 0
EndFunction
Function stats()
Text 350,10,"Taso:"+levu
Text 350,20,"Raha:"+raha
Text 350,30,"Exp:"+exp
Text 350,40,"Nextlvl:"+nextlvl
Text 350,50,"ATT:"+att
Text 350,60,"S=näytä kaikki"
EndFunction
Function all_stats()
If KeyHit(31) Then
Color 10,10,255
Text 1,60,"Tasosi on "+levu+"."
Text 1,71,"Sinulla on "+raha+" kolikkoa kukkarossa."
Text 1,82,"Sinulta puuttuu "+nextlvl+" kokemusta seuraavasta tasosta."
Text 1,93,"Hyökkäys voimasi on "+att+"."
Text 1,104,"Puollustus tasosi on "+def+"."
Text 1,115,"Aseesi: "+ase+"."
Text 1,126,"Panssarisi: "+suoja+"."
Color 255,255,255
DrawScreen
WaitKey
Return 0
EndIf
EndFunction
Function rand_monshp()
m=levu+3
n=levu-3
lev = Rand(n,m)
If lev<=0 Then lev = 1
mhp = Rand(5,20)
monshp = lev*mhp
Return 0
EndFunction
Function stats_up()
If Nextlvl=<0 Then
exp=0
lvl=lvl+1
tark=tark+(tark/lvl)
att=att+(att/lvl)
def=def+(def/lvl)
hp=hp+(hp/(lvl*lvl))
EndIf
EndFunction
Function dead()
AddText "Kuolit."
AddText "Menetät puolet rahoistasi."
raha=raha/2
Return 0
EndFunction