For my senior capstone, I decided to create an Asteroid game using what I learned in Computer Science Engineering class, from online and my mentor Joseph Kopena. Unfortunately, in order for my game to be played I would have to upload the entire file, not just the code itself and I'm not sure how to do that. So instead I decided to upload a video of me playing the game. To prove that it is a game that I created on my laptop I will how myself opening the file and showing my name on the top right corner on my laptop.
Friday, May 22, 2015
Asteroid Game! Capstone Project
For my senior capstone, I decided to create an Asteroid game using what I learned in Computer Science Engineering class, from online and my mentor Joseph Kopena. Unfortunately, in order for my game to be played I would have to upload the entire file, not just the code itself and I'm not sure how to do that. So instead I decided to upload a video of me playing the game. To prove that it is a game that I created on my laptop I will how myself opening the file and showing my name on the top right corner on my laptop.
Thursday, May 21, 2015
Ping Pong Final
On May 21, 2015 I had assignment due where I had to add more functionality to a Ping Pong game code that my teacher had taught the class. Below is my new and improved code. I will be including this game in my Capstone Presentation. My code is down below.
PFont f;
int x, y, w, h, maxSpeedX, maxSpeedY;
int paddleX, paddleY, paddleW, paddleH, paddleS;
int paddleX2, paddleY2;
int scorePlayer1 = 0;
int scorePlayer2 = 0;
int winner = 7;
int s1 = 4; // controls speed for ball
int s2 = 4; // controls speed for ball
boolean up, down;
boolean up2, down2;
color color1 = (#FF2600);
color color2 = (#FEFF00);
void setup() {
size(600, 600);
background(0);
frameRate(60);
x = width/2;
y = height/2;
w = 50;
h = 50;
maxSpeedX = s1;
maxSpeedY = s2;
f = loadFont("ArialRoundedMTBold-48.vlw");
textFont(f, 25);
textAlign(CENTER, CENTER);
rectMode(CENTER);
paddleX = 25;
paddleY = height/2;
paddleX2 = width - 25;
paddleY2 = height/2;
paddleW = 25;
paddleH = 125;
paddleS = 6;
}
void draw() {
background(0);
drawBall();
moveBall();
bounceBall();
drawPaddle();
movePaddle();
stopPaddle();
touchBallPaddle();
keepscore();
gameOver();
text("Ping Pong Time", 300,25);
}
// begining of drawBall
void drawBall() {
stroke(#00FFDB);
strokeWeight(4);
fill(random(255), random(234), random(213));
ellipse(x, y, w, h); // ellipse(w,h,x,y) check it out!//
}
// end of drawBall
//Begining of moveBall
void moveBall() {
x = x + maxSpeedX;
y = y + maxSpeedY;
}
// end of moveBall
//begining of bounceBall
void bounceBall() {
if (x > width - w/2) {
setup();
maxSpeedX = -maxSpeedX;
scorePlayer1 = scorePlayer1 + 1;
} else if (x < 0 + w/2) {
setup();
maxSpeedX = +maxSpeedX;
scorePlayer2 = scorePlayer2 + 1;
}
if (y > height - h/2) {
maxSpeedY = -maxSpeedY;
} else if (y < 0 + h/2) {
maxSpeedY = -maxSpeedY;
}
}
// end of bounceBall
//beinging of paddle
void drawPaddle() {
stroke(#0A0A0A);
fill(color1);
rect(paddleX, paddleY, paddleW, paddleH);
stroke(#0A0A0A);
fill(color2);
rect(paddleX2, paddleY2, paddleW, paddleH);
}
// end of paddle
//begining of movePaddle
void movePaddle() {
if (up) {
paddleY = paddleY - paddleS;
}
if (down) {
paddleY = paddleY + paddleS;
}
if (up2) {
paddleY2 = paddleY2 - paddleS;
}
if (down2) {
paddleY2 = paddleY2 + paddleS;
}
}
// end of movePaddle
//begining os stopPaddle
void stopPaddle() {
if (paddleY - paddleH/2 < 0) {
paddleY = paddleY + paddleS;
}
if (paddleY + paddleH/2 > height) {
paddleY = paddleY - paddleS;
}
if (paddleY2 - paddleH/2 < 0) {
paddleY2 = paddleY2 + paddleS;
}
if (paddleY2 + paddleH/2 > height) {
paddleY2 = paddleY2 - paddleS;
}
}
// end of stopPaddle
//begining of touchBallPaddle
void touchBallPaddle() {
if (x - w/2 < paddleX + paddleW/2 && y - h/2 < paddleY + paddleH/2 && y + h/2 > paddleY - paddleH/2 ) {
if (maxSpeedX < 0) {
maxSpeedX = -maxSpeedX;
}
}
//right collision
else if (x + w/2 > paddleX2 - paddleW/2 && y - h/2 < paddleY2 + paddleH/2 && y + h/2 > paddleY2 - paddleH/2 ) {
if (maxSpeedX > 0) {
maxSpeedX = -maxSpeedX;
}
}
}
// end of of touchBallPaddle
// begining of keepScore
void keepscore() {
fill(#DE8BFF);
text(scorePlayer1, 100, 50);
text(scorePlayer2, width-100, 50);
}
//end of keepScore
// begining of gameOver
void gameOver() {
if (scorePlayer1 == winner) {
gameDone(" Player 1 wins!", color1);
}
if (scorePlayer2 == winner) {
gameDone(" Player 2 wins!", color2 );
}
}
// end of gameOver
//begining of gameDone
void gameDone(String text, color c) {
maxSpeedX = 0;
maxSpeedY = 0;
fill(random(100), random(150), random(200));
text(" Game OVER", width/2, height/3 - 40);
text("Click here to play again!", width/2, height/3+40);
fill(c);
text(text, width/2, height/3);
if (mousePressed) {
scorePlayer1 = 0;
scorePlayer2 = 0;
maxSpeedX = s1;
maxSpeedY = s2;
}
}
// end of gameDone
//begining of keyPressed
void keyPressed() {
if (key == 'w' || key == 'W') {
up = true;
}
if (key == 's' || key == 'S') {
down = true;
}
if (keyCode == UP) {
up2 = true;
}
if (keyCode == DOWN) {
down2 = true;
}
}
// end of keyPressed
// begining of keyRealsed
void keyReleased() {
if (key == 'w' || key == 'W') {
up = false;
}
if (key == 's' || key == 'S') {
down = false;
}
if (keyCode == UP) {
up2 = false;
}
if (keyCode == DOWN) {
down2 = false;
}
}
// end of keyrealsed
Tuesday, May 12, 2015
Ping Pong 3(In class)
For the last few weeks in CSE we've been learning how to create a Ping Pong game. Below is the code taught to the class by Mr. Miles.
// create paddle
// create the ball
// update the screen every few milliseconds with position
// start in 1D
/* things that you can do:
ball/paddle goes off the screen, comes out the other side
paddles can't go off the screen
score - the game ends when you reach a certain amount?
balls/paddles speed up as the game goes on
balls added as game goes on
incorporate top and bottom
more than 2 players
make it pretty/add music
balls can run into each other
title screen/winning screen
create a computer opponent
fix any bugs
*/
float paddle1Y;
float paddle2Y;
float maxSpeed;
boolean[] paddleControl;
//Ball ball1;
//Ball ball2;
// Ball[] ballArray;
ArrayList<Ball> myList;
void setup() {
size(600, 600);
background(#000000);
smooth();
frameRate(30); // draw() 30 times/seconds
paddle1Y = height/2 - 40;
paddle2Y = height/2 - 40;
maxSpeed = 5;
paddleControl = new boolean[4];
//ball1 = new Ball(50, 100);
//ball2 = new Ball(50, 50, 25, 10, color(0, 0, 255));
// println(ball1.getDiameter());
// ballArray = new Ball[5];
myList = new ArrayList<Ball>();
myList.add(new Ball());
for (int i = 0; i < paddleControl.length; i++) {
paddleControl[i] = false;
} // end of for
// for(int i = 0; i < ballArray.length; i++){
// ballArray[i] = new Ball();
// } // end of for
} // end of setup
void draw() {
background(#000000);
fill(255, 0, 0);
// move paddles
if(paddleControl[0]){
paddle1Y -= maxSpeed;
}
if(paddleControl[1]){
paddle1Y += maxSpeed;
}
if(paddleControl[2]){
paddle2Y -= maxSpeed;
}
if(paddleControl[3]){
paddle2Y += maxSpeed;
}
// draw player 1
rect(10, paddle1Y, 10, 80);
// draw player 2
rect(width - 20, paddle2Y, 10, 80);
//ball1.update();
//ball2.update();
//println(ballArray.length);
// for(int i = 0; i < ballArray.length; i++){
// ballArray[i].update();
// }
// update balls
for(int i = 0; i < myList.size(); i++){
// Ball temp = myList.get(i);
// temp.update();
myList.get(i).update();
} // end of update loop
} // end of draw
void keyPressed() {
if (key == 'w' || key == 'W') {
paddleControl[0] = true;
}
if (key == 's' || key == 'S') {
paddleControl[1] = true;
}
if (keyCode == UP) {
paddleControl[2] = true;
}
if (keyCode == DOWN) {
paddleControl[3] = true;
}
if(key == ' '){
myList.add(new Ball());
}
} // end of keyPressed
void keyReleased(){
if (key == 'w' || key == 'W') {
paddleControl[0] = false;
}
if (key == 's' || key == 'S') {
paddleControl[1] = false;
}
if (keyCode == UP) {
paddleControl[2] = false;
}
if (keyCode == DOWN) {
paddleControl[3] = false;
}
} // end of keyReleased
Subscribe to:
Posts (Atom)