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();
 }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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();
        }