Ejemplo n.º 1
0
        public static void Part1()
        {
            // 7 mins total
            var arcade = new Arcade(Computer.Parse(m_input));

            arcade.Execute();
        }
Ejemplo n.º 2
0
    // Use this for initialization
    void Start()
    {
        Arcade arcade = Camera.main.GetComponent <Arcade>();
        Game   game   = GetComponent <Game>();

        arcade.AddMachine(game);
    }
Ejemplo n.º 3
0
        public string SolvePartOne(string[] input)
        {
            long[] game = string.Join(",", input)
                          .Split(",")
                          .Select(x => Int64.Parse(x))
                          .ToArray();
            Arcade arcade = new Arcade(game);

            Point p;
            int   tileId;

            do
            {
                p = new Point(0, 0);

                arcade.Run();
                p.X = (int)arcade.Output;

                arcade.Run();
                p.Y = (int)arcade.Output;

                arcade.Run();
                tileId = (int)arcade.Output;

                arcade.UpdateTile(p, tileId);
            } while (arcade.CurrentState != IntcodeComputer.State.Halted);

            return(arcade.CountTilesOfType(Arcade.Tile.Block).ToString());
        }
Ejemplo n.º 4
0
 public override void HandleInput(Arcade stateMachine, string input)
 {
     if (input == "1")
     {
         // Go to start screen
         stateMachine.SetTrigger(ParamId.Continue);
     }
 }
Ejemplo n.º 5
0
 public void UpdateInfo() //Vitun purkka paskaa kekw: :D-:,d:D;DD
 {
     if (arcade == null)
     {
         arcade = GameObject.FindWithTag("Arcade").GetComponent <Arcade>();
     }
     arcade.AddArcadeMachine(this);
 }
Ejemplo n.º 6
0
    // Use this for initialization
    void Start()
    {
        Debug.Log("Customer start");
        customerAI = GetComponent <AstarAI>();
        arcade     = Camera.main.GetComponent <Arcade>();

        EnterSeekingState();
    }
Ejemplo n.º 7
0
 public Computer(Memory memory, Arcade arcade)
 {
     _arcade = arcade;
     _memory = memory;
     _jumpTo = -1;
     _entity = InstructionEntity.NoInstruction;
     _index  = 0;
 }
Ejemplo n.º 8
0
        public void TestInsertTile()
        {
            Arcade a = new Arcade(new long[1]);
            Point  p = new Point(0, 4);

            a.UpdateTile(p, (int)Arcade.Tile.Wall);

            Assert.That(a.Tiles.Count, Is.EqualTo(1));
        }
Ejemplo n.º 9
0
        public void TestUpdateMaxX()
        {
            Arcade a = new Arcade(new long[1]);
            Point  p = new Point(4, 0);

            a.UpdateTile(p, (int)Arcade.Tile.Wall);

            Assert.That(a.MaxX, Is.EqualTo(4));
        }
Ejemplo n.º 10
0
        public static void Part2()
        {
            var program = Computer.Parse(m_input);

            program[0] = 2;

            var arcade = new Arcade(program);

            arcade.Execute();
        }
Ejemplo n.º 11
0
    private void UpdateInfo() //Vitun purkka paskaa kekw: :D-:,d:D;DD
    {
        customerState = CustomerState.Idle;
        money         = Random.Range(0f, 10f) * 10f;
        arcade        = GameObject.FindWithTag("Arcade").GetComponent <Arcade>();
        player        = GameObject.FindWithTag("MainCamera").GetComponent <Player>();
        agent         = GetComponent <NavMeshAgent>();

        GoToEntrance();
    }
Ejemplo n.º 12
0
        public string SolveSecondTask()
        {
            _program[0] = 2;

            var arcade   = new Arcade();
            var computer = new OpCodeComputer.OpCodeComputer(arcade, arcade);

            computer.ProcessInstructions(_program);

            return(arcade.Score.ToString());
        }
Ejemplo n.º 13
0
        public string SolveFirstTask()
        {
            var arcade   = new Arcade();
            var computer = new OpCodeComputer.OpCodeComputer(arcade, arcade);

            computer.ProcessInstructions(_program);

            return(arcade.Monitor
                   .Where(x => x.Value == TileType.Block)
                   .Count()
                   .ToString());
        }
Ejemplo n.º 14
0
    static void Main(string[] args)
    {
        //skapar en lista där olika instanser av ArcadeShop sparas
        List <ArcadeShop> cart = new List <ArcadeShop>();

        string choice;

        Console.WriteLine("We sell apple and pear write the one you want to buy. and when you are done write , done");
        choice = Console.ReadLine();


        while (choice != "done")
        {
            if (choice == "apple")
            {
                // lägger till instansen Apple i listan "cart" med texten Red framför
                cart.Add(new Apple("Red "));
            }
            else if (choice == "pear")
            {
                // lägger till instansen pear i listan "cart" med texten green framför
                cart.Add(new Pear("green "));
            }
            // en readline som låter dig välja så många frukter du vill tills du känner dig nöjd och skriver done.
            choice = Console.ReadLine();
        }

        int totalamount = 0;

        // en foreach loop som lägger till return värdet från varje item i cart Listan in i totalamount int
        foreach (ArcadeShop item in cart)
        {
            totalamount += item.shoop;
            Console.WriteLine(item.Name(), item.shoop);
        }

        Console.WriteLine(totalamount);
        Console.ReadLine();



        // instansierar basklassen och derive klassen
        NumberGuessBooth deriveklass = new NumberGuessBooth();
        Booth            basklass    = new Booth();

        // kör basklassens virtual void metod samt derive klassens overrided version av basklassens virtualvoid metod.
        basklass.virtualvoid();
        deriveklass.virtualvoid();

        Arcade highinstans = new Arcade();

        highinstans.high();
    }
Ejemplo n.º 15
0
        public void TestGetVisualRepresentation()
        {
            Arcade a = new Arcade(new long[1]);

            a.UpdateTile(new Point(0, 0), (int)Arcade.Tile.Empty);
            a.UpdateTile(new Point(1, 0), (int)Arcade.Tile.Wall);
            a.UpdateTile(new Point(2, 0), (int)Arcade.Tile.Block);
            a.UpdateTile(new Point(3, 0), (int)Arcade.Tile.HorizontalPaddle);
            a.UpdateTile(new Point(4, 0), (int)Arcade.Tile.Ball);

            Assert.That(a.GetVisualRepresentation(), Is.EqualTo(".+#~O\n"));
        }
Ejemplo n.º 16
0
    void ShowPopUpModeClassis(int time, List <int> topscore)
    {
        Level.SetActive(false);
        Retry.gameObject.SetActive(false);
        Arcade.SetActive(false);
        TopScore.SetActive(true);
        int count = topscore.Count;

        for (int i = 0; i < count; i++)
        {
            if (topscore[i] != 10000)
            {
                var best = topscore[i];
                var min2 = best / 60;
                var sec2 = best % 60;
                if (i == 0)
                {
                    BestScore1[0].sprite = min2 < 10 ? Number1[0] : Number1[min2 / 10];
                    BestScore1[1].sprite = Number1[min2 % 10];
                    BestScore1[2].sprite = sec2 < 10 ? Number1[0] : Number1[sec2 / 10];
                    BestScore1[3].sprite = Number1[sec2 % 10];
                    BestScore1[4].color  = new Color(1, 1, 1, 1);
                }
                else if (i == 1)
                {
                    BestScore2[0].sprite = min2 < 10 ? Number1[0] : Number1[min2 / 10];
                    BestScore2[1].sprite = Number1[min2 % 10];
                    BestScore2[2].sprite = sec2 < 10 ? Number1[0] : Number1[sec2 / 10];
                    BestScore2[3].sprite = Number1[sec2 % 10];
                    BestScore2[4].color  = new Color(1, 1, 1, 1);
                }
                else
                {
                    BestScore3[0].sprite = min2 < 10 ? Number1[0] : Number1[min2 / 10];
                    BestScore3[1].sprite = Number1[min2 % 10];
                    BestScore3[2].sprite = sec2 < 10 ? Number1[0] : Number1[sec2 / 10];
                    BestScore3[3].sprite = Number1[sec2 % 10];
                    BestScore3[4].color  = new Color(1, 1, 1, 1);
                }
            }
        }

        var min = time / 60;
        var sec = time % 60;

        TimeScore2[0].sprite = min < 10 ? Number2[0] : Number2[min / 10];
        TimeScore2[1].sprite = Number2[min % 10];
        TimeScore2[2].sprite = sec < 10 ? Number2[0] : Number2[sec / 10];
        TimeScore2[3].sprite = Number2[sec % 10];

        // SceneManager.instance.PlayGameController.SaveGame();
    }
Ejemplo n.º 17
0
        public void TestCountTilesOfType()
        {
            Arcade a = new Arcade(new long[1]);

            a.UpdateTile(new Point(0, 4), (int)Arcade.Tile.Wall);
            a.UpdateTile(new Point(1, 4), (int)Arcade.Tile.Wall);
            a.UpdateTile(new Point(2, 4), (int)Arcade.Tile.Wall);
            a.UpdateTile(new Point(3, 4), (int)Arcade.Tile.Empty);
            a.UpdateTile(new Point(4, 4), (int)Arcade.Tile.Empty);

            Assert.That(a.CountTilesOfType(Arcade.Tile.Wall), Is.EqualTo(3));
            Assert.That(a.CountTilesOfType(Arcade.Tile.Empty), Is.EqualTo(2));
            Assert.That(a.CountTilesOfType(Arcade.Tile.Ball), Is.EqualTo(0));
        }
