Exemple #1
0
 public static Directory Spawn(Directory directory, PhotoClass PhotoClass, GameOutput GameOutput, Vector2 Position, Transform Parent)
 {
     directory.PhotoClass = PhotoClass;
     directory.GameOutput = GameOutput;
     directory.Text.text  = PhotoClass.ClassName;
     return(directory);
 }
Exemple #2
0
    private IEnumerator HandleGameResults(GameOutput output, GameInput input)
    {
        yield return(Connection.HandleOutput(output, input));

        exitButton.interactable = true;
        yield return(null);
    }
Exemple #3
0
        public ProtocolAction(Dictionary <ClientView, IView> views, Client client, ClientDataPackageProvider clientDataPackageProvider, GameOutput game)
        {
            _clientDataPackageProvider = clientDataPackageProvider;
            _clientDataProvider        = new ClientDataProvider();
            _client = client;
            _views  = views;
            _game   = game;
            #region ahhhhhhhhhhhhhhhh2
            _serverTableView       = views[ClientView.ServerTable] as IUpdateOutputView;
            _commandListOutputView = views[ClientView.CommandList] as IUpdateOutputView;
            _boardOutputView       = views[ClientView.Board] as IUpdateOutputView;
            _errorView             = views[ClientView.Error] as IErrorView;
            _gameInfoOutputView    = views[ClientView.GameInfo] as IUpdateOutputView;
            _turnInfoOutputView    = views[ClientView.TurnInfo] as IUpdateOutputView;
            _afterTurnOutputView   = views[ClientView.AfterTurnOutput] as IUpdateOutputView;
            _mainMenuOutputView    = views[ClientView.MenuOutput] as IUpdateOutputView;
            _lobbyInfoDisplayView  = views[ClientView.LobbyInfoDisplay] as IUpdateOutputView;
            _infoOutputView        = views[ClientView.InfoOutput] as IUpdateOutputView;
            _finishInfoView        = views[ClientView.FinishInfo] as IUpdateOutputView;
            _finishSkull1View      = views[ClientView.FinishSkull1] as IUpdateOutputView;
            _finishSkull3View      = views[ClientView.FinishSkull3] as IUpdateOutputView;
            _finishSkull2View      = views[ClientView.FinishSkull2] as IUpdateOutputView;
            _enterToRefreshView    = views[ClientView.EnterToRefresh] as IUpdateOutputView;
            #endregion

            _protocolActions = new Dictionary <ProtocolActionEnum, Action <DataPackage, ICommunication> >
            {
            };
            _outputWrapper = new OutputWrapper();
        }
Exemple #4
0
 private void Start()
 {
     text.text = output.Points.ToString();
     StartCoroutine(HandleGameResults(output, input));
     output = null;
     input  = null;
 }
    public Game(GameOutput gameIO)
    {
        playing = false;

        parser = new Parser(new CommandWords());
        player = new Player(createWorld(), gameIO);
    }
Exemple #6
0
 // Use this for initialization
 public void Start()
 {
     gameIO = new GameOutput(output);
     game   = new Game(gameIO);
     gameIO.clear();
     game.start();
     inputField.ActivateInputField();
 }
        public ClassicRules(GameOutput game, IConfigurationProvider configurationProvider)
        {
            _game = game;
            _configurationProvider = configurationProvider;

            _entityFactory = new Dictionary <EntityType, Func <XElement, IEntity> >
            {
                { EntityType.Eel, (config) => CreateEel(config) },
                { EntityType.Escalator, (config) => CreateEscalator(config) },
            };
        }
Exemple #8
0
 //<Constructors>
 public Client(ICommunication communication)
 {
     _game = new GameOutput();
     _clientDataPackageProvider = new ClientDataPackageProvider();
     _viewDictionary            = new ViewDictionary();
     _communication             = communication;
     _actionHandler             = new ProtocolAction(_viewDictionary._views, this, _clientDataPackageProvider, _game);
     _inputHandler  = new InputAction(_actionHandler, _viewDictionary._views, this, _clientDataPackageProvider);
     _outputWrapper = new OutputWrapper();
     _viewUpdater   = new ViewUpdater(_viewDictionary._views);
     _actionHandler._enterToRefreshView.ViewEnabled = true;
     _actionHandler._enterToRefreshView.SetUpdateContent("Press enter to refresh\nafter you typed a command.");
 }
