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 aktivitas 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!
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.
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 aktivitas 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.