Пример #1
0
        /**
         * Initialisiert ein neues Spiel
         */
        public void InitGame()
        {
            App.getInstance().RootVisual.KeyDown += new KeyEventHandler(Page_KeyDown);
            App.getInstance().RootVisual.KeyUp += new KeyEventHandler(Page_KeyUp);

            Figure preview = boardModel.generateRandomFigure();
            Figure current = boardModel.generateRandomFigure();

            boardModel.setCurrentFigure(current);
            boardModel.setPreviewFigure(preview);

            boardModel.getCurrentFigure().newOnBoard();

            GameStart();
        }
Пример #2
0
        /**
         * Figur kann nicht weiter fallen,
         * entweder wird neue Figur erzeugt oder man ist Gameover
         */
        private void FigureIsFallen(Point[] previousPoints)
        {
            ghostPoints = null;
            board.writeCell(points, color);
            bool gameOver = false;

            /*Pruefen ob GameOver*/
            for (int i = 0; i < points.Length; i++)
            {
                if (points[i].Y < 0)
                {
                    gameOver = true;
                    App.getInstance().gameOver();
                }
            }
            if (!gameOver)
            {
                App.getInstance().NotifyFigureFallen(previousPoints, points, color);

                List <int> linesToRemove = getLinesToRemove();
                /*Hier werden die zu loeschenden Zeilen geloescht*/
                board.collapse(linesToRemove);

                /*Setzt Vorschaufigur als aktuelle Figur und generiert neue Vorschau*/
                board.setCurrentFigure(board.getPreviewFigure());
                board.setPreviewFigure(board.generateRandomFigure());
                board.getCurrentFigure().newOnBoard();
            }
        }