Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The goal of this assignment is to develop an event-based game. You are going to

ID: 3704067 • Letter: T

Question

The goal of this assignment is to develop an event-based game. You are going to develop a Pong Game.

The game board is a rectangle with a ball bouncing around. On the right wall, you will have a rectangular paddle (1/3 of the wall height). The paddle moves with up and down arrows. Next to the game board, there will be a score board. It will show the count of goals, and count of hits to the paddle. In the beginning of the game, the paddle will be on the center of the right wall.

You can develop a two-player game, and it will count for extra 2 points bonus.

You can use the application JavaApplication93.zip as a template, or you can develop your own game from scratch.

You can arrange the color and the style of the board/paddle/ball/Score Board as you prefer.

My Pong Game SCORE BOARD Goals Hits 10 25

Explanation / Answer

ANSWER:

The following code Is a ping pong game....

* Project Name:   ping pong java code-sticker ball

environment : Java

* IDE:   NetBeans

* Description: its a stand alone application.

*i added some features like cheering sound at the start of the game, beside the other described features in this topic.

*Ping pong game has two classes;

1.ball and sound

2.package stickerball_game;

1.ball and sound;

import java.awt.Color;

import java.awt.Component;

import java.awt.Graphics;

import java.awt.Image;

import javax.swing.ImageIcon;

public class Ball {

//* Creates a new instance of Ball //

private Sound mysound;

private int Reduis;

public int x;

public int y;

public int vx;

public int vy;

private int BALL_TOP;

private int BALL_LEFT;

private int BALL_RIGHT;

private int BALL_DOWN;

private int PLAYER_TOP;

private int PLAYER_DOWN;

private int PLAYER_RIGHT;

private int COMP_TOP;

private int COMP_DOWN;

private int COMP_LEFT;

private int max_vx=5;

private int max_vy=5;

public Component myBase;

private Color BallColor;

private Image myImg;

public Ball(int r, int x,int y,int vx,int vy,Color BallColor,Component newBase) {

Reduis=r;

this.x=x;

this.y=y;

this.vx=vx;

this.vy=vy;

myBase=newBase;

myImg=new ImageIcon("images/Ball.gif").getImage();

this.BallColor=BallColor;

}

public void move() {

if (vx > max_vx) vx = max_vx;

else if (vx < -max_vx) vx = -max_vx;

else if (vy > max_vy) vy = max_vy;

else if (vy < -max_vy) vy = -max_vy;

// else if (vx == 0 && !isStoped) vx = 1;

x += vx;

y += vy;

}

public int wheresBall() {

if (vy > 0) {

if (y > 280) {

vy = -vy;

return 0;

}

} else if (vy < 0) {

if (y < 40) {

vy = -vy;

return 0;

}

}

if(x<20)

return 1;

else if(x>375)

return 2;

return 0;

}

public void PCollision(Player PlayerStick) {

BALL_TOP = y - Reduis;

BALL_DOWN = y + Reduis;

BALL_LEFT = x - Reduis;

BALL_RIGHT = x + Reduis;

PLAYER_TOP = PlayerStick.y;

PLAYER_DOWN = PlayerStick.y + PlayerStick.sizey;

if ((BALL_TOP >= PLAYER_TOP - 10) && (BALL_DOWN <= PLAYER_DOWN + 10)) {

if (BALL_LEFT <= 30 ) {

mysound = new Sound("Sound/hit.wav");

vx = - vx;

if (PlayerStick.vy < 0) {

vy --;

} else if (PlayerStick.vy > 0) {

vy += PlayerStick.vy;

}

}

}

}

public void CCollision(Computer CompStick) {

BALL_TOP = y - Reduis;

BALL_DOWN = y + Reduis;

BALL_LEFT = x - Reduis;

BALL_RIGHT = x + Reduis;

COMP_TOP = CompStick.y;

COMP_DOWN= CompStick.y + CompStick.sizey;

if ((BALL_TOP >= COMP_TOP - 10) && (BALL_DOWN <= COMP_DOWN + 10)) {

if (BALL_RIGHT >= 370 ) {

mysound = new Sound("Sound/hit.wav");

vx = - vx;

if (CompStick.vy < 0) {

vy --;

} else if (CompStick.vy > 0) {

vy += CompStick.vy;

}

}

}

}

public void DrawBall(Graphics g) {

g.setColor(BallColor);

g.drawImage(myImg,x - Reduis, y - Reduis,myBase);

}

}

2.package stickerball_game;

import java.io.File;

import java.io.IOException;

import javax.sound.sampled.AudioFormat;

import javax.sound.sampled.AudioInputStream;

import javax.sound.sampled.AudioSystem;

import javax.sound.sampled.DataLine;

import javax.sound.sampled.LineUnavailableException;

import javax.sound.sampled.SourceDataLine;

import javax.sound.sampled.UnsupportedAudioFileException;

public class Sound {

AudioFormat audioFormat;

   AudioInputStream audioInputStream;

    SourceDataLine sourceDataLine;

String X;

//end main

   //* Creates a new instance of Sound //

public Sound(String Wavname) {

new PlayThread().start();

X=Wavname;

}

class PlayThread extends Thread{

   byte tempBuffer[] = new byte[10000];

public void run(){

   File soundFile =new File(X);

try {

audioInputStream = AudioSystem.

   getAudioInputStream(soundFile);

audioFormat = audioInputStream.getFormat();

   DataLine.Info dataLineInfo = new DataLine.Info(SourceDataLine.class,audioFormat);

sourceDataLine =(SourceDataLine)AudioSystem.getLine(dataLineInfo);

sourceDataLine.open(audioFormat);

} catch (LineUnavailableException ex) {

ex.printStackTrace();

} catch (UnsupportedAudioFileException ex) {

ex.printStackTrace();

} catch (IOException ex) {

ex.printStackTrace();

   }

sourceDataLine.start();

try{

int cnt;

while((cnt = audioInputStream.read(

tempBuffer,0,tempBuffer.length)) != -1) {

if(cnt > 0){

sourceDataLine.write(tempBuffer, 0, cnt);

}

}

sourceDataLine.flush();

sourceDataLine.close();

Thread.sleep(2000)

}catch (Exception e) {

   e.printStackTrace();

System.exit(0);

}

}

    }//end inner class PlayThread

              

        

       

        

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote