示例#1
0
        static Player()
        {
            PlayerRed.Init();
            PlayerBlue.Init();

            Starter = Blue;
        }
 private void UpdateOpponentState(GomokuPlayer player, GameData data)
 {
     if (player == PlayerBlue)
     {
         PlayerRed.UpdateState(data);
     }
     if (player == PlayerRed)
     {
         PlayerBlue.UpdateState(data);
     }
 }
示例#3
0
    //---------------------------------------------
    //                 Tile type "dictionary"
    //---------------------------------------------

    private void addTile(int column, int row, int id)
    {
        Sprite newTile = null;

        switch (id)
        {
        case 1:
            newTile = new Wall();
            break;

        case 2:
            newTile = new Keys();
            break;

        case 3:
            newTile = new PlayerGreen();
            break;

        case 4:
            newTile = new PlayerRed();
            break;

        case 5:
            newTile = new PowerUp();
            break;

        case 6:
            newTile = new Exit();
            break;

        case 7:
            newTile = new Border();
            break;
        }

        if (newTile != null)
        {
            AddChild(newTile);
            newTile.x = column * tileSize;
            newTile.y = row * tileSize;
        }
    }
        public async Task RunAuto()
        {
            var data = Game.StartGame(Team.Blue);

            OnGameStarted?.Invoke(data);
            Console.WriteLine("Runner started an auto game!");

            while (Game.State != GameState.GameEnded)
            {
                Point move;
                if (Game.PlayerTurn == Team.Blue)
                {
                    move = PlayerBlue.ProposeMove(data);
                    PlayerRed.UpdateState(data);
                }
                else
                {
                    move = PlayerRed.ProposeMove(data);
                    PlayerBlue.UpdateState(data);
                }
                data = Game.TryMakeMove(Game.PlayerTurn, move);
                if (data.Code == ResponseCode.OK)
                {
                    await OnMoveCompleted?.Invoke(data);
                }
                if (Game.State == GameState.GameEnded)
                {
                    await OnMoveCompleted?.Invoke(data);

                    await OnGameEnded?.Invoke(data);

                    return;
                }
                await Task.Delay(500);
            }
            //if (data.Code == ResponseCode.Draw)
            //    Console.WriteLine("Draw!");
            //else
            //    Console.WriteLine("{0} Lost! (Point {1})", data.NextPlayer, data.Updated);
        }
示例#5
0
    public GameScreen(Hardware hardware) : base(hardware)
    {
        // preload text
        font28 = new Font("font/Joystix.ttf", 28);
        font36 = new Font("font/Joystix.ttf", 36);

        white     = new Sdl.SDL_Color(255, 255, 255);
        fontLives = SdlTtf.TTF_RenderText_Solid(font28.GetFontType(),
                                                lives.ToString(), white);

        // preload images
        imgFloor = new Image("imgs/Floor.png", 840, 680);
        imgFloor.MoveTo(0, 0);
        imgInfo = new Image("imgs/InfoPanel.png", 840, 75);
        imgInfo.MoveTo(0, 680);

        // preload level
        level = new Level("levels/level1.txt");

        playerWhite = new PlayerWhite();
        playerRed   = new PlayerRed();
    }
示例#6
0
    public GameScreen(Hardware hardware) : base(hardware)
    {
        // preload text
        font28 = new Font("font/Joystix.ttf", 28);
        font36 = new Font("font/Joystix.ttf", 36);
        white  = new Sdl.SDL_Color(255, 255, 255);

        // preload images
        imgFloor = new Image("imgs/Floor.png", 840, 680);
        imgFloor.MoveTo(0, 0);
        imgInfo = new Image("imgs/InfoPanel.png", 840, 75);
        imgInfo.MoveTo(0, 680);
        bomb1 = new Image("imgs/bomb1.png", 40, 40);
        bomb2 = new Image("imgs/bomb2.png", 40, 40);
        bomb3 = new Image("imgs/bomb3.png", 40, 40);

        playerWhite = new PlayerWhite();
        playerRed   = new PlayerRed();
        bomb        = new Bombs();
        audio       = new Audio(44100, 2, 4096);
        audio.AddMusic("music/BombermanNES.wav");
        controller = new ControllerScreen(hardware);
    }
 public bool CheckIfGameOver()
 {
     return(PlayerBlack.IsWin(GameBoard, GameBar) || PlayerRed.IsWin(GameBoard, GameBar) ? true : false);
 }