public InputViewModel(Camera camera, BoardViewModel boardViewModel, BoardView boardView, GameConfig.InputSettings inputSetting)
        {
            _shootInterval    = inputSetting.ShootInterval;
            _camera           = camera;
            _boardViewModel   = boardViewModel;
            _boardView        = boardView;
            _isAiming         = new ReactiveProperty <bool>().AddTo(Disposer);
            _aimPosition      = new ReactiveProperty <Vector2>().AddTo(Disposer);
            _trajectoryPoints = new ReactiveProperty <IReadOnlyList <Vector3> >(_linePositions);

            _hasValidTarget = new ReactiveProperty <bool>().AddTo(Disposer);
            _targetGridPos  = new ReactiveProperty <Vector2Int>().AddTo(Disposer);

            _shootSubject            = new Subject <Unit>().AddTo(Disposer);
            _canShootTimerDisposable = new SerialDisposable().AddTo(Disposer);

            Observable.EveryUpdate()
            .Subscribe(_ => UpdateInput()).AddTo(Disposer);

            AimPosition
            .SkipLatestValueOnSubscribe()
            .Subscribe(OnAimPositionChanged).AddTo(Disposer);

            IsAiming
            .SkipLatestValueOnSubscribe()
            .IfFalse()
            .Do(_ => Shoot())
            .DelayFrame(1)
            .Subscribe(_ => _hasValidTarget.Value = false).AddTo(Disposer);
        }
Exemple #2
0
        public BoardView GetBoard(int id)
        {
            var model = new BoardView();

            var board = dbContext.Boards
                        .Include(b => b.Columns) // Init Lazy Loading of related Table
                        .ThenInclude(c => c.Cards)
                        .SingleOrDefault(x => x.Id == id);

            model.Id    = board.Id;
            model.Title = board.Title;

            foreach (var item in board.Columns)
            {
                var modelColumn = new BoardView.Column();
                modelColumn.Title = item.Title;
                modelColumn.Id    = item.Id;

                foreach (var card in item.Cards)
                {
                    var modelCard = new BoardView.Card();
                    modelCard.Content = card.Contents;
                    modelCard.Id      = card.Id;
                    modelColumn.Cards.Add(modelCard);
                }

                model.Columns.Add(modelColumn);
            }

            return(model);
        }
        private void ButtonCreate_OnClick(object sender, RoutedEventArgs e)
        {
            if (ComboBoxIP.SelectedItem == null || TextBoxGameName.Text == "" || TextBoxPort.Text == "" ||
                TextBoxPseudo.Text == "")
            {
                _mainWindow.ShowMessageAsync("Paramètres incorrects", "Veuillez remplir tout les champs.");
                return;
            }
            Uri uri =
                new Uri("net.tcp://" + ComboBoxIP.SelectedItem + ":" + TextBoxPort.Text + "/" + TextBoxGameName.Text +
                        TextBoxPseudo.Text);
            WaitJoinWindow waitJoinWindow = new WaitJoinWindow(uri, GetComboBoxColor());

            if (waitJoinWindow.ShowDialog() == true)
            {
                GameFactory gameFactory = new GameFactory();
                BoardView   boardView   = new BoardView(_container);
                Core.Game   game        = gameFactory.CreateGame(Mode.Network, _container, boardView, GetComboBoxColor(), null);
                _mainWindow.MainControl.Content = new GameView(_mainWindow, game, boardView);
            }
            else
            {
                // Attention : pratique choquante
                try
                {
                    NetworkServiceHost.Close();
                }
                catch (Exception)
                {
                    ; //Rien à faire (technique de pro)
                }
                _mainWindow.ShowMessageAsync("Erreur réseau", "Il y a eu un problème lors de la connexion avec l'autre joueur... Vueillez réessayer.");
            }
        }
