Catch The Rat: Simple Game in Java

A simple, shortest and easiest game that could be written in Java using Swing components and event handling.


What's your opinion about rats and catching them? Is it easier? Well, you don't do it in practical and use some rat killers to kill them. Fine, my rat can't be killed, in fact you'll just have to catch it! It makes a beep sound when you do and i will print whether you've done it or not.

Fine, what have you done?

A simple swing program that is much easier than you what you find on the internet. It is dead simple. Just look at the code. Coding it is easy but playing it is difficult! Try how many times you can!

Catch The Rat!


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import java.util.Scanner;
class CatchTheRat extends JFrame
{

// The Rat

JLabel lb;


// Move it randomly!

Random r;


public CatchTheRat(int k)
{


// Set frame properties

setTitle("Catch The Rat");
setLayout(new FlowLayout());
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);


// Set the background (just for a good look)

setContentPane(new JLabel(new ImageIcon("background.jpg")));


// Set layout to the content pane
getContentPane().setLayout(new FlowLayout());


// Create the rat

lb=new JLabel(new ImageIcon("rat.png"));


// Add the rat

getContentPane().add(lb);


// Create Random object

r=new Random();


// Create a timer and call it for every k seconds

new Timer(k,new ActionListener(){


public void actionPerformed(ActionEvent ae)
{


// Move the rat randomly, subtract 75, so that the rat should not meet the edges

lb.setLocation(r.nextInt(getWidth()-75),r.nextInt(getHeight()-75));


}


}).start();


// Add mouselistener, notify when user clicks it!

lb.addMouseListener(new MouseAdapter(){


public void mouseClicked(MouseEvent me)
{


// Create a beep sound when clicked to notify

Toolkit.getDefaultToolkit().beep();


// Also print it!

System.out.println("Caught!");


}


});


// Maximize the frame

setExtendedState(MAXIMIZED_BOTH);


}


public static void main(String args[])
{


// Create Scanner object

Scanner s=new Scanner(System.in);


// Let the user enter his capability of catching the rat!

System.out.println("Enter the speed");


// Read the input

int k=s.nextInt();


// Create the frame and send the value of k

new CatchTheRat(k);


}

}

Improving the game!


You can also print the no.of times the rat is caught by simply keeping a variable say i and incrementing it every time that mouse is clicked. You can also make the game easier by writing mousePressed(MouseEvent) instead of mouseClicked(MouseEvent) and also by increasing the updation time.

Video




Posted by at on

Tags: Games,

-->