示例#1
0
    public void changeTurn()
    {
        //end of the 1st half condition:
        if (cycle_no == half_game_cycle_no)
        {
            changeGameHalf();
            return;
        }

        //end of the 2nd half condition:
        if (cycle_no == (2 * half_game_cycle_no))
        {
            gameHalf = GameHalf.finish;
            return;
        }

        //else:
        if (turn == Turn.team1)
        {
            turn = Turn.team2;
        }
        else
        {
            turn = Turn.team1;
        }

        for (int i = 0; i < allPlayers.Length; i++)
        {
            allPlayers[i].GetComponent <PlayerController>().activePlayer();
        }
    }
示例#2
0
    void Start()
    {
        gameHalf         = GameHalf.firstHalf;
        cycle_no         = 0;
        txt_cycleNo.text = "Cycle Number : " + "0";
        turn             = Turn.team1;
        shouldCheckState = false;
        for (int i = 0; i < allPlayers.Length; i++)
        {
            allPlayers[i].GetComponent <PlayerController>().activePlayer();
        }
        //crowed.clip = crowedClips[0];
        crowed.Play();

        if (MenuManager.refrence.gameMode == MenuManager.Mode.cvc)
        {
            //use this StreamWriter to create the game's log file
            game_log_sw = new StreamWriter("Game.log", false);
            //use this StreamWriter to create communication.log file
            com_log_sw = new StreamWriter("Communication.log", false);

            if (!start_server(9595))
            {
                return;
            }

            team1_sr = new StreamReader(team1_sock.GetStream());
            team2_sr = new StreamReader(team2_sock.GetStream());

            team1_sw = new StreamWriter(team1_sock.GetStream());
            team2_sw = new StreamWriter(team2_sock.GetStream());

            Team_init_cvc(team1_sr, out team1_name, playersTeam1);
            Team_init_cvc(team2_sr, out team2_name, playersTeam2);

            cvc_play_round();
        }

        else if (MenuManager.refrence.gameMode == MenuManager.Mode.log)
        {
            print("lets show this f*****g log!");

            //initial this StreamReader for reading game.log
            game_log_sr = new StreamReader("Game.log");
            test_sw     = new StreamWriter("test.log");

            team_init_log(out team1_name, playersTeam1, true);
            team_init_log(out team2_name, playersTeam2, false);
            log_play_round();
        }

        yellowTeamScore.text = "0";
        redTeamScore.text    = " 0";
        Team1Name.text       = team1_name;
        Team2Name.text       = team2_name;
    }
示例#3
0
 void changeGameHalf()
 {
     gameHalf = GameHalf.secHalf;
     turn     = Turn.team2;
     for (int i = 0; i < 10; i++)
     {
         startPos[i] = new Vector3(startPos[i].x * -1, startPos[i].y * -1);
         allPlayers[i].transform.position = startPos[i];
     }
     ball.transform.position = ballStartPos;
 }
示例#4
0
 void changeGameHalf()
 {
     gameHalf = GameHalf.secHalf;
     turn     = Turn.team2;
     for (int i = 0; i < 10; i++)
     {
         startPos[i] = new Vector3(startPos[i].x * -1, startPos[i].y * -1);
         allPlayers[i].transform.position = startPos[i];
     }
     ball.transform.position = ballStartPos;
     for (int i = 0; i < allPlayers.Length; i++)
     {
         allPlayers[i].GetComponent <PlayerController>().activePlayer();
     }
 }
示例#5
0
    public void changeGameHalf()
    {
        soot.Play();
        goalAnim.gameObject.SetActive(true);
        goalAnim.SetTrigger("half");
        new WaitForSeconds(1f);

        gameHalf          = GameHalf.secHalf;
        txt_gameHalf.text = "2nd half";
        turn = Turn.team2;
        for (int i = 0; i < 10; i++)
        {
            startPos[i] = new Vector3(startPos[i].x * -1, startPos[i].y * -1);
            allPlayers[i].transform.position = startPos[i];
        }
        ball.transform.position = ballStartPos;
        for (int i = 0; i < allPlayers.Length; i++)
        {
            allPlayers[i].GetComponent <PlayerController>().activePlayer();
        }
        soot.Play();
    }