Exemple #4
0
    // ----------------------------------------------------------------
    //  Initialize
    // ----------------------------------------------------------------
    override public void Initialize(BoardView _myBoardView, BoardObject bo)
    {
        MyCrate = bo as Crate;
        base.Initialize(_myBoardView, bo);

        // Auto-move visuals!
        if (MyCrate.DoAutoMove)
        {
            i_body.color = new ColorHSB(0.5f, 0.3f, 1f).ToColor();
        }
        else
        {
            Destroy(i_autoMoveDir.gameObject);
            i_autoMoveDir = null;
        }

        // Add dimple images!
        for (int corner = 0; corner < Corners.NumCorners; corner++)
        {
            if (MyCrate.IsDimple[corner])
            {
                Image newImg = new GameObject().AddComponent <Image>();
                GameUtils.ParentAndReset(newImg.gameObject, rt_contents);
                GameUtils.FlushRectTransform(newImg.rectTransform);
                newImg.name   = "Dimple" + corner;
                newImg.sprite = s_dimple;
                newImg.transform.localEulerAngles = new Vector3(0, 0, -90 * corner);
            }
        }
    }
Exemple #5
0
 public void Init(PrefabController prefabController)
 {
     _prefabController      = prefabController;
     _view                  = _prefabController.GetObject <BoardView>(PrefabConstant.PathBoardView, Vector3.zero, Quaternion.identity, null);
     _view.OnBoardSelected += (boardcoord) => OnBoardSelected?.Invoke(boardcoord);
     SetChessmanOnBoard(BoardDataModel.CreateAsNormalGame());
 }
        public HistoryView(GameView gameView)
        {
            InitializeComponent();
            _game = gameView.Game;

            _gameView      = gameView;
            _realBoardView = gameView.UcBoardView.Content as BoardView;
            _conversation  = new HistoryViewConversation();

            foreach (ICompensableCommand command in _game.Container.Moves)
            {
                ICompensableCommand momand = command.Copy(_board);
                _conversation.Execute(momand);
                _moves.Add(momand);
            }

            _game.Container.Moves.CollectionChanged += (sender, args) =>
            {
                if (args.Action == NotifyCollectionChangedAction.Add)
                {
                    ICompensableCommand command = args.NewItems[args.NewItems.Count - 1] as ICompensableCommand;
                    command = command.Copy(_board);
                    _conversation.Execute(command);
                    _moves.Add(command);
                }
                if (args.Action == NotifyCollectionChangedAction.Remove)
                {
                    _moves.RemoveAt(_moves.Count - 1);
                    _conversation.Undo();
                }
            };

            _boardView = new BoardView(new Container(_board, _moves));
            ListViewHistory.ItemsSource = _moves;
        }
Exemple #7
0
        public void ResumeGame()
        {
            BoardView.UpdateView(BoardModel, _blocks);

            IsPaused = false;
            _pausePanel.SetActive(false);
        }
Exemple #8
0
        public void Display(BoardView board)
        {
            Console.Clear();
            Console.WriteLine("  a b c d e f g h ");
            for (int y = 7; y >= 0; y--)
            {
                Console.Write(y + 1 + " ");
                for (int x = 0; x < 8; x++)
                {
                    Point          point = new Point(x, y);
                    ImmutablePiece piece = board[point];

                    SetColor(point, piece);

                    if (board.IsEmpty(point))
                    {
                        Console.Write("  ");
                    }
                    else
                    {
                        Console.Write(board[point].Identifier + " ");
                    }
                }
                SetDefaultColor();
                Console.WriteLine();
            }
            Console.WriteLine();
        }
