Exemplo n.º 1
0
        private void OnGameOver()
        {
            Game.Over();
            GameTimer.Enabled = false;

            TetrisSave test = new TetrisSave("---", Game.Score, DateTime.Now - Game.GameStarted);

            if (Saver.HighScores.CanAdd(test) || Saver.HighTimes.CanAdd(test))
            {
                Saver.Save(test);
            }
        }
Exemplo n.º 2
0
        readonly Device secDev;            //设备对象
        #endregion

        public MainForm()
        {
            //新建背景音乐线程,循环播放
            musicThread = new Thread(new ThreadStart(delegate { backgroundPlayer.PlayLooping(); }));

            //初始化TetrisGame对象
            tetrisGame = new TetrisGame
            {
                Score    = 0,
                GameOver = true
            };

            //加载存档
            Saver.Load();

            //初始化游戏区域,20×15
            gameField = new GameField(20, 15);

            //初始化“下一个”区域
            nextTetromino = new TetrisField(4, 4);
            //边界(指示器)颜色默认
            nextTetromino.BorderColor = nextTetromino.BackColor;

            //产生随机块
            Random rnd = new Random();

            for (int row = 0; row < gameField.TilesHeight; row++)
            {
                for (int col = 0; col < gameField.TilesWidth; col++)
                {
                    TileType t = (TileType)rnd.Next(0, 7);
                    gameField.SetCell(row, col, t);
                }
            }

            //注册游戏状态变化事件
            tetrisGame.StateChanged += new EventHandler(Game_StateChanged);

            InitializeComponent();

            //初始化声音设备,!当找不到声音设备时将报错!
            secDev = new Device();
            secDev.SetCooperativeLevel(this, CooperativeLevel.Normal);//设置设备协作级别

            //启动背景音乐播放线程
            musicThread.Start();
        }
Exemplo n.º 3
0
        public MainForm()
        {
            Game        = new TetrisGame();
            Game.Score  = 0; Game.GameOver = true;
            Game.Score2 = 0;

            Saver.Load();

            GF  = new GameField(18, 12);
            GF2 = new GameField(18, 12);/////

            Preview             = new TetrisField(4, 4);
            Preview.BorderColor = Preview.BackColor;

            Preview2             = new TetrisField(4, 4);
            Preview2.BorderColor = Preview2.BackColor;

            Random rnd = new Random();

            // Type splash
            for (int row = 0; row < GF.TilesHeight; row++)
            {
                for (int col = 0; col < GF.TilesWidth; col++)
                {
                    TileType t = (TileType)rnd.Next(0, 7);
                    GF.SetCell(row, col, t);
                }
            }

            //
            for (int row = 0; row < GF2.TilesHeight; row++)
            {
                for (int col = 0; col < GF2.TilesWidth; col++)
                {
                    TileType t = (TileType)rnd.Next(0, 7);
                    GF2.SetCell(row, col, t);
                }
            }
            //

            Game.StateChanged += new EventHandler(Game_StateChanged);
            Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
            InitializeComponent();
        }
Exemplo n.º 4
0
        private void OnGameOver()
        {
            Game.Over();
            GameTimer.Enabled = false;

            TetrisSave test = new TetrisSave("---", Game.Score, DateTime.Now - Game.GameStarted);

            if (Saver.HighScores.CanAdd(test) || Saver.HighTimes.CanAdd(test))
            {
                NRDialog = new NewRecordDialog();
                if (NRDialog.ShowDialog() == DialogResult.OK)
                {
                    test.UserName = NRDialog.UserName;
                    Saver.Save(test);

                    RForm = new RecordsForm(test);
                    if (RForm.ShowDialog() == DialogResult.OK)
                    {
                        NewGame();
                    }
                }
            }
        }