void Start() { kartMoveForward2x2 = animator2x2.runtimeAnimatorController.animationClips[0].length; kartMoveBackward2x2 = animator2x2.runtimeAnimatorController.animationClips[1].length; kartMoveForward3x3 = animator3x3.runtimeAnimatorController.animationClips[0].length; kartMoveBackward3x3 = animator3x3.runtimeAnimatorController.animationClips[1].length; dylan = degradationBuddy.GetComponent <DegradationManager>(); gameTimerText.text = "3:00"; gameOver = true; x = 0; numberCorrectSoFar = 0; numberCorrectTotal = 0; numberOfProblemsAttempted = 0; gradeLevel = PlayerPrefs.GetInt("grade"); deactivateDrags(); setGameTimer(); feedback.text = ""; score = 0; scoreText.text = "" + score; sumGenerator = boardGenerator.GetComponent <Kakuro>(); if (gradeLevel == 0 || gradeLevel == 1) { UILayoutTwoByTwo.SetActive(true); twoBytwoCartPrefab.SetActive(true); } else { UILayoutThreeByThree.SetActive(true); threeBythreeCartPrefab.SetActive(true); } makeNewBoard(); }
// Use this for initialization void Start() { kartMoveForward = cartAnimator.runtimeAnimatorController.animationClips[0].length; kartMoveBackward = cartAnimator.runtimeAnimatorController.animationClips[1].length; StartCoroutine(animateDirections(0)); numberSlotsTwoByTwo[0].gameObject.transform.GetChild(0).GetComponent <DragHandler>().enabled = false; numberSlotsTwoByTwo[2].gameObject.transform.GetChild(0).GetComponent <DragHandler>().enabled = false; numberSlotsTwoByTwo[3].gameObject.transform.GetChild(0).GetComponent <DragHandler>().enabled = false; gameOver = false; gradeLevel = 0; feedback.text = ""; score = 0; scoreText.text = "" + score; sumGenerator = boardGenerator.GetComponent <Kakuro>(); if (gradeLevel == 0 || gradeLevel == 1) { UILayoutTwoByTwo.SetActive(true); twoBytwoCartPrefab.SetActive(true); } else { UILayoutThreeByThree.SetActive(true); threeBythreeCartPrefab.SetActive(true); } makeNewBoard(); }
public static Kakuro CreateWikipediaKakuro() { Kakuro wikipediaKakuro = new Kakuro(7); wikipediaKakuro.AddHorizontalBlock(0, 1, 0, 16) .AddHorizontalBlock(4, 6, 0, 24) .AddHorizontalBlock(0, 1, 1, 17) .AddHorizontalBlock(3, 6, 1, 29) .AddHorizontalBlock(0, 4, 2, 35) .AddHorizontalBlock(1, 2, 3, 7) .AddHorizontalBlock(4, 5, 3, 8) .AddHorizontalBlock(2, 6, 4, 16) .AddHorizontalBlock(0, 3, 5, 21) .AddHorizontalBlock(5, 6, 5, 5) .AddHorizontalBlock(0, 2, 6, 6) .AddHorizontalBlock(5, 6, 6, 3) .AddVerticalBlock(0, 0, 2, 23) .AddVerticalBlock(0, 5, 6, 11) .AddVerticalBlock(1, 0, 3, 30) .AddVerticalBlock(1, 5, 6, 10) .AddVerticalBlock(2, 2, 6, 15) .AddVerticalBlock(3, 1, 2, 17) .AddVerticalBlock(3, 4, 5, 7) .AddVerticalBlock(4, 0, 4, 27) .AddVerticalBlock(5, 0, 1, 12) .AddVerticalBlock(5, 3, 6, 12) .AddVerticalBlock(6, 0, 1, 16) .AddVerticalBlock(6, 4, 6, 7); return(wikipediaKakuro); }
public static Kakuro CreateKakuro() { Kakuro kakuro = new Kakuro(10); kakuro.AddHorizontalBlock(1, 2, 0, 16) .AddHorizontalBlock(6, 9, 0, 29) .AddHorizontalBlock(0, 4, 1, 32) .AddHorizontalBlock(6, 9, 1, 30) .AddHorizontalBlock(0, 1, 2, 9) .AddHorizontalBlock(3, 5, 2, 23) .AddHorizontalBlock(8, 9, 2, 16) .AddHorizontalBlock(0, 1, 3, 6) .AddHorizontalBlock(3, 6, 3, 30) .AddHorizontalBlock(8, 9, 3, 4) .AddHorizontalBlock(2, 3, 4, 17) .AddHorizontalBlock(5, 9, 4, 27) .AddHorizontalBlock(0, 4, 5, 28) .AddHorizontalBlock(6, 7, 5, 14) .AddHorizontalBlock(0, 1, 6, 3) .AddHorizontalBlock(3, 6, 6, 21) .AddHorizontalBlock(8, 9, 6, 13) .AddHorizontalBlock(0, 1, 7, 4) .AddHorizontalBlock(4, 6, 7, 7) .AddHorizontalBlock(8, 9, 7, 8) .AddHorizontalBlock(0, 3, 8, 21) .AddHorizontalBlock(5, 9, 8, 23) .AddHorizontalBlock(0, 3, 9, 19) .AddHorizontalBlock(7, 8, 9, 3) .AddVerticalBlock(0, 1, 3, 7) .AddVerticalBlock(0, 5, 9, 22) .AddVerticalBlock(1, 0, 3, 29) .AddVerticalBlock(1, 5, 9, 24) .AddVerticalBlock(2, 0, 1, 16) .AddVerticalBlock(2, 4, 5, 16) .AddVerticalBlock(2, 8, 9, 4) .AddVerticalBlock(3, 1, 6, 37) .AddVerticalBlock(3, 8, 9, 3) .AddVerticalBlock(4, 1, 3, 23) .AddVerticalBlock(4, 5, 7, 18) .AddVerticalBlock(5, 2, 4, 23) .AddVerticalBlock(5, 6, 8, 21) .AddVerticalBlock(6, 0, 1, 12) .AddVerticalBlock(6, 3, 8, 25) .AddVerticalBlock(7, 0, 1, 16) .AddVerticalBlock(7, 4, 5, 17) .AddVerticalBlock(7, 8, 9, 3) .AddVerticalBlock(8, 0, 4, 26) .AddVerticalBlock(8, 6, 9, 10) .AddVerticalBlock(9, 0, 4, 28) .AddVerticalBlock(9, 6, 8, 23); return(kakuro); }
static void Main(string[] args) { Stopwatch sw = new Stopwatch(); Sudoku wikipediaSudoku = CreateWikipediaSudoku(); System.Console.WriteLine("Sudoku from the Wikipedia page https://en.wikipedia.org/wiki/Sudoku"); Solver.Console.Show(wikipediaSudoku.Values); wikipediaSudoku.Solve(); Solver.Console.Show(wikipediaSudoku.Values); sw.Reset(); sw.Start(); Killer wikipediaKiller = CreateWikipediaKiller(); System.Console.WriteLine("Killer from the Wikipedia page https://en.wikipedia.org/wiki/Killer_sudoku"); wikipediaKiller.Solve(); Solver.Console.Show(wikipediaKiller.Values); sw.Stop(); System.Console.WriteLine("Killer solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds"); System.Console.WriteLine(); sw.Reset(); sw.Start(); KenKen wikipediaKenKen = CreateWikipediaKenKen(); System.Console.WriteLine("KenKen from the Wikipedia page https://en.wikipedia.org/wiki/KenKen"); wikipediaKenKen.Solve(); Solver.Console.Show(wikipediaKenKen.Values); sw.Stop(); System.Console.WriteLine("KenKen solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds"); System.Console.WriteLine(); Futoshiki wikipediaFutoshiki = CreateWikipediaFutoshiki(); System.Console.WriteLine("Futoshiki from the Wikipedia page https://en.wikipedia.org/wiki/Futoshiki"); Solver.Console.Show(wikipediaFutoshiki.Values); wikipediaFutoshiki.Solve(); Solver.Console.Show(wikipediaFutoshiki.Values); sw.Reset(); sw.Start(); Kakuro wikipediaKakuro = CreateWikipediaKakuro(); System.Console.WriteLine("Kakuro from the Wikipedia page https://en.wikipedia.org/wiki/Kakuro"); wikipediaKakuro.Solve(); Solver.Console.Show(wikipediaKakuro.Values); sw.Stop(); System.Console.WriteLine("Kakuro solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds"); System.Console.WriteLine(); Sudoku sudoku = CreateSudoku1(); System.Console.WriteLine("Sudoku Mild No 9596 from the Times, 16th Jan 2018"); Solver.Console.Show(sudoku.Values); sudoku.Solve(); Solver.Console.Show(sudoku.Values); Sudoku sudoku2 = CreateSudoku2(); System.Console.WriteLine("Sudoku Difficult No 9597 from the Times, 16th Jan 2018"); Solver.Console.Show(sudoku2.Values); sudoku2.Solve(); Solver.Console.Show(sudoku2.Values); Sudoku sudoku3 = CreateSudoku3(); System.Console.WriteLine("Sudoku Super fiendish No 9598 from the Times, 16th Jan 2018"); Solver.Console.Show(sudoku3.Values); sudoku3.Solve(); Solver.Console.Show(sudoku3.Values); sw.Reset(); sw.Start(); Killer killer = CreateKiller(); System.Console.WriteLine("Killer Tough No 5820 from the Times, 16th Jan 2018"); killer.Solve(); Solver.Console.Show(killer.Values); sw.Stop(); System.Console.WriteLine("Killer solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds"); System.Console.WriteLine(); sw.Reset(); sw.Start(); KenKen kenKen = CreateKenKen(); System.Console.WriteLine("KenKen Medium No 4226 from the Times, 16th Jan 2018"); kenKen.Solve(); Solver.Console.Show(kenKen.Values); sw.Stop(); System.Console.WriteLine("KenKen solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds"); System.Console.WriteLine(); Futoshiki futoshiki = CreateFutoshiki(); System.Console.WriteLine("Futoshiki No 3087 from the Times, 16th Jan 2018"); Solver.Console.Show(futoshiki.Values); futoshiki.Solve(); Solver.Console.Show(futoshiki.Values); sw.Reset(); sw.Start(); Kakuro kakuro = CreateKakuro(); System.Console.WriteLine("Kakuro No 2046 from the Times, 16th Jan 2018"); kakuro.Solve(); Solver.Console.Show(kakuro.Values); sw.Stop(); System.Console.WriteLine("Kakuro solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds"); System.Console.WriteLine(); System.Console.ReadLine(); }