Exemple #9
0
        private void RemoveClearedLines(List <int> clearedLines)
        {
            List <int[]> listBlocks = new List <int[]>();

            for (int line = 0; line < BoardModel.NumLines; line++)
            {
                int[] columns = new int[BoardModel.NumColumns];
                for (int column = 0; column < BoardModel.NumColumns; column++)
                {
                    columns[column] = BoardModel.Blocks[line, column];
                }
                listBlocks.Add(columns);
            }

            int[] emptyLine = new int[BoardModel.NumColumns];

            for (int i = 0; i < clearedLines.Count; i++)
            {
                int clearedLine = clearedLines[i] + i;
                listBlocks.RemoveAt(clearedLine);
                listBlocks.Insert(0, emptyLine);
            }

            for (int line = 0; line < BoardModel.NumLines; line++)
            {
                for (int column = 0; column < BoardModel.NumColumns; column++)
                {
                    BoardModel.Blocks[line, column] = Mathf.Max(listBlocks[line][column], Utils.TetrominoUtils.NoPiece);
                }
            }

            BoardView.UpdateView(BoardModel, _blocks);
        }
Exemple #10
0
        private void DrawTetromino(ITetrominoModel tetromino)
        {
            // Draw normal tetromino
            for (int blockLine = 0; blockLine < tetromino.NumLines; blockLine++)
            {
                for (int blockColumn = 0; blockColumn < tetromino.NumColumns; blockColumn++)
                {
                    int blockType = tetromino.Blocks[blockLine, blockColumn];
                    if (blockType > Utils.TetrominoUtils.NoPiece)
                    {
                        // Converts the block line and column to board line and column
                        int boardLine   = tetromino.CurrentLine + blockLine;
                        int boardColumn = tetromino.CurrentColumn + blockColumn;

                        if (boardLine >= 0 && boardLine < BoardModel.NumLines && boardColumn >= 0 && boardColumn < BoardModel.NumColumns)
                        {
                            BoardModel.Blocks[boardLine, boardColumn] = blockType;
                        }
                    }
                }
            }

            // Update view after showing tetromino
            int endLine   = tetromino.CurrentLine + tetromino.NumLines;
            int endColumn = tetromino.CurrentColumn + tetromino.NumColumns;

            BoardView.UpdateView(BoardModel, tetromino.CurrentLine, tetromino.CurrentColumn, endLine, endColumn, _blocks);
        }
Exemple #11
0
        public BoardView GetBoardView(int id)
        {
            var modelBoard = new BoardView();

            var dbBoard = _dbContext.Boards
                          .Include(b => b.Columns)
                          .ThenInclude(c => c.Cards)
                          .SingleOrDefault(x => x.Id == id);

            modelBoard.Title = dbBoard.Title;
            modelBoard.Id    = dbBoard.Id;

            foreach (var dbColumn in dbBoard.Columns)
            {
                var modelColumn = new BoardView.Column()
                {
                    Id    = dbColumn.Id,
                    Title = dbColumn.Title
                };

                foreach (var dbCard in dbColumn.Cards)
                {
                    var modelCard = new BoardView.Card()
                    {
                        Id      = dbCard.Id,
                        Content = dbCard.Contents
                    };

                    modelColumn.Cards.Add(modelCard);
                }

                modelBoard.Columns.Add(modelColumn);
            }
            return(modelBoard);
        }
Exemple #12
0
        private void DrawGhostTetromino(ITetrominoModel ghostTetromino)
        {
            // Draw ghost tetromino
            for (int blockLine = 0; blockLine < ghostTetromino.NumLines; blockLine++)
            {
                for (int blockColumn = 0; blockColumn < ghostTetromino.NumColumns; blockColumn++)
                {
                    int blockType = ghostTetromino.Blocks[blockLine, blockColumn];
                    if (blockType > Utils.TetrominoUtils.NoPiece)
                    {
                        // Converts the block line and column to board line and column
                        int boardLine   = ghostTetromino.CurrentLine + blockLine;
                        int boardColumn = ghostTetromino.CurrentColumn + blockColumn;

                        if (boardLine >= 0 && boardLine < BoardModel.NumLines && boardColumn >= 0 && boardColumn < BoardModel.NumColumns)
                        {
                            BoardModel.Blocks[boardLine, boardColumn] = Utils.TetrominoUtils.GhostPiece;
                        }
                    }
                }
            }

            // Update view after showing tetromino
            int ghostEndLine   = ghostTetromino.CurrentLine + ghostTetromino.NumLines;
            int ghostEndColumn = ghostTetromino.CurrentColumn + ghostTetromino.NumColumns;

            BoardView.UpdateView(BoardModel, ghostTetromino.CurrentLine, ghostTetromino.CurrentColumn, ghostEndLine, ghostEndColumn, _blocks);
        }
