bianco = Color.new(255,255,255)
rosso = Color.new(255,0,0)
ba1 = Image.load("SYSTEM/resources/balls/usedball/ball.png")
pic = Image.load("SYSTEM/resources/background/usedbackground/backg.png")
cir = Image.load("SYSTEM/resources/other/circle.png")
winner = Image.load("SYSTEM/resources/other/winner.png")
lose = Image.load("SYSTEM/resources/other/loser.png")
GameOver = Image.load("SYSTEM/resources/other/GameOver.png")
instructions = Image.load("SYSTEM/resources/other/instructions.png")
levelcompleted = Image.load("SYSTEM/resources/other/LevelCompleted.png")

fr = Image.load("SYSTEM/resources/other/frm2.png")

file = io.open("SYSTEM/GAME/CPU.txt", "r") 
CPU = file:read("*n") 
file:close()

X = 0
timer = 0
a = -5
point = 1

timer1 = 0
timer2 = 0


level = 11



lives = 6
timer4 = 0


timerlives = 0
cont = 0


SelectedB = 115
timerA = 0
timerB = 0


timerM = 0

posizione_x0 = 0
posizione_y0 = 255
posizione_x1 = 480
posizione_y1 = 255
posizione_x2 = 0
posizione_y2 = 254
posizione_x3 = 480
posizione_y3 = 254

posizione_x4 = 0
posizione_y4 = 13
posizione_x5 = 480
posizione_y5 = 13
posizione_x6 = 0
posizione_y6 = 14
posizione_x7 = 480
posizione_y7 = 14

posizione_x20 = 140
posizione_y20 = 255
posizione_x21 = 140
posizione_y21 = 272

posizione_x22 = 141
posizione_y22 = 255
posizione_x23 = 141
posizione_y23 = 272

posizione_x24 = 324
posizione_y24 = 255
posizione_x25 = 324
posizione_y25 = 272

posizione_x26 = 325
posizione_y26 = 255
posizione_x27 = 325
posizione_y27 = 272


posizione_x28 = 324
posizione_y28 = 255
posizione_x29 = 324
posizione_y29 = 272

posizione_x30 = 325
posizione_y30 = 255
posizione_x31 = 325
posizione_y31 = 272


posizione_x28 = 140
posizione_y28 = 0
posizione_x29 = 140
posizione_y29 = 14

posizione_x30 = 141
posizione_y30 = 0
posizione_x31 = 141
posizione_y31 = 14

posizione_x32 = 324
posizione_y32 = 0
posizione_x33 = 324
posizione_y33 = 14

posizione_x34 = 325
posizione_y34 = 0
posizione_x35 = 325
posizione_y35 = 14

while true do
pad = Controls.read()

if CPU==333 then System.setcpuspeed(333) end
if CPU==266 then System.setcpuspeed(266) end
if CPU==133 then System.setcpuspeed(133) end
if CPU==222 then System.setcpuspeed(222) end

Mp3me.play()
if Mp3me.gettime() == Mp3me.songTime() then
Mp3me.stop()
Mp3me.load("SYSTEM/resources/music/SND1.mp3")
Mp3me.play()
end

screen:blit(0,0,pic)
screen:blit(81,170,cir)


screen:drawLine(posizione_x0,posizione_y0,posizione_x1,posizione_y1,bianco)
screen:drawLine(posizione_x2,posizione_y2,posizione_x3,posizione_y3,bianco)

screen:drawLine(posizione_x4,posizione_y4,posizione_x5,posizione_y5,bianco)
screen:drawLine(posizione_x6,posizione_y6,posizione_x7,posizione_y7,bianco)

screen:drawLine(posizione_x20,posizione_y20,posizione_x21,posizione_y21,bianco)
screen:drawLine(posizione_x22,posizione_y22,posizione_x23,posizione_y23,bianco)
screen:drawLine(posizione_x24,posizione_y24,posizione_x25,posizione_y25,bianco)
screen:drawLine(posizione_x26,posizione_y26,posizione_x27,posizione_y27,bianco)