Exemple #9
0
    private void Start()
    {
        if (input == null)
        {
            Loading.GoToScene();
        }
        playerName.text  = Connection.loginData.login;
        output           = new GameOutput(input);
        trash.GameOutput = output;

        Directory.Spawn(dir1, input.MainClass, output, class1Pos.position, gameObject.transform);
        Directory.Spawn(dir2, input.OtherClass, output, class2Pos.position, gameObject.transform);
    }
        private static string GetGameDescription(GameOutput output)
        {
            switch (Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName)
            {
            case "ru":
                return(output.DescriptionRu ?? output.Description);

            case "en":
                return(output.Description);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Exemple #11
0
    void Start()
    {
        turn = StartTurn;
        GaneLogic.instance.init_board(SetupGrid.instance.width, SetupGrid.instance.height);
        SetupGrid.instance.DrawBoard();
        GameOutput.LightColumn((int)SetupGrid.instance.width / 2);
        curr_colum = (int)SetupGrid.instance.width / 2;

        if (turn == 1)
        {
            text1.text = "Player Turn";
        }
        else
        {
            text1.text = "AI Turn";
        }
        text2.text       = "Moves: 0";
        text4_depth.text = "Starting depth*: " + Depth.ToString();
    }
        public IEnumerable <Warrior> GenerateWarriors(int numberOfWarriors)
        {
            GameOutput.Report($"Generating {numberOfWarriors} warriors!");

            for (var i = 0; i < numberOfWarriors; i++)
            {
                if (i == 1)
                {
                    yield return(new SuperWarrior());
                }
                else
                {
                    yield return(new BasicWarrior
                    {
                        Name = NameGenerator.GetRandomName()
                    });
                }
            }
        }
Exemple #13
0
    public static IEnumerator HandleOutput(GameOutput output, GameInput input)
    {
        if (output.Points > 100)
        {
            Debug.Log("Archivement \"Get 100 Points.\" Unlocked!");
        }

        var class1        = input.MainClass;
        var class2        = input.OtherClass;
        var mainSelected  = output.MainClassSelection.Distinct();
        var otherSelected = output.OtherClassSelection.Distinct();

        var main   = mainSelected.Except(otherSelected).Select(p => p.ID);
        var others = otherSelected.Except(mainSelected).Select(p => p.ID);

        yield return(SendCorrectPictures(main, others));

        Debug.Log(string.Format("Class {0} classified {1} photos", class1.ClassName, main.Count()));
        Debug.Log(string.Format("Class {0} classified {1} photos", class2.ClassName, others.Count()));
    }
Exemple #14
0
    private void gameControlInputHandler()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            if (CircleAdder.AddCircle(curr_colum))
            {
                updateTurn();
            }
        }

        if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
            curr_colum--;
            GameOutput.LightColumn(curr_colum);
        }
        else if (Input.GetKeyDown(KeyCode.RightArrow))
        {
            curr_colum++;
            GameOutput.LightColumn(curr_colum);
        }
    }
Exemple #15
0
    void Update()
    {
        if (run)
        {
            if (turn == 2)      // AI turn
            {
                Tuple <int, int> moveMadeByAI;

                if (movesNumber == 0)
                {
                    moveMadeByAI = Tuple.Create(0, SetupGrid.instance.width / 2);
                }
                else
                {
                    var MoveTimer = System.Diagnostics.Stopwatch.StartNew();
                    moveMadeByAI = AIScrpt.instance.AIMove(Depth, movesNumber, 2, 1);
                    MoveTimer.Stop();
                    var elapsed = MoveTimer.ElapsedMilliseconds / 1000.0;
                    text3_timer.text = "That move took:" + elapsed.ToString();
                }


                if (moveMadeByAI.Item1 != -1)
                {
                    GaneLogic.instance.SetBoardValue(moveMadeByAI.Item1, moveMadeByAI.Item2);
                    updateTurn();
                    GameOutput.ShowBoard(GaneLogic.instance.Board);
                    ShowWinner();
                }
            }
            else    //Player turn (or secound AI turn)
            {
                if (!AIvsAI)
                {
                    gameControlInputHandler();  //UpdateTurn inside input
                    GameOutput.ShowBoard(GaneLogic.instance.Board);
                    ShowWinner();
                }
                else
                {
                    Tuple <int, int> moveMadeByAI;

                    if (movesNumber == 0)
                    {
                        moveMadeByAI = Tuple.Create(0, SetupGrid.instance.width / 2);
                    }
                    else
                    {
                        var watch = System.Diagnostics.Stopwatch.StartNew();
                        moveMadeByAI = AIScrpt.instance.AIMove(Depth, movesNumber, 1, 2);
                        watch.Stop();
                        var elapsed = watch.ElapsedMilliseconds / 1000.0;
                        text3_timer.text = "That move took:" + elapsed.ToString();
                    }


                    if (moveMadeByAI.Item1 != -1)
                    {
                        GaneLogic.instance.SetBoardValue(moveMadeByAI.Item1, moveMadeByAI.Item2);
                        updateTurn();
                        GameOutput.ShowBoard(GaneLogic.instance.Board);
                        ShowWinner();
                    }
                }
            }
        }
        else
        {
            GameTimer.Stop();
            var elapsed = GameTimer.ElapsedMilliseconds / 1000.0;
            text4_round_timer.text = "Round time:" + elapsed.ToString();
        }

        /*
         * /// DEBUG ///EvalRowsColumnDiagnals(int[,] board, bool debug_print = false, int rewardFor3InRow = 2)
         * if (Input.GetKeyDown(KeyCode.L))
         * {
         *  //Debug.Log("wartosc 0 0");
         *  //Debug.Log(GaneLogic.instance.Board[0, 0]);
         *  AIScrpt.instance.EvalRowsColumnDiagnals(GaneLogic.instance.Board, true);
         * }
         */
    }
 public Player(Room room, GameOutput output)
 {
     _currentRoom = room;
     _io          = output;
 }
 public ClassicRules(GameOutput game)
     : this(game, new ConfigurationProvider())
 {
 }
Exemple #18
0
 public GamePlayerShould()
 {
     _gameInput  = new GameInput();
     _gameOutput = new GameOutput();
     _gamePlayer = new GamePlayer(_gameInput, _gameOutput);
 }
Exemple #19
0
 public static void GoToScene(GameOutput output, GameInput input)
 {
     Summary.output = output;
     Summary.input  = input;
     SceneManager.LoadScene("Summary");
 }