Exemple #13
0
	public Game(BoardView boardView)
	{
		m_boardView = boardView;
		GameBoardBuilder builder = new GameBoardBuilder ();
		AddGameUnity (builder,Point.Make(0,4));

		m_logicBoard = builder.GetBoard ();

		m_currentSelection = m_logicBoard.Select (Point.Make(-1,-1));

		m_boardView.OnCellClicked.Register((x,y) =>{

			//TODO: Usar state pattern
			var point = Point.Make(x,y);
			Debug.Log(point);

			if(m_currentSelection.IsEmpty)
			{
				
				m_currentSelection = m_logicBoard.Select(point);
			}
			else
			{
				var visitor = new WalkVisitor(point);

				m_currentSelection.Commands.Visit(visitor);

				m_boardView.AddResult(visitor.Result);
				m_currentSelection = m_logicBoard.Select (Point.Make(-1,-1));
			}
		});

	}
 public void Undo(BoardView boardView)
 {
     if (Settlement != null)
     {
         GameObject.Destroy(Settlement.gameObject);
     }
 }
Exemple #15
0
        public BoardView GetBoard(int id)
        {
            var model = new BoardView();

            var board = context.Boards
                        .Include(b => b.Columns)
                        .ThenInclude(c => c.Cards)
                        .FirstOrDefault(x => x.Id == id);

            model.Id         = board.Id;
            model.BoardTitle = board.Title;

            foreach (var column in board.Columns)
            {
                var modelColumn = new BoardView.Column
                {
                    Title = column.Title
                };

                foreach (var card in column.Cards)
                {
                    var modelCard = new BoardView.Card
                    {
                        Id      = card.Id,
                        Content = card.Contents
                    };
                    modelColumn.Cards.Add(modelCard);
                }

                model.Columns.Add(modelColumn);
            }

            return(model);
        }
Exemple #16
0
        private void BoardView_AskForUndo(object sender, EventArgs e)
        {
            if (PlayerToMove.IsThinking)
            {
                return;
            }
            if (GamePosition.GameFinished)
            {
                return;
            }

            int HowManyHalfMoves = (PlayerWaiting is EnginePlayer) ? 2 : 1;

            for (int i = 0; i < HowManyHalfMoves; i++)
            {
                int?MoveToUndo = GamePosition.LastMove;
                if (MoveToUndo == null)
                {
                    //No moves handler
                    return;
                }
                GamePosition.UnMake();
                BoardView.UndoMove((int)MoveToUndo);
            }

            int WhiteMaterialAdvantage = CountMaterial();

            BoardView.SetMaterial(WhiteMaterialAdvantage, -WhiteMaterialAdvantage);
        }
Exemple #17
0
        public override bool CanMoveTo(Point to, BoardView board)
        {
            Point delta = to - _currentPoint;

            if (delta.x == 0)
            {
                if (IsLegalMove(delta) && board.IsEmpty(to))
                {
                    return(true);
                }
                else if (delta.y == (int)Team * 2 && board.IsEmpty(to) && !IsMoved)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }

            if (Math.Abs(delta.x) == 1 && IsLegalMove(delta))
            {
                if (board.IsOccupied(to) && IsEnemy(board[to]))
                {
                    return(true);
                }
            }

            return(false);
        }