screen:drawLine(posizione_x28,posizione_y28,posizione_x29,posizione_y29,bianco)
screen:drawLine(posizione_x30,posizione_y30,posizione_x31,posizione_y31,bianco)
screen:drawLine(posizione_x32,posizione_y32,posizione_x33,posizione_y33,bianco)
screen:drawLine(posizione_x34,posizione_y34,posizione_x35,posizione_y35,bianco)


if X==0 and timer==0 then screen:blit(188,192,fr) end
if X==1 then screen:blit(188,192,fr) end
if X==2 then screen:blit(188,192,fr) end
if X==3 then screen:blit(188,192,fr) end
if X==4 then screen:blit(188,192,fr) end
if X==5 then screen:blit(188,192,fr) end

if X==0 and timer==0 then screen:print(200,200,"Press X to START",rosso) end
if X==1 then screen:print(200,200,"Press X to START",rosso) end
if X==2 then screen:print(200,200,"Press X to START",rosso) end
if X==3 then screen:print(200,200,"Press X to START",rosso) end
if X==4 then screen:print(200,200,"Press X to START",rosso) end
if X==5 then screen:print(200,200,"Press X to START",rosso) end
if pad:cross() then X=X+1 end 
if X>5 then timer=timer + 3.5 end

if timer>0 and timer<10 then screen:blit(30,120,ba1) end
if timer>10 and timer<20 then screen:blit(100,50,ba1) end

if timer>20 and timer<30 then screen:blit(220,20,ba1) end

if timer>30 and timer<40 then screen:blit(340,50,ba1) end
if timer>40 and timer<50 then screen:blit(410,120,ba1) end
if timer>50 and timer<60 then screen:blit(340,190,ba1) end
if timer>60 and timer<70 then screen:blit(220,220,ba1) end
if timer>70 and timer<80 then screen:blit(100,190,ba1) end

if timer==84 then timer=0 end

if pad:cross() then a=a+1 end


if pad:cross() and X>0 and timer>70 and timer<80 then X=0 end 
if X==0 and timer>70 and timer<80 then screen:blit(170,80,winner) end
if X==0 and timer>70 and timer<80 and pad:square() then X=6 end



if pad:cross() and a>5 and timer>50 and timer<60 then X=0 end 
if X==0 and timer>50 and timer<60 then screen:blit(120,80,lose) end
if X==0 and timer>50 and timer<60 and pad:square() then X=6 end

if pad:cross() and a>5 and timer>30 and timer<40 then X=0 end 
if X==0 and timer>30 and timer<40 then screen:blit(120,80,lose) end
if X==0 and timer>30 and timer<40 and pad:square() then X=6 end

if pad:cross() and a>5 and timer>20 and timer<30 then X=0 end
if X==0 and timer>20 and timer<30 then screen:blit(120,80,lose) end
if X==0 and timer>20 and timer<30 and pad:square() then X=6 end

if pad:cross() and a>5 and timer>0 and timer<10 then X=0 end 
if X==0 and timer>0 and timer<10 then screen:blit(120,80,lose) end
if X==0 and timer>0 and timer<10 and pad:square() then X=6 end

if pad:cross() and a>5 and timer>10 and timer<20 then X=0 end 
if X==0 and timer>10 and timer<20 then screen:blit(120,80,lose) end
if X==0 and timer>10 and timer<20 and pad:square() then X=6 end

if pad:cross() and a>5 and timer>40 and timer<50 then X=0 end 
if X==0 and timer>40 and timer<50 then screen:blit(120,80,lose) end
if X==0 and timer>40 and timer<50 and pad:square() then X=6 end

if pad:cross() and a>5 and timer>60 and timer<70 then X=0 end 
if X==0 and timer>60 and timer<70 then screen:blit(120,80,lose) end
if X==0 and timer>60 and timer<70 and pad:square() then X=6 end



