private Point SetLocationHead(FrmMain.laws law) { Point location = NextLocation(locationHead); switch (law) { case FrmMain.laws.Overfly: location = LowOverfly(location); break; case FrmMain.laws.CuttingSnake: location = LowCuttingSnake(location); location = LowOverfly(location); break; case FrmMain.laws.NoCuttingSnake: location = LowNoCuttingSnake(location); location = LowOverfly(location); break; case FrmMain.laws.ReturnOnSnake: location = LowReturnOnSnake(location); location = NextLocation(locationHead); break; } return(location); }
public void AddBody(FrmMain.laws law, bool wall = false) { _locationHead = SetLocationHead(law); if (wall) { LowWall(_locationHead); } if (frmMain.gameOver) { return; } PictureBox tail = new PictureBox(); tail.Size = size; tail.BackColor = Color.Gray; tail.Location = locationHead; if (body.Count != 0) { body[body.Count - 1].BackColor = color; } body.Add(tail); frmMain.Controls.Add(tail); }
public void MoveSnake(FrmMain.laws law, bool wall = false) { AddBody(law, wall); if (frmMain.gameOver) { return; } frmMain.Controls.Remove(body[0]); body.RemoveAt(0); if (body.Count != 0) { body[body.Count - 1].BackColor = Color.Gray; } }