Following is the code to make a spider game using java-graphics- awt and swing. After successful compilation you can run the game by saving the file - spider2.java.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.applet.Applet;
import java.applet.AudioClip;
import java.net.MalformedURLException;
import java.net.URL;
public class spider2 extends KeyAdapter implements ActionListener ,Runnable {
int n=0;
int temp;
int temp1;
ImageIcon icon4;
ImageIcon icon1 =new ImageIcon("Picture2.jpg.png");
ImageIcon icon2 =new ImageIcon("Picture92.jpg.png");
ImageIcon icon7 =new ImageIcon("Picture140.jpg.png");
ImageIcon icon3 =new ImageIcon("Picture7.jpg.png");
ImageIcon icon =new ImageIcon("Picture46.jpg.png");
ImageIcon icon5=new ImageIcon("Picture20.jpg.png");
ImageIcon icon6=new ImageIcon("Picture106.jpg.png");
//int
int random1=68;
JFrame f2=new JFrame("The Killing Spider Options");
JFrame f3=new JFrame("About The Killing Spider");
JFrame f4=new JFrame("The Killing Spider Overview");
AudioClip drag;
//private int i;
JFrame f=new JFrame("The Killing Spider game");
JButton b=new JButton("start");
JButton b1=new JButton("option");
JButton b2=new JButton("about");
JButton b3=new JButton("help");
JPanel p13=new JPanel();
JPanel p14=new JPanel(new GridLayout(5,0));
JPanel p1=new JPanel(new GridLayout(1,0));
JPanel p2=new JPanel(new GridLayout(1,0));
JPanel p3=new JPanel(new GridLayout(1,0));
JPanel p4=new JPanel(new GridLayout(1,0));
JPanel p5=new JPanel(new GridLayout(1,0));
JPanel p6=new JPanel(new GridLayout(1,0));
JPanel p7=new JPanel(new GridLayout(1,0));
JPanel p8=new JPanel(new GridLayout(1,0));
JPanel p9=new JPanel(new GridLayout(1,0));
JPanel p10=new JPanel(new GridLayout(1,0));
JPanel p11=new JPanel(new FlowLayout());
JPanel p12=new JPanel(new GridLayout(0,2));
JLabel lb=new JLabel(" Made By: NAVEEN KUMAR BAPNA \n Email id: ");
JLabel lb2=new JLabel(icon2);
JLabel lb1=new JLabel(icon3);
JLabel lb3=new JLabel(icon7);
JLabel lb4=new JLabel("made by : Naveen Kumar Bapna");
JLabel lb5=new JLabel("institute : Apex Institute Of Engineering & Techology jaipur,sitapura ");
JLabel lb6=new JLabel("from : Bhilwara");
JLabel lb7=new JLabel("phone :9784852851");
//JProgressBar pb=new JProgressBar();
JLabel pb=new JLabel("SCORE 0");
JLabel[] labels = new JLabel[100];
int increase=0;
public spider2()
{
for(int i=0;i<100;i++)
{
if(i==1||i==9||i==12||i==20||i==25||i==31||i==44||i==48||i==52||i==60||i==72||i==75||i==94)
{
labels[i]=new JLabel(icon6);
}
else
{
labels[i]=new JLabel(icon);
}
}
labels[random1].setIcon(icon5);
labels[65]=new JLabel(icon3);
for(int j=0;j<10;j++)
{
p1.add(labels[j]);
}
for(int j=10;j<20;j++)
{
p2.add(labels[j]);
}
for(int j=20;j<30;j++)
{
p3.add(labels[j]);
}
for(int j=30;j<40;j++)
{
p4.add(labels[j]);
}
for(int j=40;j<50;j++)
{
p5.add(labels[j]);
}
for(int j=50;j<60;j++)
{
p6.add(labels[j]);
}
for(int j=60;j<70;j++)
{
p7.add(labels[j]);
}
for(int j=70;j<80;j++)
{
p8.add(labels[j]);
}
for(int j=80;j<90;j++)
{
p9.add(labels[j]);
}
for(int j=90;j<100;j++)
{
p10.add(labels[j]);
}
p11.add(b);
p11.add(b1);
p11.add(b2);
p11.add(b3);
p11.add(pb);
b.addKeyListener(this);
//f.add(p11);
f.add(p1);
f.add(p2);
f.add(p3);
f.add(p4);
f.add(p5);
f.add(p6);
f.add(p7);
f.add(p8);
f.add(p9);
f.add(p10);
pb.setForeground(Color.blue);
p11.setBackground(Color.DARK_GRAY);
p12.add(p11);
p12.add(lb);
f.add(p12);
f.setLayout(new GridLayout(11,0));
b.addActionListener(this);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
f.setVisible(true);
f.setBounds(70, 70, 1200, 600);
f.setResizable(false);
f4.setResizable(false);
f2.setResizable(false);
p14.add(lb1);
p14.add(lb4);
p14.add(lb5);
p14.add(lb6);
p14.add(lb7);
f3.add(p14);
f4.add(lb3);
p13.add(lb2);
f2.add(p13);
p14.setBackground(Color.BLACK);
p13.setBackground(Color.BLACK);
//lb1.setForeground(Color.BLACK);
f3.setResizable(false);
//lb1.setIconImage(icon2);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("start"))
{
Thread t = new Thread(this);
t.setDaemon(true);
t.start();
b.setText("New");
}
if(e.getActionCommand().equals("option"))
{
f2.setBounds(300,125,395,325);
f2.setVisible(true);
b1.addKeyListener(this);
}
if(e.getActionCommand().equals("about"))
{
f3.setBounds(450, 150, 300, 300);
f3.setVisible(true);
b2.addKeyListener(this);
}
if(e.getActionCommand().equals("help"))
{
f4.setBounds(500, 20, 522, 410);
f4.setVisible(true);
b3.addKeyListener(this);
}
}
public void keyPressed(KeyEvent evt) {
if (evt.getKeyChar() == KeyEvent.VK_DOWN) {
n=3;
System.out.println("Check for key characters: " + evt.getKeyChar());
}
if (evt.getKeyCode() == KeyEvent.VK_UP) {
n=2;
System.out.println("Check for key codes: " + evt.getKeyCode());
}
if (evt.getKeyCode() == KeyEvent.VK_LEFT) {
n=4;
System.out.println("Check for key codes: " + evt.getKeyCode());
}
if (evt.getKeyCode() == KeyEvent.VK_RIGHT) {
n=1;
System.out.println("Check for key codes: " + evt.getKeyCode());
}
}
public void run()
{
try{
File drag_f=new File("Arrival.wav"); URL drag_url = drag_f.toURL();
drag=Applet.newAudioClip(drag_url);
}
catch(Exception e)
{
}
while(true)
{
while (n==2)
{
try
{
//for up direction
for(int i=0;i<100;i++)
{
if(labels[i].getIcon()==icon3)
{
temp=i;
if(temp==0)
{
temp1=90;
}
if(temp==1)
{
temp1=91;
}
if(temp==2)
{
temp1=92;
}
if(temp==3)
{
temp1=93;
}
if(temp==4)
{
temp1=94;
}
if(temp==5)
{
temp1=95;
}
if(temp==6)
{
temp1=96;
}
if(temp==7)
{
temp1=97;
}
if(temp==8)
{
temp1=98;
}
if(temp==9)
{
temp1=99;
}
if(temp>9)
{
temp1=temp-10;
}
}
}
if(temp1==random1){
random1=(int)(Math.random()*100);
if(random1==1||random1==9||random1==12||random1==20||random1==25||random1==31||random1==44||random1==48||random1==52||random1==60||random1==72||random1==75||random1==94)
{
random1=random1+2;
}
labels[random1].setIcon(icon5);
System.out.println("You are wrong");
increase=increase+1;
pb.setText("SCORE " + increase);
if(increase%10==0){
drag.play();
}
}
if(temp==1||temp==9||temp==12||temp==20||temp==25||temp==31||temp==44||temp==48||temp==52||temp==60||temp==72||temp==75||temp==94)
{
JOptionPane.showMessageDialog(null,
"GAME OVER \n PLEASE TRY AGAIN!", "Hey!",2,icon3);
//Thread.wait();
System.exit(9);
//,JOptionPane.ERROR_MESSAGE
}
labels[temp].setIcon(icon);
labels[temp1].setIcon(icon3);
b.addKeyListener(this);
Thread.sleep(550);
}
catch(Exception e)
{
}
}
while(n==3)
{
try
{
//for down direction
for(int i=0;i<100;i++)
{
if(labels[i].getIcon()==icon3)
{
temp=i;
if(temp==90)
{
temp1=0;
}
if(temp==91)
{
temp1=1;
}
if(temp==92)
{
temp1=2;
}
if(temp==93)
{
temp1=3;
}
if(temp==94)
{
temp1=4;
}
if(temp==95)
{
temp1=5;
}
if(temp==96)
{
temp1=6;
}
if(temp==97)
{
temp1=7;
}
if(temp==98)
{
temp1=8;
}
if(temp==99)
{
temp1=9;
}
if(temp<90)
{
temp1=temp+10;
}
}
}
if(temp1==random1){
random1=(int)(Math.random()*99);
if(random1==1||random1==9||random1==12||random1==20||random1==25||random1==31||random1==44||random1==48||random1==52||random1==60||random1==72||random1==75||random1==94)
{
random1=random1+2;
}
labels[random1].setIcon(icon5);
System.out.println("You are wrong");
increase=increase+1;
pb.setText("SCORE " + increase);
if(increase%10==0){
drag.play();
} }
if(temp==1||temp==9||temp==12||temp==20