Exemple #18
0
        private void BoardView_AskForFinish(object sender, Tuple <Square, Square> e)
        {
            //Game is finished
            if (GamePosition.Status != Position.GameResult.InProcess)
            {
                BoardView.CancelMove();
                MessageBox.Show("Error. Can't finish the move. Game is finished.");
            }

            int?Move = ConvertMove(e.Item1, e.Item2, GamePosition);

            if (Move is null)
            {
                BoardView.CancelMove();
            }
            else
            {
                if (PlayerToMove is HumanPlayer)
                {
                    PlayerToMove.MakeMove((int)Move);
                }
                else if (PlayerWaiting is HumanPlayer)
                {
                    PlayerWaiting.PreMoves.Push((int)Move);
                }
                else
                {
                    MessageBox.Show("Don't bother the comps! Let them play!");
                }
            }
        }
Exemple #19
0
    private void Awake()
    {
        //Singleton
        Instance = this;

        // load setup
        LoadSetup();

        // create board
        m_board = new Board(boardSize, players, winningCheck, maxLineWidth);

        m_boardView = GetComponent <BoardView>();

        // initialize view
        m_boardView.Initialize(this, boardSize);


        // initialize IA
        for (int i = 0; i < players.Count; i++)
        {
            if (players[i].playerType == PlayerType.AI_Easy ||
                players[i].playerType == PlayerType.AI_Medium ||
                players[i].playerType == PlayerType.AI_Hard)
            {
                AIManager ia = gameObject.AddComponent <AIManager>();
                ia.Initialize(this, players[i], minimaxType, maxMinimaxDepth);
            }
        }
    }
    private void MoveToNextBoard()
    {
        if (!nextPoint)
        {
            CallFinishMoveDelegate();
            return;
        }

        Vector2 startPosition   = boardManagerPosition + currentPoint.BoardPosition;
        Vector2 nextPosition    = boardManagerPosition + nextPoint.BoardPosition;
        Vector3 vectorDirection = nextPosition - startPosition;

        vectorDirection.Normalize();

        if (Vector2.Distance(transform.position, nextPosition) > stoppedDistance)
        {
            transform.position += vectorDirection * speed * Time.deltaTime;
        }
        else
        {
            numberOfMove += 1;
            currentPoint  = nextPoint;
            nextPoint     = NextBoardPosition();
        }
    }
Exemple #21
0
 public void Undo(BoardView boardView)
 {
     if (Road != null)
     {
         GameObject.Destroy(Road.gameObject);
     }
 }
Exemple #22
0
        public static void StartGame()
        {
            var player = SqlController.GetPlayer();
            var board  = new Board(player.Result);

            board.CreateBoard();
            SqlController.BoardUpdate(board).Wait();
            SqlController.NextTurn(board).Wait();
            while (true)
            {
                if (Conditions.GameEnd(board))
                {
                    return;
                }
                var currentPlayer = SqlController.GetPlayer();
                if (currentPlayer.Result == board.CurrentPlayer)
                {
                    break;
                }
                BoardView.WaitForNewPlayer(board);
            }
            Console.Clear();
            SqlController.BoardUpdate(board).Wait();
            if (!Conditions.GameEnd(board))
            {
                PlayerTurn(board);
            }
        }
        /// <summary>
        /// Creates a base player
        /// </summary>
        /// <param name="team">Team</param>
        /// <param name="isHuman">Is the player human</param>
        /// <param name="callback">Move found callback</param>
        protected Player(sbyte team, bool isHuman, BoardView boardView)
        {
            this.boardView = boardView;

            Team    = team;
            IsHuman = isHuman;
        }
Exemple #24
0
 public static void PlayerTurn(Board board)
 {
     while (!Conditions.GameEnd(board))
     {
         Console.Clear();
         SqlController.BoardUpdate(board).Wait();
         BoardView.StaticText(PlayerLetter(board));
         var input = Console.ReadLine();
         int.TryParse(input, out var result);
         if (string.IsNullOrWhiteSpace(input) || result == 0)
         {
             BoardView.GameError(board, 0);
             continue;
         }
         var inputToNumber = int.Parse(input);
         if (inputToNumber < 0 || inputToNumber > 9)
         {
             BoardView.GameError(board, 1);
             continue;
         }
         var panel = PlayerLetter(board);
         board.PlayerAction(inputToNumber - 1, panel == "X" ? Panel.X : panel == "O" ? Panel.O : Panel.Empty);
         SqlController.BoardSend(board, result, PlayerLetter(board));
         Console.Clear();
         SqlController.BoardUpdate(board).Wait();
         SqlController.NextTurn(board).Wait();
         break;
     }
     if (!Conditions.GameEnd(board))
     {
         OpponentTurn(board);
     }
 }
