Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package {
- import flash.display.MovieClip;
- import flash.events.Event;
- import flash.events.KeyboardEvent;
- import flash.events.MouseEvent;
- import flash.text.TextField;
- import flash.text.TextFormat;
- public class SpaceInvadersCode extends MovieClip {
- public function SpaceInvadersCode() {
- // variables
- var dir: String = "stop"; // ship movement direction
- var shoot1: Boolean = false; // shooting normal bullets
- var shoot2: Boolean = false; // shooting special bullets
- var b1Array: Array = new Array(); // array for normal bullets
- var b2Array: Array = new Array(); // array for special bullets
- var aArray: Array = new Array(); // array for aliens
- var speed: Number = 4; // speed of aliens
- var aCheck: Boolean = false; // checking if aliens hit the sides of the screen
- var aNum: Number = 0;
- var i: Number = 0;
- var j: Number = 0;
- var endCheck: Boolean = false;
- // on load
- // title
- var t: TextField = new TextField();
- // game over
- var end: gameover = new gameover();
- addChild(end);
- end.x = 1232;
- end.y = 2002;
- end.buttonMode = true;
- // start button
- var sb: startbutton = new startbutton();
- addChild(sb);
- sb.x = 275;
- sb.y = 300;
- sb.buttonMode = true;
- // ship
- var s: ship = new ship();
- addChild(s);
- s.x = 900;
- s.y = 375;
- // aliens
- for (i = 0; i < 5; i++) {
- for (j = 0; j < 11; j++) {
- if (i < 1) {
- var a3: alien3 = new alien3();
- aArray.push(a3);
- } else if (i < 3) {
- var a2: alien2 = new alien2();
- aArray.push(a2);
- } else if (i < 5) {
- var a1: alien1 = new alien1();
- aArray.push(a1);
- }
- addChild(aArray[aArray.length - 1]);
- aArray[aArray.length - 1].x = j * 30 + 600;
- }
- }
- // score
- var numscore: Number = 0;
- var score: TextField = new TextField;
- addChild(score);
- score.x = 275 + 600;
- score.y = 0;
- score.height = 100;
- score.text = String(numscore);
- var scoretf: TextFormat = new TextFormat;
- scoretf.color = 0xFFFFFF;
- scoretf.size = 50;
- scoretf.font = "Comic Sans MS";
- score.setTextFormat(scoretf);
- // events
- // when button is clicked
- sb.addEventListener(MouseEvent.CLICK, startFun);
- function startFun(e: MouseEvent): void {
- placeAliensOnStage();
- moveStartandShip();
- }
- end.addEventListener(MouseEvent.CLICK, endFun);
- function endFun(e: MouseEvent): void {
- end.x = 123123;
- end.y = 123123;
- sb.x = 275;
- }
- addEventListener(Event.ENTER_FRAME, mainFun);
- function mainFun(e: Event): void {
- moveShip();
- shootBullet1();
- shootBullet2();
- moveBullets1();
- moveBullets2();
- moveAliens();
- //bottomScreenReset();
- }
- stage.addEventListener(KeyboardEvent.KEY_DOWN, dFun);
- function dFun(e: KeyboardEvent): void {
- if (e.keyCode == 37) {
- dir = "left";
- }
- if (e.keyCode == 39) {
- dir = "right";
- }
- if (e.keyCode == 32) {
- shoot1 = true;
- }
- if (e.keyCode == 8) {
- shoot2 = true;
- }
- }
- stage.addEventListener(KeyboardEvent.KEY_UP, uFun);
- function uFun(e: KeyboardEvent): void {
- if (e.keyCode == 37) {
- dir = "stop";
- }
- if (e.keyCode == 39) {
- dir = "stop";
- }
- if (e.keyCode == 32) {
- shoot1 = false;
- }
- if (e.keyCode == 8) {
- shoot2 = false;
- }
- }
- // functions
- // removing start button and adding ship
- function moveStartandShip(): void {
- sb.x = 800;
- sb.y = 800;
- s.x = 275;
- score.x = 275;
- }
- // getting aliens on the stage
- function placeAliensOnStage(): void {
- for (i = 0; i < 5; i++) {
- for (j = 0; j < 11; j++) {
- aArray[aNum].x = j * 30;
- aArray[aNum].y = i * 30;
- aNum++;
- }
- }
- }
- // making aliens move
- function moveAliens(): void {
- for (var i: Number = 0; i < aArray.length; i++) {
- aArray[i].x += speed;
- if (aArray[i].x > 530 || aArray[i].x < 0) {
- aCheck = true;
- }
- }
- if (aCheck == true) {
- speed *= -1.05;
- aCheck = false;
- for (var m: Number = 0; m < aArray.length; m++) {
- aArray[m].y += 10;
- }
- }
- }
- // moving the ship
- function moveShip(): void {
- if (dir == "left" && s.x > 0) s.x -= 5;
- if (dir == "right" && s.x < 550) s.x += 5;
- }
- // shooting normal bullets
- function shootBullet1(): void {
- if (shoot1) {
- shoot1 = false;
- var b1: bullet1 = new bullet1();
- b1Array.push(b1);
- addChild(b1Array[b1Array.length - 1]);
- b1Array[b1Array.length - 1].x = s.x;
- b1Array[b1Array.length - 1].y = s.y;
- }
- }
- // shooting special bullets
- function shootBullet2(): void {
- if (shoot2) {
- shoot2 = false;
- var b2: bullet2 = new bullet2();
- b2Array.push(b2);
- addChild(b2Array[b2Array.length - 1]);
- b2Array[b2Array.length - 1].x = s.x;
- b2Array[b2Array.length - 1].y = s.y;
- }
- }
- // moving normal bullets
- function moveBullets1(): void {
- for (var i: Number = 0; i < b1Array.length; i++) {
- b1Array[i].y -= 10;
- if (b1Array[i].y < 0) {
- removeChild(b1Array[i]);
- b1Array.splice(i, 1);
- }
- // checking to see if hit alien
- for (var j: Number = 0; j < aArray.length; j++) {
- if (b1Array[i].hitTestObject(aArray[j])) {
- removeChild(aArray[j]);
- aArray.splice(j, 1);
- removeChild(b1Array[i]);
- b1Array.splice(i, 1);
- numscore += 10;
- score.text = String(numscore);
- score.setTextFormat(scoretf);
- }
- }
- }
- }
- // moving special bullets
- function moveBullets2(): void {
- for (var i: Number = 0; i < b2Array.length; i++) {
- b2Array[i].y -= 20;
- if (b2Array[i].y < 0) {
- removeChild(b2Array[i]);
- b2Array.splice(i, 1);
- }
- // checking to see if hit alien
- for (var j: Number = 0; j < aArray.length; j++) {
- if (b2Array[i].hitTestObject(aArray[j])) {
- removeChild(aArray[j]);
- aArray.splice(j, 1);
- removeChild(b2Array[i]);
- b2Array.splice(i, 1);
- numscore += 10;
- score.text = String(numscore);
- score.setTextFormat(scoretf);
- }
- }
- }
- }
- // if aliens get to the bottom
- //function bottomScreenReset(): void {
- //for (var i: Number = 0; i < 5; i++) {
- //if (aArray[aArray.length - 1].y > 375 || aArray[aArray.length - 1].y < 0) {
- //aArray[i].y += 60;
- //endCheck = true;
- //}
- //}
- //if (endCheck == true) {
- //for (var j: Number = 0; j < aArray.length; j++) {
- //aArray[j].y += 60;
- //aArray[aArray.length - 1].x = j * 50;
- //aArray[aArray.length - 1].y = i * 55 + 600;
- //endCheck = false;
- // aNum = 0;
- //end.x = 275;
- //end.y = 200;
- //s.x = 1000;
- //}
- //}
- //}
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment