private void initGame()
        {
            myLogic = new SnakeLogic();   // Инициализация логики

            Thread.CurrentThread.Priority = ThreadPriority.Highest;

            scoreLabel.SetResourceReference(DataContextProperty, "Score");
            score_t             = scoreLabel.Content.ToString();
            scoreLabel.Content += " : " + counterScore;
            speedLabel.SetResourceReference(DataContextProperty, "Speed");
            speed_t = speedLabel.Content.ToString();
            gameStatusLabel.SetResourceReference(DataContextProperty, "Status");
            status_t = gameStatusLabel.Content.ToString();

            // Начальное положение змейки:
            for (int i = 0; i < dots; i++)
            {
                x[i] = 192 - (i * DOT_SIZE);
                y[i] = 144;
            }

            timer       = new DispatcherTimer();
            timer.Tick += MainGameLoop;
            timer.Start();

            UpdateSpeed();
            myLogic.createApple(SIZE, DOT_SIZE, x, y);    // Генерация яблочка

            BackgroundMusic.Open(new Uri("../../Resources/MGS_Encounter.wav", UriKind.RelativeOrAbsolute));
            BackgroundMusic.Play();
        }
Example #2
0
        public FormSnake()
        {
            InitializeComponent();
            mySnakeLogic               = new SnakeLogic(20, 15);
            mySnakeLogic.SnakeMoved   += MySnakeLogic_SnakeMoved;                                                             ///przepisywanie metody obslugującej
            mySnakeLogic.SnakeGameEnd += MySnakeLogic_SnakeGameEnd;
            pictureBoxSnakeBoard.Image = new Bitmap(mySnakeLogic.Width * fieldSize + 1, mySnakeLogic.Height * fieldSize + 1); ///tworzenie bitmapu
            graphics = Graphics.FromImage(pictureBoxSnakeBoard.Image);

            RepaintBoard();
        }
Example #3
0
        public SnakeForm()
        {
            InitializeComponent();
            mySnakeLogic             = new SnakeLogic(20, 15);
            mySnakeLogic.SnakeMoved += MySnakeLogic_SnakeMoved;
            mySnakeLogic.GameEnded  += MySnakeLogic_GameEnded;

            pictureBoxSnakeBoard.Image = new Bitmap(mySnakeLogic.Width * fieldSize + 1,
                                                    mySnakeLogic.Height * fieldSize + 1);
            graphics = Graphics.FromImage(pictureBoxSnakeBoard.Image);

            RepaintBoard();
        }
Example #4
0
        public Form1()
        {
            InitializeComponent();

            // Größe auf die Client-Größe setzen
            logic = new SnakeLogic(this.ClientSize);
            logic.OnDesirePaint += (s, e) => {
                snakePanel.Invalidate();
            };

            snakePanel = new SnakePanel(logic)
            {
                // Panel ist so groß wie die Client-Größe (dockt an)
                Dock = DockStyle.Fill
            };

            Controls.Add(snakePanel);
        }
Example #5
0
        public SnakePanel(SnakeLogic logic) : base()
        {
            _snakeLogic = logic;

            (this as Control).KeyDown += OnKeyDown;
        }