1
Lua / This is my first lua game
« on: August 02, 2011, 08:25:53 am »
Since l don't have enough posts to upload the file,l'll upload the code ,if you're interested in it, you can try it.
Code: [lua]
[4]-----"<10"
[5]-----"=10"
[6]-----">10"
[a\b\c\d]------"change speed"
[p\enter]-------"pause\continue"
Code: [lua]
Code: [Select]
x=0 T,F=0,0 b="" u=0 t=0
aa=math.random(1,10)
bb=math.random(1,10) ab=aa+bb
ts=0.06 life=10 level="learner"
function on.charIn(char)
mm=timer.getMilliSecCounter()
ch=char
if x>130 then u=1 t=t+1 end
end
function loop()
if x>220 then x=0 t=0 u=0
aa=math.random(1,10)
bb=math.random(1,10) ab=aa+bb
draw1,draw2=0,0
return loop() end end
draw=class()
function draw:paint(gc)
gc:setPen("thick","dotted")
gc:drawRect(60,150,200,50)
if draw1==1 then
gc:setColorRGB(180,180,180)
gc:fillRect(60,150,200,50)
if mm+90<timer.getMilliSecCounter()
then draw1=0 end
end
if draw2==1 then
gc:setColorRGB(20,20,20)
gc:fillRect(60,150,200,50)
if mm+90<timer.getMilliSecCounter()
then draw2=0 end
end
end
function judge()
if x>130 and x<200 and ab>10 and u==1 then
if ch=="6" then b="true"
elseif ch~="6" and ch~="a" and ch~="b" and ch~="c" and ch~="d" and ch~="p" then b="false" end
end
if x>130 and x<200 and ab<10 and u==1 then
if ch=="4" then b="true"
elseif ch~="4" and ch~="a" and ch~="b" and ch~="c" and ch~="d" and ch~="p" then b="false" end
end
if x>130 and x<200 and ab==10 and u==1 then
if ch=="5" then b="true"
elseif ch~="5" and ch~="a" and ch~="b" and ch~="c" and ch~="d" and ch~="p" then b="false" end
end
--if u==0 and t==0 then b="false" t=1 end
if b=="true" and t==1 then
T=T+1 b="" u=0 draw1=1 end
if b=="false" and t==1 then
F=F+1 b="" u=0 draw2=1 end
end
function on.paint(gc)
draw:paint(gc)
gc:setColorRGB(0,0,0)
gc:setFont("sansserif","bi",30)
gc:drawString(aa.." + "..bb,110,x,"top")
--gc:setColorRGB(100,100,100)
--gc:drawString(aa.." + "..bb,110,x-30,"top")
gc:setFont("sansserif","bi",10)
gc:drawString("T: "..T.." ".."F: "..F,0,15,"top")
gc:drawString("u: "..u,0,30,"top")
gc:drawString("t: "..t,0,45,"top")
gc:drawString("ab: "..ab,0,60,"top")
gc:drawString("x: "..x,0,75,"top")
gc:drawString("life: "..life,0,90,"top")
gc:drawString("level: "..level,0,105,"top")
if F>life then
highscore()
gc:fillRect(0,0,330,250)
gc:setColorRGB(255,255,255)
gc:setFont("sansserif","bi",30)
gc:drawString("You Lost",95,50,"top")
gc:setFont("sansserif","bi",15)
gc:drawString("your score: "..T,120,110,"top")
gc:drawString("highscore: "..var.recall("highscore"),120,130,"top")
gc:drawString("Press R to restart",170,180,"top")
if ch=="r" then x=300 T=0 F=0
return loop() end
end
timer.start(ts)
if ch=="p" then timer.stop() end
if ch=="a" then ts=0.05 life=8 level="easy" end
if ch=="b" then ts=0.04 life=6 level="medium"end
if ch=="c" then ts=0.03 life=5 level="hard" end
if ch=="d" then ts=0.02 life=3 level="extreme" end
end
function on.enterKey()
ch="xx"
timer.start(ts)
platform.window:invalidate()
end
function highscore()
if var.recall("highscore")==nil or T>var.recall("highscore")
then var.store("highscore",T)
end
var.monitor("highscore")
end
--[[function on.varChange(varlist)
local highscore=var.recall("highscore")
if not highscore then return -3 end
if type(highscore)~="number" then return -2 end
if highscore<0 then return -1 end
end]]
function on.timer()
local ss=0.45*T+3
if ss>15 then ss=15 end
x=x+(ss)
loop()
judge()
platform.window:invalidate()
end
And of course, l didn't finish it,if you have some good ideas,you can tell me.[4]-----"<10"
[5]-----"=10"
[6]-----">10"
[a\b\c\d]------"change speed"
[p\enter]-------"pause\continue"