Exemple #25
0
    // create a new board, destroy old first
    void CreateBoard()
    {
        Debug.Assert(Model.InLevel);
        var level = Model.CurrentLevel;

        Util.Trace(1, "Create board '{0}' level {1} size {2}x{3}",
                   GameDef.GetSetting(OptionSetting.title, "unknown"), Model.CurrentLevelIndex, level.Length, level.Depth);
        var camera     = Camera.main;
        var camerasize = new Vector2(2 * camera.orthographicSize * camera.aspect, 2 * camera.orthographicSize);

        _screentoortho = 2 * camera.orthographicSize / camera.pixelHeight;

        // the size of the board including surroundings
        var boardsize = new Vector3(camerasize.x, camerasize.y) * BoardScale;
        // the rectangle of tiles in the level
        var levelsize = new Vector3Int(level.Width, level.Height, level.Depth);
        // the rectangle of tiles to be displayed
        var displaysize = (_modelinfo.ScreenSize == Vector2Int.zero) ? levelsize
      : Vector3Int.Min(levelsize, new Vector3Int(_modelinfo.ScreenSize.x, _modelinfo.ScreenSize.y, level.Depth));
        // the size of each tile in units
        var scale = Math.Min(boardsize.x / displaysize.x, boardsize.y / displaysize.y);

        _board     = Instantiate(BoardPrefab);
        _boardview = _board.GetComponent <BoardView>();
        _boardview.Setup(boardsize);
        _boardview.CreateTiles(displaysize, scale, level.Width, TilePrefab);
    }
Exemple #26
0
        public async Task <IActionResult> Detail(int id)
        {
            var board = await _boardService.GetBoardInfo(id);

            var model = new BoardView();

            model.Id    = board.Id;
            model.Title = board.Title;

            foreach (var column in board.Columns)
            {
                var modelColumn = new BoardView.Column
                {
                    Title = column.Title,
                    Id    = column.Id
                };

                foreach (var card in column.Cards)
                {
                    var modelCard = new BoardView.Card
                    {
                        Id    = card.Id,
                        Title = card.Title
                    };

                    modelColumn.Cards.Add(modelCard);
                }

                model.Columns.Add(modelColumn);
            }

            return(View(model));
        }
    // ----------------------------------------------------------------
    //  Initialize
    // ----------------------------------------------------------------
    public void Initialize(BoardView _boardView, BoardSpace mySpace)
    {
        this.myBoardView = _boardView;
        int col = mySpace.Col;
        int row = mySpace.Row;

        // Parent me to my boooard!
        GameUtils.ParentAndReset(this.gameObject, _boardView.tf_boardSpaces);
        this.gameObject.name = "BoardSpace_" + col + "," + row;

        // Size/position me right!
        float diameter = _boardView.UnitSize - 1;

        myRectTransform.anchoredPosition = new Vector2(_boardView.BoardToX(col), _boardView.BoardToY(row));
        myRectTransform.sizeDelta        = new Vector2(diameter, diameter);

        // Only show body if I'm playable.
        i_body.enabled = mySpace.IsPlayable;

        // Add walls!
        if (mySpace.IsWall(Sides.T))
        {
            AddWallImage(Sides.T);
        }
        if (mySpace.IsWall(Sides.L))
        {
            AddWallImage(Sides.L);
        }
    }
    private void TeleportToPoint()
    {
        int           index          = currentPoint.BoardModel.BoardNumber;
        TeleportModel teleportModel  = teleporter.Teleports.FindTeleportByTrigger(index);
        Vector2       playerPosition = transform.position;

        Vector2 startPosition   = boardManagerPosition + playerPosition;
        Vector2 nextPosition    = boardManagerPosition + teleportModel.BoardPoint.finalPoint.BoardPosition;
        Vector3 vectorDirection = nextPosition - startPosition;

        vectorDirection.Normalize();

        if (Vector2.Distance(transform.position, nextPosition) > stoppedDistance)
        {
            transform.position += vectorDirection * speed * Time.deltaTime;
        }
        else
        {
            currentPoint = teleportModel.BoardPoint.finalPoint;
            nextPoint    = NextBoardPosition();
            numberOfMove = 0;
            diceNumber   = 0;
            turnType     = TurnType.Wating;
            CallFinishMoveDelegate();
        }
    }
        public GameScene(int boardRows, int boardColumns, int gameTimeMilliseconds, SpriteFont font) : base(font)
        {
            _boardView = new BoardView(new BoardModel(boardRows, boardColumns), _boardPosition);
            _boardView.BoardModel.TileDeleted += OnTileDeleted;

            _timer          = new Timer(gameTimeMilliseconds);
            _timer.TimeOut += OnTimeOut;
        }
