Beispiel #1
0
    void ActivateVisualMove(Amazons.Player player, Amazons.Move move)
    {
        MovingActor = ((Amazon)player.Pawns[move.ID]).Pawn;
        Transform t = MovingActor.GetComponent <Transform>();

        MoveActor   = true;
        MoveTimer   = 0;
        StartingPos = t.position;
        EndPos      = GetVectorFromPoint(move.MoveTo);
    }
Beispiel #2
0
    bool ActivateAI(Amazons.Player player)
    {
        //Amazons.Move move = player.AI.YourTurn();
        //GameInstance.Board
        var OldPlayer = CurrentPlayer;

        CurrentPlayer = player;


        CallWithTimeout(ActivateCurrentPlayer, 10000);
        //ActivateCurrentPlayer();

        Amazons.Move move = CurrentMove;

        SetBoardPoint(player.Pawns[move.ID].Position, 0);   // Set old pos to empty

        if (!CheckLine(player.Pawns[move.ID].Position, move.MoveTo) ||
            !CheckLine(move.MoveTo, move.ShootTo) || move.MoveTo == move.ShootTo)
        {
            GameRunning = false;
            print("FAIL MOVE");
            EndScreen.SetActive(true);
            GameObject.Find("WinnerText").GetComponent <Text>().text = OldPlayer.AI.StudentName + " wins and " + player.AI.StudentName + " loses";
            return(false); // ACTIVE PLAYER LOSES
        }

        //player.Pawns[move.ID].Position = move.MoveTo;		// Set pawn pos to correct pos
        //SetBoardPoint(move.MoveTo, move.ID + player.ID);  // Set new pos to id
        //SetBoardPoint(move.ShootTo, -1);					// Set shoot pos to -1

        SetTile(player.Pawns[move.ID].Position, 0);         // Set previous location to 0
        player.Pawns[move.ID].Position = move.MoveTo;       // Set pawn pos to correct pos
        SetTile(move.MoveTo, player.ID + 1);                // Set new pos to id
        SetTile(move.ShootTo, -1);                          // Set shoot pos to -1

        // SET RED X
        Instantiate(RedXInst, GetVectorFromPoint(move.ShootTo) + new Vector3(0, -0.74f, 0), Quaternion.LookRotation(new Vector3(0, 1, 0)));
        Instantiate(SpearInst, GetVectorFromPoint(move.ShootTo) + new Vector3(0.09f, -0.38f, 0), Quaternion.identity);

        print("COMPLETE MOVE");
        ActivateVisualMove(player, move);
        return(true);
    }
Beispiel #3
0
 // TIMEOUT THREADING STUFF
 private void ActivateCurrentPlayer()
 {
     CurrentMove = CurrentPlayer.AI.YourTurn();
     print(CurrentPlayer.AI.StudentName + " | MOVE: " + CurrentMove.MoveTo.X + "," + CurrentMove.MoveTo.Y + " SHOOT: " + CurrentMove.ShootTo.X + "," + CurrentMove.ShootTo.Y);
 }
Beispiel #4
0
    // TIMEOUT THREADING STUFF

    private void ActivateCurrentPlayer()
    {
        CurrentMove = CurrentPlayer.AI.YourTurn();
        print(CurrentPlayer.AI.StudentName + " | MOVE: " + CurrentMove.MoveTo.X + "," + CurrentMove.MoveTo.Y + " SHOOT: " + CurrentMove.ShootTo.X + "," + CurrentMove.ShootTo.Y);
    }