Ejemplo n.º 18
0
    public Int part_two(string input)
    {
        var computer = Computer.Parse(input).Update(position: 0, value: 2);
        var game     = new Arcade().Update(computer.Run(new RunArguments(
                                                            haltOnInput: true,
                                                            haltOnOutput: false)).Output);

        while (!computer.Finished)
        {
            var move    = Math.Sign(game.Ball.X - game.Paddle.X);
            var results = computer.Run(new RunArguments(
                                           haltOnInput: true,
                                           haltOnOutput: false, move));
            game.Update(results.Output);
        }
        return(game.Score);
    }
Ejemplo n.º 19
0
        public string SolvePartTwo(string[] input)
        {
            long[] game = string.Join(",", input)
                          .Split(",")
                          .Select(x => Int64.Parse(x))
                          .ToArray();

            game[0] = 2;

            Arcade arcade = new Arcade(game);

            arcade.Input = 0;

            int   score = 0;
            Point p;
            int   tileId;

            do
            {
                p = new Point(0, 0);

                arcade.Run();
                p.X = (int)arcade.Output;

                arcade.Run();
                p.Y = (int)arcade.Output;

                arcade.Run();
                tileId = (int)arcade.Output;

                if (-1 == p.X)
                {
                    score = tileId;
                }
                else
                {
                    arcade.UpdateTile(p, tileId);
                }

                // Console.Clear();
                // Console.WriteLine($"Score: {score}");
                // Console.WriteLine($"{arcade.GetVisualRepresentation()}");
            } while (arcade.CurrentState != IntcodeComputer.State.Halted);

            return(score.ToString());
        }
Ejemplo n.º 20
0
        private static void Main(string[] args)
        {
            // The constructor configures the state machine
            Arcade arcade = new Arcade {
                // Turn on to log the state machine flow when debugging
                LogFlow = true
            };

            // Start the state machine
            arcade.Start();

            // While running draw the active state and handle input
            while (arcade.IsRunning)
            {
                arcade.Draw();                 // Wrapper for ActiveState.Draw
                arcade.HandleInput();          // Wrapper for ActiveState.HandleInput
            }
        }
Ejemplo n.º 21
0
    void ShowPopUpModeArcade(int time, bool isNormal)
    {
        Arcade.SetActive(true);
        TopScore.SetActive(false);
        Level.SetActive(true);
        foreach (var item in LevelText)
        {
            item.sprite = null;
        }

        Stars.SetActive(true);
        LeanTween.rotateX(Stars, 1f, 0.15f);
        Retry.gameObject.SetActive(true);
        if (time < 2 * GameData.TIMERATE)
        {
            Star[0].gameObject.SetActive(true);
            Star[1].gameObject.SetActive(true);
            Star[2].gameObject.SetActive(true);
        }
        else if (time < 3 * GameData.TIMERATE)
        {
            Star[0].gameObject.SetActive(true);
            Star[1].gameObject.SetActive(true);
        }
        else
        {
            Star[0].gameObject.SetActive(true);
        }
        int currentLevel = SceneManager.instance.CurrentLevel + 1;

        if (!isNormal)
        {
            currentLevel -= 1;
        }
        var temp = currentLevel.ToString();

        for (int i = 0; i < temp.Length; i++)
        {
            var ind = int.Parse(temp[i].ToString());
            LevelText[i].sprite = Number[ind];
            LevelText[i].SetNativeSize();
        }

        if (currentLevel >= SceneManager.instance.MapNumber * SceneManager.instance.LevelPerMap)
        {
            currentLevel = SceneManager.instance.MapNumber * SceneManager.instance.LevelPerMap;
        }
        if (currentLevel % SceneManager.instance.NumberLevelShowPopUp == 0 && currentLevel > 0)
        {
            SceneManager.instance.PopUpRateController.ShowPopUpRate();
        }

        var best = time;
        //var data = SceneManager.instance.GetMapData(SceneManager.instance.CurrentLevel);
        var data = MaxScore;

        if (time < data || data == 0)
        {
            Record.color = new Color(1, 1, 1, 1);
            PlayerPrefs.SetInt("BEST_SCORE", best);
            MaxScore = best;
        }
        else
        {
            Record.color = new Color(1, 1, 1, 0);
            best         = data;
        }

        var min = time / 60;
        var sec = time % 60;

        TimeScore[0].sprite = min < 10 ? Number[0] : Number[min / 10];
        TimeScore[1].sprite = Number[min % 10];
        TimeScore[2].sprite = sec < 10 ? Number[0] : Number[sec / 10];
        TimeScore[3].sprite = Number[sec % 10];

        var min2 = data / 60;
        var sec2 = data % 60;

        BestScore[0].sprite = min2 < 10 ? Number[0] : Number[min2 / 10];
        BestScore[1].sprite = Number[min2 % 10];
        BestScore[2].sprite = sec2 < 10 ? Number[0] : Number[sec2 / 10];
        BestScore[3].sprite = Number[sec2 % 10];
    }