screen:print(385,2,"Points =",rosso)
screen:print(455,2,point,rosso)


if X==0 and timer>70 and timer<80 then timer2 = timer2 + 1 end
if not X==0 and not timer>70 and not timer<80 then timer2 = 0 end 
if timer2 == 1 then point=point+1 end

if X==0 and timer2 == 0 then timer1 = timer1 + 1 end
if timer1 == 10 then timer1 = 2 end
if pad:cross() then timer1 = 0 end 
if timer1 == 1 then point=point-1 end

if pad:square() and point<10 then timer2 = 0 end
if pad:square() and point<10 then timer1 = 0 end

screen:print(0,260,"[] -> Play Again",rosso)

screen:print(335,260,"R -> Instructions",rosso)

screen:print(2,2,"level =",rosso)
screen:print(60,2,level,rosso)


screen:print(200,2,"lives =",rosso)
screen:print(260,2,lives,rosso)

screen:print(150,260,"START -> Back to menu",rosso)
if pad:start() then dofile("SYSTEM/resources/menu/menu.lua") end


if timer1 == 1 then lives = lives - 1 end
if lives == 0 then timer4 = timer4 + 1 end
if timer4 > 1 then screen:blit(0,0,GameOver) end
if timer4 > 1 then screen:print(150,250,"Automatic return to main menu ...",rosso) end
if timer4 == 50 then dofile("SYSTEM/resources/menu/menu.lua") end


if timer2 == 1 then cont=cont+1 end
if cont==2 then timerlives = timerlives + 1 end
if timerlives == 1 then lives = lives + 1 end
if timerlives == 2 then cont=0 end
if timerlives == 2 then timerlives=0 end

if timer1 == 1 then cont=0 end

if pad:r() then screen:blit(0,0,instructions) end




if point==10 then X=0 end
if X==0 and point==10 then screen:blit(170,80,levelcompleted) end

if pad:up() then timerA = timerA + 1 end
if not pad:up() then timerA = 0 end
if timerA == 1 then SelectedB = SelectedB - 10 end

if pad:down() then timerB = timerB + 1 end
if not pad:down() then timerB = 0 end 
if timerB == 1 then SelectedB = SelectedB + 10 end

if X==0 and point==10 then screen:print(200,115,"New Level",bianco) end
if X==0 and point==10 then screen:print(185,125,"Restart Level",bianco) end
if X==0 and point==10 then screen:print(189,135,"Select Level",bianco) end
if X==0 and point==10 then screen:print(189,145,"Exit to menu",bianco) end

if X==0 and point==10 and SelectedB == 115 then screen:print(200,115,"New Level",rosso) end
if X==0 and point==10 and SelectedB == 125 then screen:print(185,125,"Restart Level",rosso) end
if X==0 and point==10 and SelectedB == 135 then screen:print(189,135,"Select Level",rosso) end
if X==0 and point==10 and SelectedB == 145 then screen:print(189,145,"Exit to menu",rosso) end

if SelectedB == 155 then SelectedB = 145 end
if SelectedB == 105 then SelectedB = 115 end

if X==0 and point==10 then timerM = timerM + 1 end

if X==0 and point==10 and SelectedB == 115 and timerM>20 and pad:cross() then dofile("SYSTEM/GAME/index12.lua") end
if X==0 and point==10 and SelectedB == 125 and timerM>20 and pad:cross() then dofile("SYSTEM/GAME/index11.lua") end
if X==0 and point==10 and SelectedB == 135 and timerM>20 and pad:cross() then dofile("SYSTEM/GAME/SelectLevel.lua") end
if X==0 and point==10 and SelectedB == 145 and timerM>20 and pad:cross() then dofile("SYSTEM/resources/menu/menu.lua") end

screen.waitVblankStart()
screen.flip()
screen:clear()
end
