----------------------------- -- Levak ©2011 -------------- -- http://levak.free.fr/ ---- -- levak92@gmail.com -------- ----------------------------- ------ Constants & Globals init = false function initConstants() initFonts() initView() initThumbs() initGUI() initGrid() paused = true init = true platform.window:invalidate() end -- Fonts function initFonts() fxxsmall = math.floor(math.min(math.max(platform.window:width() / 60, 6), 255)) fxsmall = math.floor(math.min(math.max(platform.window:width() / 50, 6), 255)) fsmall = math.floor(math.min(math.max(platform.window:width() / 40, 6), 255)) fnormal = math.floor(math.min(math.max(platform.window:width() / 32, 6), 255)) flarge = math.floor(math.min(math.max(platform.window:width() / 25, 6), 255)) fxlarge = math.floor(math.min(math.max(platform.window:width() / 20, 6), 255)) fxxlarge = math.floor(math.min(math.max(platform.window:width() / 10, 6), 255)) platform.gc():setFont("sansserif", "r", fxxsmall) xxsmall = platform.gc():getStringWidth("H") platform.gc():setFont("sansserif", "r", fxsmall) xsmall = platform.gc():getStringWidth("H") platform.gc():setFont("sansserif", "r", fsmall) small = platform.gc():getStringWidth("H") platform.gc():setFont("sansserif", "r", fnormal) normal = platform.gc():getStringWidth("H") platform.gc():setFont("sansserif", "r", flarge) large = platform.gc():getStringWidth("H") platform.gc():setFont("sansserif", "r", fxlarge) xlarge = platform.gc():getStringWidth("H") platform.gc():setFont("sansserif", "r", fxxlarge) xxlarge = platform.gc():getStringWidth("H") end -- View function initView() isWideScreen = (platform.window:width()>320 or platform.window:height()>240) and platform.isColorDisplay() selectedCase = {X = 1, Y = 1} marginBottom = 5 * normal dim = math.min ( platform.window:width() / 2, (platform.window:height() - marginBottom) / 2 ) x = platform.window:width() / 2 - dim y = (platform.window:height() - marginBottom) / 2 - dim + 1.5 * normal iter = (dim * 2) / 9 end function initGrid(d, seed) document.markChanged() SolutionGrid = {} for i = 1, 81 do SolutionGrid[i] = 0 end if d and seed then GridSeed = seed math.randomseed(seed) if d == "easy" then min = 40; max = 50 elseif d == "medium" then min = 30; max = 40 elseif d == "difficult" then min = 20; max = 30 elseif d == "expert" then min = 16; max = 20 end local solver = SudokuSolver.new(table.copy(SolutionGrid)) solver:Generate() SolutionGrid = solver.Grid local visible = math.random(min, max) OriginalGrid = table.copy(SolutionGrid) local temp = {} for i = 1, 81 do temp[i] = i end print("Clear Case count : "..tostring(visible)) for i = 1, visible do table.remove(temp, math.random(1, #temp)) end for _, num in pairs(temp) do OriginalGrid[num] = 0 end else OriginalGrid = table.copy(SolutionGrid) end PlayGrid = table.copy(OriginalGrid) DisplayGrid = PlayGrid timeSpan = 0 -- seconds oldTimer = timer.getMilliSecCounter() timer.start(1) displayIfGridOk = false win = false paused = false end -- Virtual KeyBoard function initVKB(Ypos, gtype) navPos = {x = (platform.window:width()- 13*normal)/2 , y = Ypos} VKB = { Button.create(5, 3, 2, 1, normal, function(c) c:backspaceKey() end, "<=")} ALPHA = { Button.create(0, 0, 1, 1, normal, function(c) c:charIn("a") end, "a"), Button.create(1, 0, 1, 1, normal, function(c) c:charIn("b") end, "b"), Button.create(2, 0, 1, 1, normal, function(c) c:charIn("c") end, "c"), Button.create(3, 0, 1, 1, normal, function(c) c:charIn("d") end, "d"), Button.create(4, 0, 1, 1, normal, function(c) c:charIn("e") end, "e"), Button.create(5, 0, 1, 1, normal, function(c) c:charIn("f") end, "f"), Button.create(6, 0, 1, 1, normal, function(c) c:charIn("g") end, "g"), Button.create(0, 1, 1, 1, normal, function(c) c:charIn("h") end, "h"), Button.create(1, 1, 1, 1, normal, function(c) c:charIn("i") end, "i"), Button.create(2, 1, 1, 1, normal, function(c) c:charIn("j") end, "j"), Button.create(3, 1, 1, 1, normal, function(c) c:charIn("k") end, "k"), Button.create(4, 1, 1, 1, normal, function(c) c:charIn("l") end, "l"), Button.create(5, 1, 1, 1, normal, function(c) c:charIn("m") end, "m"), Button.create(6, 1, 1, 1, normal, function(c) c:charIn("n") end, "n"), Button.create(0, 2, 1, 1, normal, function(c) c:charIn("o") end, "o"), Button.create(1, 2, 1, 1, normal, function(c) c:charIn("p") end, "p"), Button.create(2, 2, 1, 1, normal, function(c) c:charIn("q") end, "q"), Button.create(3, 2, 1, 1, normal, function(c) c:charIn("r") end, "r"), Button.create(4, 2, 1, 1, normal, function(c) c:charIn("s") end, "s"), Button.create(5, 2, 1, 1, normal, function(c) c:charIn("t") end, "t"), Button.create(6, 2, 1, 1, normal, function(c) c:charIn("u") end, "u"), Button.create(0, 3, 1, 1, normal, function(c) c:charIn("v") end, "v"), Button.create(1, 3, 1, 1, normal, function(c) c:charIn("w") end, "w"), Button.create(2, 3, 1, 1, normal, function(c) c:charIn("x") end, "x"), Button.create(3, 3, 1, 1, normal, function(c) c:charIn("y") end, "y"), Button.create(4, 3, 1, 1, normal, function(c) c:charIn("z") end, "z"), } NUM = { Button.create(7, 3, 1, 1, normal, function(c) c:charIn("0") end, "0"), Button.create(7, 2, 1, 1, normal, function(c) c:charIn("1") end, "1"), Button.create(8, 2, 1, 1, normal, function(c) c:charIn("2") end, "2"), Button.create(9, 2, 1, 1, normal, function(c) c:charIn("3") end, "3"), Button.create(7, 1, 1, 1, normal, function(c) c:charIn("4") end, "4"), Button.create(8, 1, 1, 1, normal, function(c) c:charIn("5") end, "5"), Button.create(9, 1, 1, 1, normal, function(c) c:charIn("6") end, "6"), Button.create(7, 0, 1, 1, normal, function(c) c:charIn("7") end, "7"), Button.create(8, 0, 1, 1, normal, function(c) c:charIn("8") end, "8"), Button.create(9, 0, 1, 1, normal, function(c) c:charIn("9") end, "9"), } if gtype == "alpha" then VKB = table.merge(VKB, ALPHA) elseif gtype == "num" then VKB = table.merge(VKB, NUM) else VKB = table.merge(table.merge(VKB, ALPHA), NUM) end end -- GUI function initGUI() navPos = {x = platform.window:width()-5*normal, y = normal*8} Buttons = { Button.create( 0, 0, 2, 1, normal, function(c) c:escapeKey() end, "esc"), Button.create( 1, 2, 1, 1, xxsmall, function(c) c:arrowKey("up") end), Button.create( 0, 3, 1, 1, xxsmall, function(c) c:arrowKey("left") end), Button.create( 1, 3, 1, 1, xxsmall, function(c) c:arrowKey("down") end), Button.create( 2, 3, 1, 1, xxsmall, function(c) c:arrowKey("right") end), Button.create( 0, 8, 1, 1, normal, function(c) c:charIn("0") end, "0"), Button.create( 0, 7, 1, 1, normal, function(c) c:charIn("1") end, "1"), Button.create( 1, 7, 1, 1, normal, function(c) c:charIn("2") end, "2"), Button.create( 2, 7, 1, 1, normal, function(c) c:charIn("3") end, "3"), Button.create( 0, 6, 1, 1, normal, function(c) c:charIn("4") end, "4"), Button.create( 1, 6, 1, 1, normal, function(c) c:charIn("5") end, "5"), Button.create( 2, 6, 1, 1, normal, function(c) c:charIn("6") end, "6"), Button.create( 0, 5, 1, 1, normal, function(c) c:charIn("7") end, "7"), Button.create( 1, 5, 1, 1, normal, function(c) c:charIn("8") end, "8"), Button.create( 2, 5, 1, 1, normal, function(c) c:charIn("9") end, "9"), Button.create( 0, 10, 4, 1, normal, function(c) c:charIn("s") end, "(S)olution"), Button.create( 2, 11, 2, 1, normal, function(c) c:charIn("p") end, "(P)ause"), Button.create( 0, 11, 2, 1, normal, function(c) c:enterKey() end, "Enter"), Button.create( 0, 12, 4, 1, normal, function(c) c:contextMenu() end, "Ctrl + Menu"), Button.create( 0, 13, 4, 1, normal, function(c) c:charIn("c") end, "(C)heck Grid"), } navPos = {x = xxsmall, y = 0} LoadButtons = {} local temp = {} for _, name in pairs(var.list()) do if not table.contains(temp, string.explode(name, "%.")[1]) then table.insert(temp, string.explode(name, "%.")[1]) end end for i, name in pairs(temp) do LoadButtons[i] = Button.create(0, 0, 0, 1.5, normal, function() loadGame(name) end, name) end SeedButtons = { Button.create(0, 0, 0, 1.5, normal, function() PushScreen(Request.create("Easy from Seed", "Enter the seed number", "", 5, "num", function(num) initGrid("easy", num) end)) end, "Easy", easyButton), Button.create(0, 0, 0, 1.5, normal, function() PushScreen(Request.create("Medium from Seed", "Enter the seed number","", 5, "num", function(num) initGrid("medium", num) end)) end, "Medium", mediumButton), Button.create(0, 0, 0, 1.5, normal, function() PushScreen(Request.create("Difficult from Seed", "Enter the seed number", "", 5, "num", function(num) initGrid("difficult", num) end)) end, "Difficult", difficultButton), Button.create(0, 0, 0, 1.5, normal, function() PushScreen(Request.create("Expert from Seed", "Enter the seed number", "", 5, "num", function(num) initGrid("expert", num) end)) end, "Expert", expertButton), } NewButtons = { Button.create(0, 0, 0, 1.5, normal, function() initGrid("easy", math.random(500)) end, "Easy", easyButton), Button.create(0, 0, 0, 1.5, normal, function() initGrid("medium", math.random(500)) end, "Medium", mediumButton), Button.create(0, 0, 0, 1.5, normal, function() initGrid("difficult", math.random(500)) end, "Difficult", difficultButton), Button.create(0, 0, 0, 1.5, normal, function() initGrid("expert", math.random(500)) end, "Expert", expertButton), Button.create(0, 0, 0, 1.5, normal, function() end, "From Seed", seedButton, Menu.create(SeedButtons)), } MainButtons = { Button.create(0, 0, 0, 1.5, normal, function() end, "New", newButton, Menu.create(NewButtons)), Button.create(0, 0, 0, 1.5, normal, function() end, "Load", loadButton, Menu.create(LoadButtons)), Button.create(0, 0, 0, 1.5, normal, function() PushScreen(Request.create("Save", "Enter the game name", "game", 15, "alpha", function(var) saveGame(var) end)) end, "Save", saveButton), Button.create(0, 0, 0, 1.5, normal, function() on.help() end, "Help", helpButton), } ContextMenu = Menu.create(MainButtons) ContextMenu:format() end -- Pictures function initThumbs() nextImage = "\003\000\000\000\016\000\000\000\000\000\000\000\006\000\000\000\016\000\001\000alalalalalalalalalalalalalalal\000\128alal\000\128\000\128al\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128al\000\128alalalalalalalalalalalalalalalalal" nextButton = image.new(nextImage) warningImage = "\016\000\000\000\016\000\000\000\000\000\000\000\032\000\000\000\016\000\001\000alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal\000\128\000\128alalalalalalalalalalalalal\000\128\255\255\255\255\000\128alalalalalalalalalalalal\000\128\255\255\255\255\000\128alalalalalalalalalalal\000\128\255\255\000\128\000\128\255\255\000\128alalalalalalalalalal\000\128\255\255\000\128\000\128\255\255\000\128alalalalalalalalal\000\128al\255\255\000\128\000\128\255\255\255\255\000\128alalalalalalalal\000\128\255\255\255\255\000\128\000\128\255\255\255\255\000\128alalalalalalal\000\128\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\128alalalalalal\000\128\255\255\255\255\255\255\000\128\000\128\255\255\255\255\255\255\000\128alalalalal\000\128\016\194\016\194\016\194\016\194\000\128\000\128\016\194\016\194\016\194\016\194\000\128alalal\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alalalalalalalalalalalalalalalalal" warningButton = image.new(warningImage) newImage = "\016\000\000\000\016\000\000\000\000\000\000\000\032\000\000\000\016\000\001\000alalalalalalalalal\000\128alalalal\000\128alalalalalalalalalalal\000\128\000\128\000\128\000\128alalalalal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\255\255\255\255\000\128alalalalal\000\128\255\255\255\255\255\255\255\255\255\255\255\255\000\128\255\255\255\255\000\128alalalalal\000\128\255\255\255\255\255\255\255\255\255\255\255\255\000\128\000\128\000\128\000\128alalalalal\000\128\255\255\255\255\255\255\255\255\255\255\000\128\255\255\255\255\000\128al\000\128alalalal\000\128\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\128alalalalalal\000\128\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\128alalalalalal\000\128\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\128alalalalalal\000\128\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\128alalalalalal\000\128\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\128alalalalalal\000\128\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\128alalalalalal\000\128\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\128alalalalalal\000\128\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\128alalalalalal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alalalalalalalalal\000\000\000\000alalalalalalalal" newButton = image.new(newImage) saveImage = "\016\000\000\000\016\000\000\000\000\000\000\000\032\000\000\000\016\000\001\000alalalalalalalalalalalalalalalalal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\016\194\000\128\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\128\016\194\000\128alal\000\128\016\194\000\128\255\255\000\128\000\128\000\128\000\128\000\128\000\128\255\255\000\128\016\194\000\128alal\000\128\016\194\000\128\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\128\016\194\000\128alal\000\128\016\194\000\128\255\255\000\128\000\128\000\128\000\128\000\128\000\128\255\255\000\128\016\194\000\128alal\000\128\016\194\000\128\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\128\016\194\000\128alal\000\128\016\194\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\016\194\000\128alal\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128alal\000\128\016\194\016\194\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\016\194\000\128alal\000\128\016\194\016\194\000\128\255\255\255\255\255\255\255\255\255\255\255\255\000\128\000\128\016\194\000\128alal\000\128\016\194\016\194\000\128\255\255\000\128\255\255\255\255\255\255\255\255\000\128\000\128\016\194\000\128alal\000\128\016\194\016\194\000\128\255\255\000\128\255\255\255\255\255\255\255\255\000\128\000\128\016\194\000\128alal\000\000\000\128\016\194\000\128\255\255\255\255\255\255\255\255\255\255\255\255\000\128\000\128\016\194\000\128alal\000\000\000\000\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alalalalalalalalalalalalalalalalal" saveButton = image.new(saveImage) loadImage = "\016\000\000\000\016\000\000\000\000\000\000\000\032\000\000\000\016\000\001\000\198\152\206\185\206\185\206\185\206\185\206\185\206\185\206\185\198\152\255\127\255\127\255\127\255\127\255\127\255\127\255\127\206\185Z\235Z\235Z\235Z\235Z\235Z\235Z\235Z\235\198\152\255\127\255\127\255\127\255\127\255\127\255\127\206\185Z\235s\206s\206s\206\214\218\214\218\214\218\214\218\214\218\214\218\214\218\214\218\214\218J\169\255\127\206\185Z\235\214\218\214\218\214\218\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\214\218\255\127\206\185Z\235s\206s\206\214\218\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\214\218\255\127k\173Z\235\214\218\214\218\214\218\255\255\255\255Z\235Z\235Z\235Z\235Z\235\255\255\255\255\214\218\255\127k\173Z\235s\206s\206\214\218\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\214\218\255\127k\173Z\235\214\218\214\218\214\218\255\255\255\255Z\235Z\235Z\235Z\235\255\255\255\255\255\255\214\218\255\127k\173Z\235\206\185\140\177\140\177\140\177\140\177\140\177\140\177\140\177\140\177\140\177\140\177\140\177\140\177\206\185k\173Z\235\140\177Z\235Z\235Z\235Z\235Z\235Z\235Z\235Z\235Z\235Z\235Z\235Z\235\140\177k\173Z\235\140\177Z\235\214\218\214\218\214\218\214\218\214\218\214\218\214\218\214\218\214\218\214\218Z\235\140\177k\173Z\235\140\177Z\235\214\218\214\218\214\218\214\218\214\218\214\218s\206s\206s\206s\206\214\218\140\177k\173Z\235\206\185\214\218s\206s\206s\206s\206s\206s\206s\206s\206s\206s\206\214\218\140\177k\173\214\218\214\218s\206s\206s\206s\206s\206s\206s\206s\206s\206s\206\214\218\140\177\198\152)\165\140\177\140\177\140\177\140\177\140\177\140\177\140\177\140\177\140\177\140\177\140\177\140\177\140\177)\165\255\127\255\127\255\127\255\127\255\127\255\127\255\127\255\127\255\127\255\127\255\127\255\127\255\127\255\127\255\127\255\127\255\127" loadButton = image.new(loadImage) helpImage = "\016\000\000\000\016\000\000\000\000\000\000\000\032\000\000\000\016\000\001\000alalalalalalalalalalalalalalalalalalalalal\000\128\000\128\000\128\000\128\000\128\000\128\000\128alalalalalalalal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alalalalalal\000\128\000\128\000\128alalalalal\000\128\000\128\000\128alalalalal\000\128\000\128\000\128alalalalalal\000\128\000\128alalalalalal\000\000\000\000\000\000alalalalal\000\128\000\128alalalalal\255\127\255\127\000\000\000\000alalalal\000\128\000\128\000\128alalalalalal\255\127\255\127\255\127alalal\000\128\000\128\000\128alalalalalalalalalalal\000\128\000\128\000\128\000\128alalalalalalalalalalal\000\128\000\128\000\128alalalalalalalalalalalal\000\128\000\128\000\128alalalalalalalalalalalalal\000\128\000\128\000\128alalalalalalalalalalalalalalalalalalalalalalalalalalalalal\000\128\000\128\000\128alalalalalalalalalalalalal\000\128\000\128\000\128alalalalalalalalalalalalalalalalalalalalalalal" helpButton = image.new(helpImage) easyImage = "\016\000\000\000\016\000\000\000\000\000\000\000\032\000\000\000\016\000\001\000alalalalalalalalalalalalalalalalalal\000\000\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\000alalalal\000\000\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\000alalal\000\128\000\128\000\000\016B\016B\016B\016B\016B\016B\016B\016B\016B\000\128\000\128alal\000\128\000\128\000\000\016B\016B\016B\016B\016B\016B\016B\016B\016B\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\016B\016B\016B\016B\016B\016B\016B\016B\016B\016B\000\128\000\128alal\000\128\000\128\016B\016B\016B\016B\016B\016B\016B\016B\016B\016B\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\016B\016B\016B\016B\016B\016B\016B\016B\016B\016B\000\128\000\128alal\000\128\000\128\016B\016B\016B\016B\016B\016B\016B\016B\016B\016B\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128al" easyButton = image.new(easyImage) mediumImage = "\016\000\000\000\016\000\000\000\000\000\000\000\032\000\000\000\016\000\001\000alalalalalalalalalalalalalalalalalal\000\000\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\000alalalal\000\000\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\000alalal\000\128\000\128\000\000\016B\016B\016B\016B\016B\016B\016B\016B\016B\000\128\000\128alal\000\128\000\128\000\000\016B\016B\016B\016B\016B\016B\016B\016B\016B\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\016B\016B\016B\016B\016B\016B\016B\016B\016B\016B\000\128\000\128alal\000\128\000\128\016B\016B\016B\016B\016B\016B\016B\016B\016B\016B\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128al" mediumButton = image.new(mediumImage) difficultImage = "\016\000\000\000\016\000\000\000\000\000\000\000\032\000\000\000\016\000\001\000alalalalalalalalalalalalalalalalalal\000\000\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\000alalalal\000\000\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\000alalal\000\128\000\128\000\000\016B\016B\016B\016B\016B\016B\016B\016B\016B\000\128\000\128alal\000\128\000\128\000\000\016B\016B\016B\016B\016B\016B\016B\016B\016B\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128al" difficultButton = image.new(difficultImage) expertImage = "\016\000\000\000\016\000\000\000\000\000\000\000\032\000\000\000\016\000\001\000alalalalalalalalalalalalalalalalalal\000\000\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\000alalalal\000\000\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\000alalal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\016\194\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128al" expertButton = image.new(expertImage) seedImage = "\016\000\000\000\016\000\000\000\000\000\000\000\032\000\000\000\016\000\001\000alalalalal\000\128\000\128alal\000\128\000\128alalalalalalalal\000\128\000\128alal\000\128\000\128alal\000\128\000\128alalalalalalalal\000\128\000\128alal\000\128\000\128alalalalalal\000\000\000\128\000\128\000\128alal\000\128\000\128alal\000\128\000\128\000\128alalalalalalal\000\128\000\128alal\000\128\000\128alalalalalal\000\128\000\128\000\128\000\128alal\000\128\000\128alal\000\128\000\128\000\128\000\128alalalalalal\000\128\000\128alal\000\128\000\128alalalalalalal\000\128\000\128\000\128alal\000\128\000\128alal\000\128\000\128\000\128alalalalalalal\000\128\000\128\000\128\000\128\000\128\000\128alalalalalalalalalalalal\000\128\000\128alalalalalalalalalalalalalal\000\128\000\128alalalalalalalalalalalalalal\000\128\000\128alalalalalalalalalalalalal\000\000\000\128\000\128\000\000alalalalalalalalalal\000\000\000\128\000\128\000\128\000\128\000\128\000\128\000\000alalalalalal\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128\000\128alalalal\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000alal" seedButton = image.new(seedImage) end