Я новичок в C # и пытаюсь научиться программировать с учетом ООП. Я на 100% уверен, что код вообще не дружелюбен к ООП, но игра запущена и работает, поэтому, если кто-нибудь может взглянуть, бросить код и дать мне отзыв о том, как его улучшить, это было бы полезно.
Игра представляет собой простую игру-змейку с возможностью трех игроков. Я сделал часть для двух игроков, но код кажется уродливым и беспорядочным, поэтому я не хотел ничего добавлять в мусор, и я полностью в порядке, если мне придется переделывать все, что я делаю, чтобы все равно выучить
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace snakeGame3players
{
public partial class Form1 : Form
{
private readonly List<Square> SnakeBoddy = new List<Square>();
private readonly List<Square> SnakeBoddy2 = new List<Square>();
private readonly List<Square> SnakeFoods1 = new List<Square>();
private readonly List<Square> SnakeFoods2 = new List<Square>();
private readonly List<Square> SnakeFoods3 = new List<Square>();
private readonly List<Square> SnakeFoods4 = new List<Square>();
System.Windows.Forms.Timer eventTimer = new System.Windows.Forms.Timer();
System.Windows.Forms.Timer foodTimer = new System.Windows.Forms.Timer();
System.Windows.Forms.Timer foodTimer2 = new System.Windows.Forms.Timer();
System.Windows.Forms.Timer foodTimer3 = new System.Windows.Forms.Timer();
System.Windows.Forms.Timer foodTimer4 = new System.Windows.Forms.Timer();
Random random = new Random();
bool exitFlag = false;
public Form1()
{
InitializeComponent();
choice1.Appearance = System.Windows.Forms.Appearance.Button;
choice2.Appearance = System.Windows.Forms.Appearance.Button;
choice3.Appearance = System.Windows.Forms.Appearance.Button;
choice1.Size = new Size(154, 56);
choice2.Size = new Size(154, 56);
choice3.Size = new Size(154, 56);
new Player1setting();
new Player2setting();
new FoodSetting();
GameTimer.Interval = 100;
this.KeyPreview = true;
GameTimer.Tick += UpdateScreen;
GameTimer.Start();
label3.Visible = false;
label2.Visible = false;
}
private void UpdateScreen(object sender, EventArgs e)
{
if (label1.Visible == true)
{
if (KeyInput.KeyInputs(Keys.Q))
{
Application.Restart();
Environment.Exit(0);
}
}
if (choice2.Checked && Player1setting.Gameover ==false)
{
if (KeyInput.KeyInputs(Keys.Right) && Player1setting.Movment != SnakeMovment.Left)
{
Player1setting.Movment = SnakeMovment.Right;
}
else if (KeyInput.KeyInputs(Keys.Left) && Player1setting.Movment != SnakeMovment.Right)
{
Player1setting.Movment = SnakeMovment.Left;
}
else if (KeyInput.KeyInputs(Keys.Up) && Player1setting.Movment != SnakeMovment.Down)
{
Player1setting.Movment = SnakeMovment.Up;
}
else if (KeyInput.KeyInputs(Keys.Down) && Player1setting.Movment != SnakeMovment.Up)
{
Player1setting.Movment = SnakeMovment.Down;
}
PlayerMovment();
}
pictureBox1.Invalidate();
if (choice1.Checked && Player2setting.Gameover2 == false)
{
if (KeyInput.KeyInputs(Keys.D) && Player2setting.Movment2 != SnakeMovment2.A)
{
Player2setting.Movment2 = SnakeMovment2.D;
}
else if (KeyInput.KeyInputs(Keys.A) && Player2setting.Movment2 != SnakeMovment2.D)
{
Player2setting.Movment2 = SnakeMovment2.A;
}
else if (KeyInput.KeyInputs(Keys.W) && Player2setting.Movment2 != SnakeMovment2.S)
{
Player2setting.Movment2 = SnakeMovment2.W;
}
else if (KeyInput.KeyInputs(Keys.S) && Player2setting.Movment2 != SnakeMovment2.W)
{
Player2setting.Movment2 = SnakeMovment2.S;
}
PlayerMovment2();
}
pictureBox1.Invalidate();
}
private void PlayerMovment()
{
if (choice2.Checked) {
for (int i = SnakeBoddy.Count - 1; i >= 0; i--)
{
if (i == 0)
{
switch (Player1setting.Movment)
{
case SnakeMovment.Right:
SnakeBoddy[i].X++;
break;
case SnakeMovment.Left:
SnakeBoddy[i].X--;
break;
case SnakeMovment.Up:
SnakeBoddy[i].Y--;
break;
case SnakeMovment.Down:
SnakeBoddy[i].Y++;
break;
}
int maxXPosition = pictureBox1.Size.Width / Player1setting.Width;
int maxYPosition = pictureBox1.Size.Height / Player1setting.Height;
if (
SnakeBoddy[i].X < 0 || SnakeBoddy[i].Y < 0 ||
SnakeBoddy[i].X > maxXPosition || SnakeBoddy[i].Y >= maxYPosition
)
{
Die();
}
for (int J = 1; J < SnakeBoddy.Count; J++)
{
if (SnakeBoddy[i].X == SnakeBoddy[J].X && SnakeBoddy[i].Y == SnakeBoddy[J].Y)
{
Die();
}
}
for (int g = 0; g < SnakeBoddy2.Count; g++)
{
if (SnakeBoddy[0].X == SnakeBoddy2[g].X && SnakeBoddy[0].Y == SnakeBoddy2[g].Y)
{
Player1setting.GameScore += FoodSetting.food2;
label3.Text = Player1setting.GameScore.ToString();
Die();
}
}
if (SnakeFoods1.Any(s => s.X == SnakeBoddy[0].X && s.Y == SnakeBoddy[0].Y))
{
EatFood();
}
if (SnakeFoods2.Any(s => s.X == SnakeBoddy[0].X && s.Y == SnakeBoddy[0].Y))
{
EatFood2();
}
if (SnakeFoods3.Any(s => s.X == SnakeBoddy[0].X && s.Y == SnakeBoddy[0].Y))
{
EatFood3();
}
if (SnakeFoods4.Any(s => s.X == SnakeBoddy[0].X && s.Y == SnakeBoddy[0].Y))
{
EatFood4();
}
}
else
{
SnakeBoddy[i].X = SnakeBoddy[i - 1].X;
SnakeBoddy[i].Y = SnakeBoddy[i - 1].Y;
}
}
}
}
private void PlayerMovment2()
{
if (choice1.Checked)
{
for (int x = SnakeBoddy2.Count - 1; x >= 0; x--)
{
if (x == 0)
{
switch (Player2setting.Movment2)
{
case SnakeMovment2.D:
SnakeBoddy2[x].X++;
break;
case SnakeMovment2.A:
SnakeBoddy2[x].X--;
break;
case SnakeMovment2.W:
SnakeBoddy2[x].Y--;
break;
case SnakeMovment2.S:
SnakeBoddy2[x].Y++;
break;
}
int maxXPosition2 = pictureBox1.Size.Width / Player2setting.Width2;
int maxYPosition2 = pictureBox1.Size.Height / Player2setting.Height2;
if (
SnakeBoddy2[x].X < 0 || SnakeBoddy2[x].Y < 0 ||
SnakeBoddy2[x].X > maxXPosition2 || SnakeBoddy2[x].Y >= maxYPosition2
)
{
Die2();
}
for (int h = 1; h < SnakeBoddy2.Count; h++)
{
if (SnakeBoddy2[x].X == SnakeBoddy2[h].X && SnakeBoddy2[x].Y == SnakeBoddy2[h].Y)
{
Die2();
}
}
for (int g = 0; g < SnakeBoddy.Count; g++)
{
if (SnakeBoddy2[0].X == SnakeBoddy[g].X && SnakeBoddy2[0].Y == SnakeBoddy[g].Y)
{
Player1setting.GameScore += FoodSetting.food2;
label2.Text = Player1setting.GameScore.ToString();
Die2();
}
}
if (SnakeFoods1.Any(s => s.X == SnakeBoddy2[0].X && s.Y == SnakeBoddy2[0].Y))
{
EatFood();
}
if (SnakeFoods2.Any(s => s.X == SnakeBoddy2[0].X && s.Y == SnakeBoddy2[0].Y))
{
EatFood2();
}
if (SnakeFoods3.Any(s => s.X == SnakeBoddy2[0].X && s.Y == SnakeBoddy2[0].Y))
{
EatFood3();
}
if (SnakeFoods4.Any(s => s.X == SnakeBoddy2[0].X && s.Y == SnakeBoddy2[0].Y))
{
EatFood4();
}
}
else
{
SnakeBoddy2[x].X = SnakeBoddy2[x - 1].X;
SnakeBoddy2[x].Y = SnakeBoddy2[x - 1].Y;
}
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void Keyisup(object sender, KeyEventArgs e)
{
KeyInput.SnakeDirections(e.KeyCode, false);
}
private void Keyisdown(object sender, KeyEventArgs e)
{
KeyInput.SnakeDirections(e.KeyCode, true);
}
private void UpdateGame(object sender, PaintEventArgs e)
{
Graphics canvas = e.Graphics;
if (label1.Visible==false && Information.Visible==false)
{
foreach (Square SnakeFood in SnakeFoods1) {
canvas.FillRectangle(Brushes.Red,
new Rectangle(
SnakeFood.X * Player2setting.Width2,
SnakeFood.Y * Player2setting.Width2,
Player2setting.Width2, Player2setting.Height2
));
}
foreach (Square SnakeFoods2 in SnakeFoods2) {
canvas.FillRectangle(Brushes.Orange,
new Rectangle(
SnakeFoods2.X * Player1setting.Width,
SnakeFoods2.Y * Player1setting.Width,
Player1setting.Width, Player1setting.Height
));
}
foreach (Square SnakeFoods3 in SnakeFoods3) {
canvas.FillRectangle(Brushes.Purple,
new Rectangle(
SnakeFoods3.X * Player1setting.Width,
SnakeFoods3.Y * Player1setting.Width,
Player1setting.Width, Player1setting.Height
));
}
foreach (Square SnakeFoods4 in SnakeFoods4) {
canvas.FillRectangle(Brushes.Green,
new Rectangle(
SnakeFoods4.X * Player1setting.Width,
SnakeFoods4.Y * Player1setting.Width,
Player1setting.Width, Player1setting.Height
));
}
}
if (choice2.Checked)
{
if (Player1setting.Gameover == false)
{
Brush SnakeBoddyColor;
for (int i = 0; i < SnakeBoddy.Count; i++)
{
if (i == 0)
{
SnakeBoddyColor = Brushes.Black;
canvas.FillRectangle(SnakeBoddyColor,
new Rectangle(
SnakeBoddy[i].X * Player1setting.Width,
SnakeBoddy[i].Y * Player1setting.Width,
Player1setting.Width, Player1setting.Height
));
}
else
{
SnakeBoddyColor = Brushes.Red;
canvas.FillRectangle(SnakeBoddyColor,
new Rectangle(
SnakeBoddy[i].X * Player1setting.Width,
SnakeBoddy[i].Y * Player1setting.Width,
Player1setting.Width, Player1setting.Height
));
}
}
}
}
if (choice1.Checked)
{
if (Player2setting.Gameover2 == false)
{
Brush SnakeBoddyColor2;
for (int x = 0; x < SnakeBoddy2.Count; x++)
{
if (x == 0)
{
SnakeBoddyColor2 = Brushes.Black;
canvas.FillRectangle(SnakeBoddyColor2,
new Rectangle(
SnakeBoddy2[x].X * Player2setting.Width2,
SnakeBoddy2[x].Y * Player2setting.Width2,
Player2setting.Width2, Player2setting.Height2
));
}
else
{
SnakeBoddyColor2 = Brushes.Blue;
canvas.FillRectangle(SnakeBoddyColor2,
new Rectangle(
SnakeBoddy2[x].X * Player2setting.Width2,
SnakeBoddy2[x].Y * Player2setting.Width2,
Player2setting.Width2, Player2setting.Height2
));
}
}
}
}
if (Player2setting.GameScore2 > Player1setting.GameScore && Player2setting.Gameover2 == true)
{
string gameEnd = "Player 1 n" + "With the score of " + Player2setting.GameScore2 + "nPress Q to play again n";
label1.Text = gameEnd;
label3.Visible = false;
label2.Visible = false;
label1.Visible = true;
}
if (Player2setting.GameScore2 < Player1setting.GameScore && Player1setting.Gameover == true)
{
string gameEnd = "Player 2 n" + "With the score of " + Player1setting.GameScore + "nPress Q to play againn";
label1.Text = gameEnd;
label3.Visible = false;
label2.Visible = false;
label1.Visible = true;
}
if (Player2setting.GameScore2 == Player1setting.GameScore && Player1setting.Gameover == true && Player2setting.Gameover2 == true)
{
string gameEnd = "Draw nPress Q to play againn";
label1.Text = gameEnd;
label3.Visible = false;
label2.Visible = false;
label1.Visible = true;
}
}
private void StartGame()
{
pictureBox1.Visible = false;
Information.Visible = false;
Player1Information.Visible = false;
Player2Information.Visible = false;
Player3Information.Visible = false;
choice1.Visible = false;
choice2.Visible = false;
choice3.Visible = false;
GameStart.Visible = false;
pictureBox3.Visible = false;
pictureBox1.Visible = true;
label1.Visible = false;
new FoodSetting();
new Player1setting();
new Player2setting();
if (choice2.Checked)
{
label2.Visible = true;
SnakeBoddy.Clear();
Square SneakHead = new Square { X = 35, Y = 5 };
SnakeBoddy.Add(SneakHead);
if (choice2.Checked && !choice1.Checked)
{
Square SneakHead2 = new Square { X = 35, Y = 5 };
Player2setting.GameScore2 = -1;
SnakeBoddy2.Add(SneakHead2);
}
}
if (choice1.Checked)
{
label3.Visible = true;
SnakeBoddy2.Clear();
Square SneakHead2 = new Square { X = 10, Y = 5 };
SnakeBoddy2.Add(SneakHead2);
if (choice1.Checked && !choice2.Checked)
{
Square SneakHead = new Square { X = 10, Y = 5 };
Player1setting.GameScore = -1;
SnakeBoddy.Add(SneakHead);
}
}
label2.Text = Player1setting.GameScore.ToString();
label3.Text = Player2setting.GameScore2.ToString();
FoodEvent();
}
private void GenerateSnakeFood()
{
Square newFood = GenerateRandomFood();
while (SnakeFoods1.Any(snakeFood => snakeFood.X == newFood.X && snakeFood.Y == newFood.Y))
{
newFood = GenerateRandomFood();
}
SnakeFoods1.Add(newFood);
}
private void GenerateSnakeFood2()
{
Square newFood = GenerateRandomFood();
while (SnakeFoods2.Any(snakeFood => snakeFood.X == newFood.X && snakeFood.Y == newFood.Y))
{
newFood = GenerateRandomFood();
}
SnakeFoods2.Add(newFood);
}
private void GenerateSnakeFood3()
{
Square newFood = GenerateRandomFood();
while (SnakeFoods3.Any(snakeFood => snakeFood.X == newFood.X && snakeFood.Y == newFood.Y))
{
newFood = GenerateRandomFood();
}
SnakeFoods3.Add(newFood);
}
private void GenerateSnakeFood4()
{
Square newFood = GenerateRandomFood();
while (SnakeFoods4.Any(snakeFood => snakeFood.X == newFood.X && snakeFood.Y == newFood.Y))
{
newFood = GenerateRandomFood();
}
SnakeFoods4.Add(newFood);
}
private Square GenerateRandomFood()
{
int maxXPosition = pictureBox1.Size.Width / Player1setting.Width;
int maxYPosition = pictureBox1.Size.Height / Player1setting.Height;
return new Square { X = random.Next(0, maxXPosition), Y = random.Next(0, maxYPosition) };
}
private void EatFood()
{
if (SnakeFoods1.Any(s => s.X == SnakeBoddy[0].X && s.Y == SnakeBoddy[0].Y))
{
Square foodBody = new Square
{
X = SnakeBoddy[SnakeBoddy.Count - 1].X,
Y = SnakeBoddy[SnakeBoddy.Count - 1].Y
};
SnakeBoddy.Add(foodBody);
Player1setting.GameScore += FoodSetting.food1;
label2.Text = Player1setting.GameScore.ToString();
var snakePosition = SnakeBoddy[0];
SnakeFoods1.RemoveAll(s => s.X == snakePosition.X && s.Y == snakePosition.Y);
}
if (SnakeFoods1.Any(s => s.X == SnakeBoddy2[0].X && s.Y == SnakeBoddy2[0].Y))
{
Square foodBody2 = new Square
{
X = SnakeBoddy2[SnakeBoddy2.Count - 1].X,
Y = SnakeBoddy2[SnakeBoddy2.Count - 1].Y
};
SnakeBoddy2.Add(foodBody2);
Player2setting.GameScore2 += FoodSetting.food1;
label3.Text = Player2setting.GameScore2.ToString();
var snakePosition = SnakeBoddy2[0];
SnakeFoods1.RemoveAll(s => s.X == snakePosition.X && s.Y == snakePosition.Y);
}
}
private void EatFood2()
{
if (SnakeFoods2.Any(s => s.X == SnakeBoddy[0].X && s.Y == SnakeBoddy[0].Y))
{
Square foodBody3 = new Square
{
X = SnakeBoddy[SnakeBoddy.Count - 1].X,
Y = SnakeBoddy[SnakeBoddy.Count - 1].Y
};
SnakeBoddy.Add(foodBody3);
Square foodBody35 = new Square
{
X = SnakeBoddy[SnakeBoddy.Count - 1].X,
Y = SnakeBoddy[SnakeBoddy.Count - 1].Y
};
SnakeBoddy.Add(foodBody35);
Player1setting.GameScore += FoodSetting.food2;
label2.Text = Player1setting.GameScore.ToString();
var snakePosition = SnakeBoddy[0];
SnakeFoods2.RemoveAll(s => s.X == snakePosition.X && s.Y == snakePosition.Y);
}
if (SnakeFoods2.Any(s => s.X == SnakeBoddy2[0].X && s.Y == SnakeBoddy2[0].Y))
{
Square foodBody4 = new Square
{
X = SnakeBoddy2[SnakeBoddy2.Count - 1].X,
Y = SnakeBoddy2[SnakeBoddy2.Count - 1].Y
};
SnakeBoddy2.Add(foodBody4);
Square foodBody45 = new Square
{
X = SnakeBoddy2[SnakeBoddy2.Count - 1].X,
Y = SnakeBoddy2[SnakeBoddy2.Count - 1].Y
};
SnakeBoddy2.Add(foodBody45);
Player2setting.GameScore2 += FoodSetting.food2;
label3.Text = Player2setting.GameScore2.ToString();
var snakePosition = SnakeBoddy2[0];
SnakeFoods2.RemoveAll(s => s.X == snakePosition.X && s.Y == snakePosition.Y);
}
}
private void EatFood3()
{
if (SnakeFoods3.Any(s => s.X == SnakeBoddy[0].X && s.Y == SnakeBoddy[0].Y))
{
if (SnakeBoddy.Count > 1)
{
SnakeBoddy.RemoveAt(SnakeBoddy.Count - 1);
}
Player1setting.GameScore += FoodSetting.food3;
label2.Text = Player1setting.GameScore.ToString();
var snakePosition = SnakeBoddy[0];
SnakeFoods3.RemoveAll(s => s.X == snakePosition.X && s.Y == snakePosition.Y);
}
if (SnakeFoods3.Any(s => s.X == SnakeBoddy2[0].X && s.Y == SnakeBoddy2[0].Y))
{
if (SnakeBoddy2.Count > 1)
{
SnakeBoddy2.RemoveAt(SnakeBoddy2.Count - 1);
}
Player2setting.GameScore2 += FoodSetting.food3;
label3.Text = Player2setting.GameScore2.ToString();
var snakePosition = SnakeBoddy2[0];
SnakeFoods3.RemoveAll(s => s.X == snakePosition.X && s.Y == snakePosition.Y);
}
}
private void EatFood4()
{
if (SnakeFoods4.Any(s => s.X == SnakeBoddy[0].X && s.Y == SnakeBoddy[0].Y))
{
Player1setting.GameScore += FoodSetting.food4;
label2.Text = Player1setting.GameScore.ToString();
var snakePosition = SnakeBoddy[0];
SnakeFoods4.RemoveAll(s => s.X == snakePosition.X && s.Y == snakePosition.Y);
RandomEevent();
}
if (SnakeFoods4.Any(s => s.X == SnakeBoddy2[0].X && s.Y == SnakeBoddy2[0].Y))
{
Player2setting.GameScore2 += FoodSetting.food4;
label3.Text = Player2setting.GameScore2.ToString();
var snakePosition = SnakeBoddy2[0];
SnakeFoods4.RemoveAll(s => s.X == snakePosition.X && s.Y == snakePosition.Y);
RandomEevent();
}
}
private void RandomEevent()
{
var time = DateTime.Now;
eventTimer.Tick += new EventHandler(TimerEventProcessor);
eventTimer.Interval = 3000;
eventTimer.Start();
while (exitFlag == false)
{
//Application.DoEvents();
if ((DateTime.Now - time).TotalSeconds > 30)
{
eventTimer.Stop();
exitFlag = true;
}
}
}
private void TimerEventProcessor(Object sender, EventArgs e)
{
eventTimer.Enabled = true;
Player2setting.Movment2 = (SnakeMovment2)random.Next(4);
}
private void FoodEvent()
{
foodTimer.Tick += new EventHandler(FoodGenerator);
foodTimer.Interval = random.Next(1000,4000);
foodTimer.Start();
foodTimer2.Tick += new EventHandler(FoodGenerator2);
foodTimer2.Interval = random.Next(4000, 7000);
foodTimer2.Start();
foodTimer3.Tick += new EventHandler(FoodGenerator3);
foodTimer3.Interval = random.Next(5000, 10000);
foodTimer3.Start();
foodTimer4.Tick += new EventHandler(FoodGenerator4);
foodTimer4.Interval = random.Next(3000, 6000);
foodTimer4.Start();
}
private void FoodGenerator(object sender, EventArgs e)
{
foodTimer.Enabled = true;
GenerateSnakeFood();
}
private void FoodGenerator2(object sender, EventArgs e)
{
foodTimer2.Enabled = true;
GenerateSnakeFood2();
}
private void FoodGenerator3(object sender, EventArgs e)
{
foodTimer3.Enabled = true;
GenerateSnakeFood3();
}
private void FoodGenerator4(object sender, EventArgs e)
{
foodTimer4.Enabled = true;
GenerateSnakeFood4();
}
private void Die()
{
Player1setting.Gameover = true;
}
private void Die2()
{
Player2setting.Gameover2 = true;
}
private void GameStart_Click(object sender, EventArgs e)
{
if (choice1.Checked || choice2.Checked || choice3.Checked) {
StartGame();
}
}
}
}
KeyInput.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.Windows.Forms;
namespace snakeGame3players
{
class KeyInput
{
private static Hashtable keyTable = new Hashtable();
public static bool KeyInputs(Keys key)
{
if (keyTable[key] == null)
{
return false;
}
return (bool)keyTable[key];
}
public static void SnakeDirections(Keys key, bool direction)
{
keyTable[key] = direction;
}
}
}
Player1setting.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace snakeGame3players
{
public enum SnakeMovment
{
Right,
Left,
Down,
Up
};
public enum SnakeMovment2
{
W,
S,
D,
A
};
class Player1setting
{
public static int Width { get; set; }
public static int Height { get; set; }
public static int GameScore { get; set; }
public static bool Gameover { get; set; }
public static SnakeMovment Movment { get; set; }
public Player1setting()
{
Height = 16;
Width = 16;
Gameover = false;
Movment = SnakeMovment.Down;
GameScore = 0;
}
}
class Player2setting
{
public static int Width2 { get; set; }
public static int Height2 { get; set; }
public static int GameScore2 { get; set; }
public static bool Gameover2 { get; set; }
public static SnakeMovment2 Movment2 { get; set; }
public Player2setting()
{
Height2 = 16;
Width2 = 16;
Gameover2 = false;
Movment2 = SnakeMovment2.S;
GameScore2 = 0;
}
}
class FoodSetting
{
public static int food1 { get; set; }
public static int food2 { get; set; }
public static int food3 { get; set; }
public static int food4 { get; set; }
public FoodSetting()
{
food1 = 1;
food2 = 5;
food3 = 1;
food4 = 1;
}
}
}
Square.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace snakeGame3players
{
class Square
{
public int X { get; set; }
public int Y { get; set; }
public Square()
{
X = 0;
Y = 0;
}
}
}
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace snakeGame3players
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}