private void Update(object sender, EventArgs e) { this.Text = string.Format("Snake - 점수: {0} {1}단계", score, stage); snake.Move(direction); if (timeCnt == 83) { player.controls.stop(); player.controls.play(); timeCnt = 0; } for (int i = 1; i < snake.Body.Length; i++) { if (snake.Body[0].IntersectsWith(snake.Body[i])) { Restart(); } } //if (snake.Body[0].X < 0 || snake.Body[0].X > 290) //Restart(); if (snake.Body[0].X <= 0) { snake.Body[0].X += 300; } if (snake.Body[0].X >= 300) { snake.Body[0].X -= 300; } //if (snake.Body[0].Y < 0 || snake.Body[0].Y > 190) //Restart(); if (snake.Body[0].Y <= 0) { snake.Body[0].Y += 200; } if (snake.Body[0].Y >= 200) { snake.Body[0].Y -= 200; } if (snake.Body[0].IntersectsWith(food.Piece)) { player1.controls.stop(); score += 1; snake.Grow(); player1.controls.play(); if (score % 5 != 0) { food.Generate(rand); sFood.Fix(); } else { food.Fix(); sFood.Generate(rand); } } if (snake.Body[0].IntersectsWith(sFood.Piece)) { player1.controls.stop(); score += 1; player1.controls.play(); if (stage < 6) { gameLoop.Interval -= 10; stage += 1; } else { gameLoop.Interval -= 1; stage += 1; } snake.Grow(); food.Generate(rand); sFood.Fix(); } this.Invalidate(); }