The attached project is a snake game. The output looks like the above screen.
The goal of the game is to clear and get all apples. The game has three different levels.
NOTE : Before you run the application, you must have .NET 3.5 or higher version installed on your machine.
ENJOY IT !
Here is some sample code from the project:
private void initGame() // START THE GAME ...
{
dots = 3;
for (int z = 0; z < dots; z++)
{
x[z] = 50-z*10 ;
y[z] = 50;
}
locateApple();
KeyUp += new KeyEventHandler(OnKeyUp);
timer1.Start();
}
private void pictureBox1_Paint(object sender, PaintEventArgs e) //DRAW SNAKE & APPLE...
{
if (left == true)
{
head = Resource1.headl;
}
if (up == true)
{
head = Resource1.headt;
}
if (down == true)
{
head = Resource1.headd;
}
if (right == true)
{
head = Resource1.headr;
}
Graphics g = e.Graphics;
if (inGame)
{
g.DrawImage(apple, apple_x, apple_y);
for (int z = 0; z < dots; z++)
{
if (z == 0)
{
g.DrawImage(head, x[z], y[z]);
}
else
{
g.DrawImage(dot, x[z], y[z]);
g.DrawImage(dote, x[dots], y[dots]);
}
}
}
else
{
}
}
private void checkCollision() //CHECK IF SNAKE OUTOF CLIENT ...
{
for (int z = dots; z > 0; z--)
{
if ((z > 4) && (x[0] == x[z]) && (y[0] == y[z]))
{
inGame = false;
}
}
if (y[0] > HEIGHT - DOT_SIZE - TITLEBAR_HEIGHT - BORDER_WIDTH)
{
inGame = false;
}
if (y[0] < 0)
{
inGame = false;
}
if (x[0] > WIDTH - DOT_SIZE - 2 * BORDER_WIDTH)
{
inGame = false;
}
if (x[0] < 0)
{
inGame = false;
}
}
private void locateApple() //DRAW APPLE TO RANDOM LOCATIONS...
{
Thread.Sleep(200);
Random rand = new Random();
int r = (int)(rand.Next(RAND_POS));
apple_x = ((r * DOT_SIZE));
r = (int)(rand.Next(RAND_POS));
apple_y = ((r * DOT_SIZE));
}
private void OnKeyUp(object sender, KeyEventArgs e)
{
int key = (int)e.KeyCode;
if ((key == (int)Keys.Left) && (!right))
{
left = true;
up = false;
down = false;
}
if ((key == (int)Keys.Right) && (!left))
{
right = true;
up = false;
down = false;
}
if ((key == (int)Keys.Up) && (!down))
{
up = true;
right = false;
left = false;
}
if ((key == (int)Keys.Down) && (!up))
{
down = true;
right = false;
left = false;
}
}
private void move() // MOVE THE SNAKE ...
{
for (int z = dots; z > 0; z--)
{
x[z] = x[(z - 1)];
y[z] = y[(z - 1)];
}
if (left)
{
x[0] -= DOT_SIZE;
}
if (right)
{
x[0] += DOT_SIZE;
}
if (up)
{
y[0] -= DOT_SIZE;
}
if (down)
{
y[0] += DOT_SIZE;
}
}
You may also download the game from the following URLs: