Witam. Mam pewien problem z grą Snake otóż owy problem dotyczy przyrostu długości węża po zjedzeniu jedzenia. Długość węża powinna się powiększać. Mam taką klasę Snake:
public class Snake
{
public Rectangle[] snakeRec;
public SolidBrush brush;
private int x, y, szer, dl;
public Snake()
{
snakeRec = new Rectangle[3];
brush = new SolidBrush(Color.Blue);
x = 20;
y = 0;
szer = 10;
dl = 10;
for (int i = 0; i < snakeRec.Length; i++)
{
snakeRec[i] = new Rectangle(x, y, szer, dl);
x -= 10;
}
}
public void rysujSnake(Graphics plansza)
{
foreach (Rectangle rec in snakeRec)
{
plansza.FillRectangle(brush, rec);
}
}
public void rysujSnake()
{
for (int i = snakeRec.Length - 1; i > 0; i--)
{
snakeRec[i] = snakeRec[i - 1];
}
}
Oraz w Form1:
public partial class Form1 : Form
{
Random randŻarcie = new Random();
Graphics plansza;
Snake snake=new Snake();
Żarcie żarcie;
bool left = false;
bool right = false;
bool down = false;
bool up = false;
int punkty = 0;
double level = 1;
int wartosc = 0;
public Form1()
{
InitializeComponent();
żarcie = new Żarcie(randŻarcie);
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
progressBar1.Minimum = 0;
progressBar1.Maximum = 3;
plansza = e.Graphics;
żarcie.rysujŻarcie(plansza);
snake.rysujSnake(plansza);
for (int i = 0; i < snake.snakeRec.Length; i++)
{
if (snake.snakeRec[i].IntersectsWith(żarcie.żarcieRec))
{
//tutaj chciałam umieścić właściwy kod ale coś poknociłam
punkty++;
żarcie.żarcieLocation(randŻarcie);
label1.ForeColor = Color.Blue;
label1.Text = punkty.ToString();
if (punkty % 3 == 0)
{
label4.ForeColor = Color.Red;
label4.Text = ("new");
level++;
progressBar1.Value = 0;
}
else
{
label4.ForeColor = Color.Blue;
label4.Text = level.ToString();
progressBar1.Value = punkty % 3;
}
}
}