Exemple #30
0
        private void LocalGameButton_OnClick(object sender, RoutedEventArgs e)
        {
            var gameFactory = new GameFactory();
            var boardView   = new BoardView(_container);
            var game        = gameFactory.CreateGame(Mode.Local, _container, boardView, Color.White, null);

            _mainWindow.MainControl.Content = new GameView(_mainWindow, game, boardView);
        }
Exemple #31
0
        private void Engine_Click(object sender, RoutedEventArgs e)
        {
            var gameFactory = new GameFactory();
            var boardView   = new BoardView(new Container());
            var game        = gameFactory.CreateGame(Mode.Engine, new Container(), boardView, Color.White, null);

            _mainWindow.MainControl.Content = new GameView(_mainWindow, game, boardView);
        }
Exemple #32
0
        public GameController()
        {
            _game = Game.Current;

            _boardview = new BoardView();
            _gameview = new GameView();

            _inputController = new InputController();
        }
Exemple #33
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();
            gameView = new BoardView();
            gameView.Frame = new System.Drawing.RectangleF(0,0,960,640);
            scrollView = new UIScrollView();
            scrollView.AddSubview(gameView);
            scrollView.BackgroundColor = UIColor.DarkGray;
            scrollView.MaximumZoomScale = 1f;
            scrollView.MinimumZoomScale = .5f;
            scrollView.ViewForZoomingInScrollView = delegate{
                return gameView;
            };
            scrollView.ContentSize = gameView.Frame.Size;
            scrollView.SetZoomScale(.5f,false);
            BoardGame = new Game(gameView);

            this.View = scrollView;
            gameView.StartGame(new List<Card>{
                new Card{Value1 = "1",Value2 = "1"},
                new Card{Value1 = "2",Value2 = "2"},
                new Card{Value1 = "3",Value2 = "3"},
                new Card{Value1 = "4",Value2 = "4"},
                new Card{Value1 = "5",Value2 = "5"},
                new Card{Value1 = "6",Value2 = "6"},
                new Card{Value1 = "7",Value2 = "7"},
                new Card{Value1 = "8",Value2 = "8"},
                new Card{Value1 = "9",Value2 = "9"},
                new Card{Value1 = "10",Value2 = "10"},
                new Card{Value1 = "11",Value2 = "11"},
                new Card{Value1 = "12",Value2 = "12"},
                new Card{Value1 = "13",Value2 = "13"},
                new Card{Value1 = "14",Value2 = "14"},
                new Card{Value1 = "15",Value2 = "15"},
            });
        }
Exemple #34
0
 public Game(BoardView gameView)
 {
     GameView = gameView;
     CurrentGame = this;
 }
 private void Awake()
 {
     _boardView = GetComponent<BoardView>();
     _boardGridField = GetComponent<BoardGridField>();
     _pool = GetComponent<TrashMan>();
 }