[lua] local points={}
points[1] = display.newCircle(0,0,10)
points[1].x = 312 - 120
points[1].y = 300
points[2] = display.newCircle(0,0,10)
points[2].x = 312 - 60
points[2].y = 400
points[3] = display.newCircle(0,0,10)
points[3].x = 312
points[3].y = 500
points[4] = display.newCircle(0,0,10)
points[4].x = 312 + 60
points[4].y = 400
points[5] = display.newCircle(0,0,10)
points[5].x = 312 + 120
points[5].y = 300
points[6] = display.newCircle(0,0,10)
points[6].x = 330 + 50
points[6].y = 340
points[7] = display.newCircle(0,0,10)
points[7].x = 312
points[7].y = 340
points[8] = display.newCircle(0,0,10)
points[8].x = 330 - 90
points[8].y = 340
local myLines = {}
local perfectLines = {}
local lastPoint
local currentPoint,nextPoint
local temp
local function chkRightOrWrong(e)
if e.target.myName ~= 1 then
currentPoint = e.target.myName
nextPoint = e.target.myName + 1
end
if e.target.isChked == true then
Runtime:addEventListener(“touch”, drawLine)
end
if e.target.myName == 1 and e.target.isChked == false then
e.target.isChked = true
Runtime:addEventListener(“touch”, drawLine)
lastPoint = e.target.myName
currentPoint = e.target.myName
nextPoint = e.target.myName + 1
elseif e.target.myName > 7 and e.target.isChked == true then
e.target.isChked = false
Runtime:removeEventListener(“touch”, drawLine)
–[[elseif e.target.myName == 6 and e.target.isChked == true then
e.target.isChked = true
Runtime:addEventListener(“touch”, drawLine)
lastPoint = e.target.myName
currentPoint = e.target.myName
nextPoint = e.target.myName + 1
]]–
elseif e.target.isChked == false and e.target.myName ~= 1 then
local i = e.target.myName
print(i …“hahsd”)
if i == 6 then
points[6].isChked = true
end
if i ~= 6 then
if points[i - 1].isChked == true then
temp = #myLines
for i=1,#myLines do
myLines[i]:removeSelf()
myLines[i] = nil
end
if temp > 5 then
print(temp …“basdhjg23”)
perfectLines[#perfectLines + 1] = display.newLine(points[i - 1].x,points[i - 1].y,points[i].x,points[i].y)
perfectLines[#perfectLines].width = 10
perfectLines[#perfectLines]:setColor(255, 100, 50)
lastPoint = e.target.myName
e.target.isChked = true
temp = 0
print(“asdasd”)
end
else
temp = 0
for i=1,#myLines do
myLines[i]:removeSelf()
myLines[i] = nil
print(#myLines …“asd”)
end
end
end
end
end
for i=1,#points do
points[i].isChked = false
points[i].myName = i
points[i]:addEventListener(“touch”,chkRightOrWrong)
end
function drawLine(e)
if lastPoint ~= nil then
if lastPoint + 1 <= #points then
if math.abs(e.x - points[lastPoint + 1].x) > 150 or math.abs(e.y - points[lastPoint + 1].y) > 150 then
temp = 0
for i=1,#myLines do
myLines[i]:removeSelf()
myLines[i] = nil
end
end
end
end
if prevX then
myLines[#myLines + 1] = display.newLine(prevX,prevY,e.x,e.y)
myLines[#myLines].width = 10
myLines[#myLines]:setColor(255, 100, 50)
end
prevX = e.x
prevY = e.y
if “ended” == e.phase then
prevX = nil
prevY = nil
currentPoint = nil
nextPoint = nil
temp = 0
for i=1,#myLines do
myLines[i]:removeSelf()
myLines[i] = nil
end
Runtime:removeEventListener(“touch”,drawLine)
end
end[/lua] [import]uid: 12482 topic_id: 13586 reply_id: 51710[/import]