示例#6
0
    public IEnumerator Goal(int index)
    {
        shouldCheckState = false;
        gameState        = GameState.goalHappend;
        crowed.Stop();
        GoalCrowed.Play();
        GoalVoice.Play();
        if ((index == 1 && gameHalf == GameHalf.firstHalf) || (index == 2 && gameHalf == GameHalf.secHalf))
        {
            team1Score++;
            //yellowTeamScore.text = team1_name + ": "+ team1Score.ToString();
            Team1Name.text       = team1_name;
            yellowTeamScore.text = team1Score.ToString();
            turn = Turn.team2;
        }
        else if ((index == 2 && gameHalf == GameHalf.firstHalf) || (index == 1 && gameHalf == GameHalf.secHalf))
        {
            team2Score++;
            //redTeamScore.text = team2_name + ": " + team2Score.ToString();
            Team2Name.text    = team2_name;
            redTeamScore.text = team2Score.ToString();
            turn = Turn.team1;
        }

        yield return(new WaitForSeconds(3f));

        if (cycle_no == half_game_cycle_no)
        {
            changeGameHalf();
        }
        else if (cycle_no == (2 * half_game_cycle_no))
        {
            gameHalf = GameHalf.finish;
        }

        for (int i = 0; i < 10; i++)
        {
            allPlayers[i].GetComponent <Rigidbody2D>().velocity = Vector3.zero;
            allPlayers[i].transform.position = startPos[i];
        }
        for (int i = 0; i < allPlayers.Length; i++)
        {
            allPlayers[i].GetComponent <PlayerController>().activePlayer();
        }
        ball.GetComponent <Rigidbody2D>().velocity = Vector2.zero;
        ball.transform.position = ballStartPos;
        goalHappen = false;
        GoalCrowed.Stop();
        GoalVoice.Stop();
        crowed.Play();
        soot.Play();
        gameState        = GameState.frozen;
        shouldCheckState = true;

        if (MenuManager.refrence.gameMode == MenuManager.Mode.cvc)
        {
            cvc_play_round();
        }
        else if (MenuManager.refrence.gameMode == MenuManager.Mode.log)
        {
            log_play_round();
        }
        else if (MenuManager.refrence.gameMode == MenuManager.Mode.pvp)
        {
            cycle_no++;
        }
    }
示例#7
0
    void Start()
    {
        team_no                   = 0;
        team1_connected           = false;
        team2_connected           = false;
        pvp_end_game_done         = false;
        cvc_end_game_done         = false;
        log_end_game_done         = false;
        pvc_end_game_done         = false;
        check_players_inside_goal = false;
        //players_inside_goal_list = new List<GameObject>();
        players_inside_goal1_list = new List <GameObject>();
        players_inside_goal2_list = new List <GameObject>();

        player_radius    = playersTeam1[0].GetComponent <PlayerController>().GetComponent <CircleCollider2D>().radius;
        gameHalf         = GameHalf.firstHalf;
        cycle_no         = 0;
        txt_cycleNo.text = "Cycle Number : " + "0";
        turn             = Turn.team1;
        shouldCheckState = false;
        for (int i = 0; i < allPlayers.Length; i++)
        {
            allPlayers[i].GetComponent <PlayerController>().activePlayer();
        }
        crowed.Play();

        if (MenuManager.refrence.gameMode == MenuManager.Mode.cvc)
        {
            //create template folder for screen shot pics.
            if (Directory.Exists("ScreenShots"))
            {
                Directory.Delete("ScreenShots", true); //remove pervious folder!
            }
            Directory.CreateDirectory("ScreenShots");

            //use this StreamWriter to create the game's log file
            try
            {
                game_log_sw = new StreamWriter(game_log_address, false);
            }
            catch (Exception ex)
            {
                error_panel.SetActive(true);
                error_text.text += ex.Message;
                return;
            }
            //use this StreamWriter to create game.com file
            com_log_sw = new StreamWriter(game_com_address, false);

            StartCoroutine(cvc_start_server(9595));
        }

        else if (MenuManager.refrence.gameMode == MenuManager.Mode.log)
        {
            //string path = EditorUtility.OpenFilePanel("Select game file!", "", "log");

            if (MenuManager.refrence.webserver_log_reader != null)
            {
                //print("daram ez too web mikhoonam!");
                game_log_sr = MenuManager.refrence.webserver_log_reader;
            }
            else
            {
                //initial this StreamReader for reading game.log
                try
                {
                    game_log_sr = new StreamReader(game_log_address);
                }
                catch (Exception ex)
                {
                    error_panel.SetActive(true);
                    error_text.text += ex.Message;
                    return;
                }
                //game_log_sr = new StreamReader(path);
                //test_sw = new StreamWriter("test.log");
            }

            team_init_log(out team1_name, playersTeam1, true);
            team_init_log(out team2_name, playersTeam2, false);
            log_play_round();
        }
        else if (MenuManager.refrence.gameMode == MenuManager.Mode.pvp)
        {
            cycle_no = 1;
            for (int i = 0; i < 10; i++)
            {
                startPos[i] = new Vector3(allPlayers[i].GetComponent <PlayerController>().transform.position.x, allPlayers[i].GetComponent <PlayerController>().transform.position.y);
            }
        }
        else if (MenuManager.refrence.gameMode == MenuManager.Mode.pvc)
        {
            //create template folder for screen shot pics.
            if (Directory.Exists("ScreenShots"))
            {
                Directory.Delete("ScreenShots", true); //remove pervious folder!
            }
            Directory.CreateDirectory("ScreenShots");

            try
            {
                //use this StreamWriter to create the game's log file
                game_log_sw = new StreamWriter(game_log_address, false);
                //use this StreamWriter to create game.com file
                com_log_sw = new StreamWriter(game_com_address, false);
            }
            catch (Exception ex)
            {
                error_panel.SetActive(true);
                error_text.text += ex.Message;
                return;
            }
            StartCoroutine(pvc_start_server(9595));
        }


        yellowTeamScore.text = "0";
        redTeamScore.text    = " 0";
        Team1Name.text       = team1_name;
        Team2Name.text       = team2_name;

        goalAnim.gameObject.SetActive(false);
    }