Java Mini Project Report
Java Mini Project Report
Java Mini Project Report
Project Description:
Created brick breaker game using awt (Abstract Window Toolkit) in java programing in Eclipse IDE. It’s a
simple game in which if ball hits the brick the score will increase and brick will decrease simultaneously. If
the ball goes below the paddle the game will be over and score will be displayed.
Project Code:
//MainClass.java
package demogame;
import javax.swing.JFrame;
public class MainClass {
public static void main(String[] args) {
//gameplay.java
package demogame;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.Timer;
import javax.swing.JPanel;
public GamePlay() {
setFocusable(true);
setFocusTraversalKeysEnabled(true);
timer.start();
map=new MapGenerator(3,7);
//black canvas
g.setColor(Color.black);
//border
g.setColor(Color.yellow);
g.fillRect(0, 3, 3, 592);
g.fillRect(691, 3, 3, 592);
//paddle
g.setColor(Color.green);
//bricks
map.draw((Graphics2D)g);
//ball
g.setColor(Color.red);
g.fillOval(ballposX,ballposY,20,20);
//score
g.setColor(Color.green);
g.setFont(new Font("serif",Font.BOLD,20));
if(ballposY>=570) {
play=false;
ballXdir=0;
ballYdir=0;
g.setColor(Color.green);
g.setFont(new Font("serif",Font.BOLD,30));
g.setFont(new Font("serif",Font.BOLD,25));
if(totalBrick<=0) {
play=false;
ballXdir=0;
ballYdir=0;
g.setColor(Color.green);
g.setFont(new Font("serif",Font.BOLD,30));
g.setFont(new Font("serif",Font.BOLD,25));
play=true;
playerX-=20;
play=true;
playerX+=20;
}
@Override
if(e.getKeyCode()==KeyEvent.VK_LEFT) {
if(playerX<=0)
playerX=0;
else
moveLeft();
if(e.getKeyCode()==KeyEvent.VK_RIGHT) {
if(playerX>=600)
playerX=600;
else
moveRight();
if(e.getKeyCode()==KeyEvent.VK_ENTER) {
if(!play) {
score=0;
totalBrick=21;
ballposX=120;
ballposY=350;
ballXdir=-1;
ballYdir=-2;
playerX=320;
map=new MapGenerator(3,7);
repaint();
@Override
if(play) {
if(ballposX<=0) {
ballXdir=-ballXdir;
}
if(ballposX>=670) {
ballXdir=-ballXdir;
if(ballposY<=0) {
ballYdir=-ballYdir;
Rectangle ballRect=new
Rectangle(ballposX,ballposY,20,20);
Rectangle paddleRect=new
Rectangle(playerX,550,100,8);
if(ballRect.intersects(paddleRect)) {
ballYdir=-ballYdir;
A:for(int i=0;i<map.map.length;i++) {
for(int j=0;j<map.map[i].length;j++)
if(map.map[i][j]>0) {
int width=map.brickWidth;
int height=map.brickHeight;
int brickXpos=80+j*width;
int brickYpos=50+i*height;
Rectangle brickRect=new
Rectangle(brickXpos,brickYpos,width,height);
map.setBrick(0, i, j);
totalBrick--;
score+=5;
if(ballposX+19<=brickXpos || ballposX+1>=brickXpos+width) {
ballXdir=-
ballXdir;
else {
ballYdir=-
ballYdir;
}
break A
}
}
ballposX+=ballXdir;
ballposY+=ballYdir;
repaint();
@Override
@Override
Output Screenshots: