i need to develop a snake game. the simple one. can anybody come out with the skane game source code using java or c++ language, or any recommendation. please!!!!!!!!!!!!

i dont want to fail this subject! :sad: :sad: :sad:

import java.awt.*;
import java.applet.*;

public class snake extends Applet implements Runnable
{
Image dot[]=new Image[400];
Image back;
Image offI;
Graphics offG;

int x[]= new int[400];
int y[]= new int[400];
int rtemp=1;
int game=1;
int level;
int z;
int n;
int count=0;
int score=0;
int add=1;

Button b= new Button("Beginner");
Button i= new Button("Intermediate");
Button p= new Button("Professional");
Button X= new Button("Xtreamest");

String stemp;
String s;
String t;

boolean go[]=new boolean[400];
boolean left=false;
boolean right=false;
boolean up=false;
boolean down=false;
boolean started=false;
boolean me=false;

Thread setTime;

public void init()
{
add(b);
add(i);
add(p);
add(X);
setBackground(Color.black);
back = getImage(getCodeBase(), "screan.gif");
for (z=0 ; z < 400 ; z++){dot[z] = getImage(getCodeBase(), "dot.gif"); }
}

public void update(Graphics g)
{
Dimension d = this.size();
if(offI == null)
{
offI = createImage(d.width, d.height);
offG = offI.getGraphics();
}
offG.clearRect(0, 0, d.width, d.height);
paint(offG);
g.drawImage(offI, 0, 0, null);
}

public void paint(Graphics g)
{
g.drawImage(back, 0, 0, this);
g.setColor(Color.white);

if(started)
{
g.setFont(new Font("Verdana", 1, 12));
t = "Score "+score+"";
g.drawString(t, 75, 220);
}

if(game==1)
{
g.setFont(new Font("Verdana", 1, 13));
s = "Select Mode";
g.drawString(s, 65, 30);

b.move(75, 50);
i.move(68, 90);
p.move(68, 130);
X.move(73, 170);
}

if((game==2)||(game==3))
{
if(!started)
{
g.setFont(new Font("Verdana", 1, 11));
t = "Use the key board arrows to move!";
g.drawString(t, 5, 215);
}
for (z=0 ; z <= n ; z++){ g.drawImage(dot[z],x[z],y[z],this); }
me=true;
}

if(!me)
{
g.setFont(new Font("Verdana", 1, 11));
t = "by Omar Wally, http://crash.to/PLAY";
g.drawString(t, 5, 215);
}

if(game==3)
{
g.setFont(new Font("Verdana", 1, 13));
s="Game Over";
g.drawString(s, 65, 60);
}

}

public void run()
{
for(z=4 ;z <400 ; z++) { go[z]=false;}
for(z=0 ; z<4 ; z++) { go[z]=true;x[z]=91;y[z]=91;}
n=3;
game=2;
score=0;
b.move(70, -100);
i.move(70, -100);
p.move(70, -100);
X.move(70, -100);
left=false;
right=false;
up=false;
down=false;
locateRandom(4);

while(true)
{
if (game==2)
{
if ((x[0]==x[n])&&(y[0]==y[n])){go[n]=true;locateRandom((n+1));score+=add; }
for(z = 399 ; z > 0 ; z--)
{
if (go[z])
{
x[z] = x[(z-1)]; y[z] = y[(z-1)];
if ((z>4)&&(x[0]==x[z])&&(y[0]==y[z])){ game=3; }
}
}
if(left){ x[0]-=10; }
if(right){ x[0]+=10; }
if(up){ y[0]-=10; }
if(down){ y[0]+=10; }
}

if(y[0]>191){y[0]=191;game=3;}
if(y[0]<1){y[0]=1;game=3;}
if(x[0]>191){x[0]=191;game=3;}
if(x[0]<1){x[0]=1;game=3;}

if (game==3)
{
if (count <(1500/level)) { count++; } else { count=0;game=1;repaint();setTime.stop(); }
}

repaint();
try{setTime.sleep(level);}
catch(InterruptedException e){}
}
}

public void locateRandom(int turn)
{
rtemp=(int)(Math.random()*20);
x[turn]=((rtemp*10)+1) ;
rtemp=(int)(Math.random()*20);
y[turn]=((rtemp*10)+1);
n++;
}

public boolean keyDown(Event e, int key)
{
if ((key == Event.LEFT) &&(!right)){left = true; up = false; down = false;if(!started)started=true;}
if ((key == Event.RIGHT) && (!left)){right = true; up = false; down = false;if(!started)started=true;}
if ((key == Event.UP) && (!down)){ up = true; right = false; left = false;if(!started)started=true;}
if ((key == Event.DOWN) && (!up)){down = true; right = false; left = false;if(!started)started=true;}
return true;
}

public boolean action(Event event, Object obj)
{
stemp = (String) obj;

if(stemp.equals("Beginner"))
{
add=2;
level=100;
setTime = new Thread(this);
setTime.start();
return true;
}

if(stemp.equals("Intermediate"))
{
add=5;
level=70;
setTime = new Thread(this);
setTime.start();
return true;
}

if(stemp.equals("Professional"))
{
add=10;
level=40;
setTime = new Thread(this);
setTime.start();
return true;
}

if(stemp.equals("Xtreamest"))
{
add=20;
level=20;
setTime = new Thread(this);
setTime.start();
return true;
}
return false;
}
}

_______________________________________________

im copying this source code from the internet.
when i compile the code, no error occur. the problem is, when i run the code this message appear;

Exception in thread "main" java.lang.NoSuchMethodError:main

what should i do?
please anybody help me!!! :sad: :sad: :sad:

im copying this source code from the internet

That wont help the learning process. Could the error be due to that you have no 'main' function?

This article has been dead for over six months. Start a new discussion instead.