Last time I spoke in class, I was very much set on the idea of making a “big brother” surveillance camera. BUT, I realized that I would require a few equipments that are not in our sparkfun arduino kit. These equipments included a set of female jump wires, a separate breadboard(?) that can be attached to the servo, and another type of converter looking wire that I forgot the name of. Due to these technical difficulties, I thought my surveillance camera would become boring to the audience and so I decided to switch to a different idea.
Therefore, I resorted to my initial idea, which was to make a “spacewar” game. It is a game in which a spaceship (player) defends objects falling towards the earth from the outer-space. This has always been one of my favorite games since childhood and I loved the idea that I could realize it on my own.
I am currently in the process of developing the processing part first. I will get to the arduino once I have a working version on my computer. The arduino part will be incorporated with a push buttons to shoot shrapnels/bullets, another push button to accelerate, and a potentiometer to maneuver left and right directions.
I have accomplished my first milestone which is to have the starship maneuver and shoot bullets. I am not entirely sure if I am satisfied with the sprite that I am using, so this is subject to change. Below I have attached the video of the working version of my first milestone and the codes.
/* David Lee Main Code - version w/o arduino */ ArrayList <Bullet> bullets; Player player; PImage starship; boolean [] keys = new boolean[128]; void setup(){ size(480, 640); bullets = new ArrayList(); player = new Player(); starship = loadImage("starship6.png"); } void draw() { background(0); for(Bullet temp : bullets){ temp.move(); } for(Bullet temp : bullets){ temp.display(); } //removeToLimit(30); player.display(); player.move(); } void keyPressed(){ keys[keyCode] = true; if(keys[32]){ Bullet temp = new Bullet(player.pos.x+80, player.pos.y); bullets.add(temp); } } void keyReleased(){ keys[keyCode] = false; } void removeToLimit(int maxLength){ while(bullets.size() > maxLength){ bullets.remove(0); } }
//Bullet Class class Bullet{ PVector pos; PVector acc; PVector vel; Bullet(float tx, float ty){ pos = new PVector(tx, ty); acc = new PVector(0,-0.2); vel = new PVector(0, -2.5); } void display(){ stroke(255); //point(x, y); rect(pos.x, pos.y, 3, 10); } void move(){ vel.add(acc); pos.add(vel); //pos.y -= 2.5; } }
//Player Class class Player{ PVector pos; PVector acc; PVector vel; Player(){ pos = new PVector(width/2, height - 100); acc = new PVector(0.0, 0); vel = new PVector(4,4); } void display(){ image(starship, pos.x, pos.y); } void move(){ vel = vel.add(acc); if(keys[LEFT]) pos.x -= vel.x; if(keys[RIGHT]) pos.x += vel.x; if(keys[UP]) pos.y -= vel.y; if(keys[DOWN]) pos.y += vel.y; if(pos.x < -50){ pos.x = width; } if(pos.x > width){ pos.x = -50; } if(pos.y > height){ pos.y = -59; } if(pos.y < -59){ pos.y = height; } } }