public void ResetGame() { Player1 = new SnakePlayer(this); FoodMngr = new FoodManager(GameCanvas.Width, GameCanvas.Height); FoodMngr.AddRandomFood(10); score = 0; }
public bool CheckForCollision(int a_loop, SnakePlayer a_SnakePlayer) { for (int loop = 0; loop < m_SnakeList[a_loop].SnakeNodes.Count; loop++) { if (a_SnakePlayer.SnakeNodes.Count > 0) { if (a_SnakePlayer.SnakeNodes[0].CollisionCircle.Intersects(m_SnakeList[a_loop].SnakeNodes[loop].CollisionCircle)) { if (m_SnakeList[a_loop].SnakeNodes[loop].SegmentType == SegmentType.Body) { CollidedWith = m_SnakeList[a_loop]; CollisionType = Collision.HitSegment; } if (m_SnakeList[a_loop].SnakeNodes[loop].SegmentType == SegmentType.Head) { CollidedWith = m_SnakeList[a_loop]; CollisionType = Collision.HitHead; } if (m_SnakeList[a_loop].SnakeNodes[loop].SegmentType == SegmentType.Tail) { CollidedWith = m_SnakeList[a_loop]; CollisionType = Collision.HitTail; } return(true); } } } CollisionType = Collision.None; return(false); }
private bool CheckForWallCollision(SnakePlayer snakeX) { if (snakeX.IsIntersectingRect(new Rectangle(-100, 0, 100, GameCanvas.Height))) { return(true); } //snakeX.OnHitWall(Direction.left); if (snakeX.IsIntersectingRect(new Rectangle(0, -100, GameCanvas.Width, 100))) { return(true); } //snakeX.OnHitWall(Direction.up); if (snakeX.IsIntersectingRect(new Rectangle(GameCanvas.Width, 0, 100, GameCanvas.Height))) { return(true); } //snakeX.OnHitWall(Direction.right); if (snakeX.IsIntersectingRect(new Rectangle(0, GameCanvas.Height, GameCanvas.Width, 100))) { return(true); } //snakeX.OnHitWall(Direction.down); return(false); }
public void ResetGame() { FoodMngr = new FoodManager(GameCanvas.Width, GameCanvas.Height); FoodMngr.AddRandomFood(); Player1 = new SnakePlayer(GameCanvas.Size, FoodMngr); score = 0; Input.Clear(); }
public Snake() { InitializeComponent(); Application.AddMessageFilter(this); Player1 = new SnakePlayer(this); FoodMngr = new FoodManager(GameCanvas.Width, GameCanvas.Height); FoodMngr.AddRandomFood(10); ScoreTxtBox.Text = score.ToString(); }
public Snake() { InitializeComponent(); Application.AddMessageFilter(this); player = new SnakePlayer(this); foodManager = new FoodManager(GameCanvas.Width, GameCanvas.Height); foodManager.AddRandomFood(10); ScoreTxtBox.Text = score.ToString(); DifficultyChanged += SetTimer; }
public SnakeForm() { InitializeComponent(); Application.AddMessageFilter(this); this.FormClosed += (s, e) => Application.RemoveMessageFilter(this); Player1 = new SnakePlayer(this); FoodMngr = new FoodManager(GameCanvas.Width, GameCanvas.Height); FoodMngr.AddRandomFood(10); scoreText.Text = score.ToString(); }
public void ResetGame() { homeForm.Show(); homeForm.GameOver(); player = new SnakePlayer(this); foodManager = new FoodManager(GameCanvas.Width, GameCanvas.Height); foodManager.AddRandomFood(10); score = 0; }
public SnakeForm() { InitializeComponent(); Application.AddMessageFilter(this); this.FormClosed += (s, e) => Application.RemoveMessageFilter(this); Player1 = new SnakePlayer(this); FoodMngr = new FoodManager(GameCanvas.Width, GameCanvas.Height); FoodMngr.AddRandomFood(10); ScoreTxtBox.Text = score.ToString(); }
//shouldn't get out of range but easy fix by adding a range max limit private void setSkin(ComboBox sender, SnakePlayer sp) { if (sp != null) { int col = sender.SelectedIndex; string n = sender.Items[(col >= 0?col:0)].ToString(); Brush b = new SolidBrush(Color.FromName(n)); sp.SetColor(b); GameCanvas.Invalidate(); } }
private void SnakeSetup() { Player1 = new SnakePlayer(this, 80, 20, Direction.right); ScoreTxtBox.Text = Player1.GetScore().ToString(); setSkin(skin1comboBox, Player1); if (is2Player) { Player2 = new SnakePlayer(this, 20, 80, Direction.down); Score2TxtBox.Text = Player2.GetScore().ToString(); setSkin(skin2comboBox, Player2); } }
private string formatBoard(int playerDir, int enemyDir, Position2D playerPos, Position2D enemyPos, BoardState state) { SnakePlayer player = decodeSnakePlayer(playerPos, playerDir); SnakePlayer enemy = decodeSnakePlayer(enemyPos, enemyDir); SnakePlayer[] players = new SnakePlayer[] { player, enemy }; List <Position2D> blockedCoords = getCurrentBlockedCoords(playerPos, enemyPos); JSONObject jBoard = SnakeProtocolEncoder.compressBoard(blockedCoords, players); SnakeProtocolEncoder.addStateField(ref jBoard, state); return(jBoard.Print()); }
private bool CheckForFoodCollision(SnakePlayer snakeX) { bool hitFood = false; List <Rectangle> SnakeRects = snakeX.GetRects(); foreach (Rectangle rect in SnakeRects) { if (FoodMngr.IsIntersectingRect(rect, true)) { FoodMngr.AddRandomFood(); snakeX.AddBodySegments(1); snakeX.UpdateScore(1); hitFood = true; } } return(hitFood); }
public SnakeForm() { InitializeComponent(); Application.AddMessageFilter(this); this.FormClosed += (s, e) => Application.RemoveMessageFilter(this); Player1 = new SnakePlayer(this); FoodMngr = new FoodManager(GameCanvas.Width, GameCanvas.Height); FoodMngr.AddRandomFood(10); ScoreTxtBox.Text = score.ToString(); try { ArduinoInput = new ArduinoInput("COM5"); ArduinoInput.SerialPort.DataReceived += ProcessArduinoInput; } catch (Exception) { } }
public void ResetGame() { String name, display; if (score != 0) { GameTimer.Enabled = false; display = "Score : " + score.ToString(); name = Interaction.InputBox(display, "High Scores", "Name", -1, -1); String line = name + " " + score.ToString() + Environment.NewLine; System.IO.File.AppendAllText(@"C:\Project\Snake\Score.txt", line); GameTimer.Enabled = true; } Player1 = new SnakePlayer(this); FoodMngr = new FoodManager(GameCanvas.Width, GameCanvas.Height); FoodMngr.AddRandomFood(10); score = 0; }
public override void OnRegister() { main = Camera.main; view = GetComponent <SnakePlayer>(); playerControl = GetComponent <PlayerControl>(); towardsX = 0; towardsY = playerControl.step; view.showName.text = view.playerName; view.isFirstTile = true; // 创建瓦片 tileHorizontal = ScriptableObject.CreateInstance <Tile>(); tileVertical = ScriptableObject.CreateInstance <Tile>(); tileLU = ScriptableObject.CreateInstance <Tile>(); tileRU = ScriptableObject.CreateInstance <Tile>(); tileLD = ScriptableObject.CreateInstance <Tile>(); tileRD = ScriptableObject.CreateInstance <Tile>(); tileTr = ScriptableObject.CreateInstance <Tile>(); StartCoroutine(Init()); }
[HideInInspector] public int level; // 难度 protected void Start() { base.Start(); snakePlayer = GetComponent <SnakePlayer>(); drawMap = snakePlayer.tilemap; StartCoroutine(SpeedUp()); switch (level) { case 1: StartCoroutine(AiRunLevel_1()); break; case 2: StartCoroutine(AiRunLevel_2()); break; case 3: wallMap = drawMap.transform.parent.Find("wall").GetComponent <Tilemap>(); StartCoroutine(AiRunLevel_3()); break; } }
public SnakeField(Control main) : base(main) { Panel pan = new Panel(); pan.Location = new Point(0, 0); pan.Size = main.Size; this.AddControl(pan); snake = new SnakePlayer(this.Me, snakePanelSize); moveTimer.Interval = 50; foodSpawnTimer.Interval = 500; moveTimer.Start(); foodSpawnTimer.Start(); moveTimer.Tick += MoveTimer_Tick; foodSpawnTimer.Tick += FoodSpawnTimer_Tick; /*Panel panel = new Panel(); panel.BackColor = Color.Red; panel.Size = new Size(10, 10); panel.Location = new Point(20, 20); this.Controls.Add(panel); panels.Add(panel); panel = new Panel(); panel.BackColor = Color.Red; panel.Size = new Size(10, 10); panel.Location = new Point(20, 20); this.Controls.Add(panel); panels.Add(panel); timer1.Interval = 50; timer1.Start(); timer2.Interval = 50; timer2.Start();*/ }
public CollisionMachine(SnakePlayer a_SnakePlayer) { m_SnakePlayer = a_SnakePlayer; UpdateCollision(); }
public PlayerScore(SnakePlayer a_SnakePlayer) { m_SnakePlayer = a_SnakePlayer; ScoreManager.PlayerScores.Add(this); }
public bool CheckForCollision(int a_loop, SnakePlayer a_SnakePlayer) { for (int loop = 0; loop < m_SnakeList[a_loop].SnakeNodes.Count; loop++) { if(a_SnakePlayer.SnakeNodes.Count > 0) { if (a_SnakePlayer.SnakeNodes[0].CollisionCircle.Intersects(m_SnakeList[a_loop].SnakeNodes[loop].CollisionCircle)) { if (m_SnakeList[a_loop].SnakeNodes[loop].SegmentType == SegmentType.Body) { CollidedWith = m_SnakeList[a_loop]; CollisionType = Collision.HitSegment; } if (m_SnakeList[a_loop].SnakeNodes[loop].SegmentType == SegmentType.Head) { CollidedWith = m_SnakeList[a_loop]; CollisionType = Collision.HitHead; } if (m_SnakeList[a_loop].SnakeNodes[loop].SegmentType == SegmentType.Tail) { CollidedWith = m_SnakeList[a_loop]; CollisionType = Collision.HitTail; } return true; } } } CollisionType = Collision.None; return false; }
private void CreatePlayer() { players = new SnakePlayer[2]; p1.InstantiateAsync().Completed += handle => { if (!handle.IsDone) { return; } SnakePlayer player = handle.Result.GetComponent <SnakePlayer>(); // 初始数据 player.transform.position = GetStartPoint(); player.tilemap = drawMap; player.gameMode = gameMode; player.gameObject.SetActive(true); players[0] = player; }; switch (gameMode) { case GameMode.PvB: ai.InstantiateAsync().Completed += handle => { if (!handle.IsDone) { return; } SnakePlayer player = handle.Result.GetComponent <SnakePlayer>(); // 设置难度 PlayerAi playerAi = handle.Result.GetComponent <PlayerAi>(); playerAi.level = aiLevel; // 初始数据 player.transform.position = new Vector3(0.5f, 0.5f, 0); player.tilemap = drawMap; player.gameMode = gameMode; player.gameObject.SetActive(true); players[1] = player; }; break; case GameMode.PvP: p2.InstantiateAsync().Completed += handle => { if (!handle.IsDone) { return; } SnakePlayer player = handle.Result.GetComponent <SnakePlayer>(); // 初始数据 player.transform.position = GetStartPoint(); player.tilemap = drawMap; player.gameMode = gameMode; player.gameObject.SetActive(true); players[1] = player; }; break; default: throw new ArgumentOutOfRangeException(nameof(gameMode), gameMode, null); } }