Add files via upload

master
Brian Kumanchik 2022-05-28 13:15:33 -08:00 committed by GitHub
parent c00820190c
commit 3d296473d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 21 deletions

View File

@ -3,7 +3,12 @@
// My Invader Demo, for Bangle.js 2, written JavaScript - using Espruino Web IDE // My Invader Demo, for Bangle.js 2, written JavaScript - using Espruino Web IDE
// resolution 176x176 // note: resolution is 176x176
// to do:
// make invader clock
// upload to official app page
// - variables ----------------------------------------- // - variables -----------------------------------------
@ -34,7 +39,7 @@ var shot_fired = false; // turret fired state
var sx = -20; // turret shot starting x - off screen var sx = -20; // turret shot starting x - off screen
var sy = -20; // turret shot starting y - off screen var sy = -20; // turret shot starting y - off screen
var turret_been_hit = false; var turret_been_hit = false;
var turret_blast_delay = 21; // keep blast active on screen for 60 frames var turret_blast_delay = 25; // keep blast active on screen for 60 frames
var turret_exp_frame = 1; // turret explode start animation frame var turret_exp_frame = 1; // turret explode start animation frame
var turret_anim_delay = 3; // turret explode animation delay var turret_anim_delay = 3; // turret explode animation delay
var explosion_play = false; var explosion_play = false;
@ -50,7 +55,7 @@ var fire_been_pressed = false; // stops auto fire
// input(screen controller) variables // input(screen controller) variables
var BTNL, BTNR, BTNF, BTNS; // button - left, right, fire, start var BTNL, BTNR, BTNF, BTNS; // button - left, right, fire, start
var tap = {}; var tap = {};
// use tapping on screen for left and right // use tapping on screen for left, right, fire, start
Bangle.on('drag',e=>tap=e); Bangle.on('drag',e=>tap=e);
BTNL = { read : _=>tap.b && tap.x < 88 && tap.y > 88}; BTNL = { read : _=>tap.b && tap.x < 88 && tap.y > 88};
BTNR = { read : _=>tap.b && tap.x > 88 && tap.y > 88}; BTNR = { read : _=>tap.b && tap.x > 88 && tap.y > 88};
@ -133,7 +138,7 @@ function invader_fire() {
function turret_hit() { function turret_hit() {
if (turret_been_hit) { if (turret_been_hit) {
if (!(explosion_play)) { if (!(explosion_play)) {
Bangle.buzz(); //Bangle.buzz();
//Bangle.beep(); //Bangle.beep();
} }
@ -144,6 +149,7 @@ function turret_hit() {
if (turret_anim_delay < 0) { if (turret_anim_delay < 0) {
turret_exp_frame += 1; turret_exp_frame += 1;
if (turret_exp_frame > 2) { if (turret_exp_frame > 2) {
Bangle.buzz();
turret_exp_frame = 1; turret_exp_frame = 1;
} }
turret_anim_delay = 3; turret_anim_delay = 3;
@ -181,9 +187,8 @@ function invader_hit() {
been_hit = false; been_hit = false;
bx = -32; // move boom off screen (following invader) bx = -32; // move boom off screen (following invader)
by = -32; by = -32;
// to gerate a random rounded number between 10 and 142; // generate a random rounded number between 10 and 142;
inv_x = Math.floor(Math.random() * 142) + 10; inv_x = Math.floor(Math.random() * 142) + 10;
//inv_x = 77; // move invader back up after being hit
inv_y = 20; // move invader back up after being hit inv_y = 20; // move invader back up after being hit
i_dir = 1; // reset invader direction i_dir = 1; // reset invader direction
} }
@ -200,7 +205,7 @@ function gameStart() {
// - main loop ------------------------------------------------------------- // - main loop -------------------------------------------------------------
function onFrame() { function onFrame() {
// game not started state (title screen) // game not started state (title screen) ***************************
if(game_state == 0) { if(game_state == 0) {
g.clear(); g.clear();
@ -230,6 +235,7 @@ function onFrame() {
// draw sprites during game over state // draw sprites during game over state
// next 2 line for a rotating invader on the title screen
//ang += 0.1; //ang += 0.1;
//g.drawImage(invader_a, 88, 98, {scale:4, rotate:ang}); //g.drawImage(invader_a, 88, 98, {scale:4, rotate:ang});
if(inv_frame == 1) { if(inv_frame == 1) {
@ -251,13 +257,15 @@ function onFrame() {
score = 0; // reset score score = 0; // reset score
explosion_play = false; explosion_play = false;
game_state = 1; game_state = 1;
turret_blast_delay = 25;
} }
g.flip(); g.flip();
} }
// game over state
// game over state *************************************************
if(game_state == 3) { if(game_state == 3) {
g.clear(); g.clear();
@ -278,17 +286,18 @@ function onFrame() {
// reset stuff // reset stuff
if(BTNS.read()) { if(BTNS.read()) {
turret_been_hit = false; //turret_been_hit = false;
tur_x = 77; // reset turret to center of screen //tur_x = 77; // reset turret to center of screen
tur_y = 148; // reset turret y //tur_y = 148; // reset turret y
inv_x = 77; // reset invader to center of screen //inv_x = 77; // reset invader to center of screen
inv_y = 20; // reset invader back to top //inv_y = 20; // reset invader back to top
i_dir = 1; // reset invader direction //i_dir = 1; // reset invader direction
lives = 3; // reset lives //lives = 3; // reset lives
score = 0; // reset score //score = 0; // reset score
explosion_play = false; //explosion_play = false;
game_state = 0; game_state = 0;
start_been_pressed = true; start_been_pressed = true;
//turret_blast_delay = 25;
} }
@ -296,7 +305,7 @@ function onFrame() {
} }
// not game over state (game running) // not game over state (game running) ******************************
if(game_state == 1) { if(game_state == 1) {
g.clear(); g.clear();
@ -364,7 +373,8 @@ function onFrame() {
lives -= 1; lives -= 1;
if (lives == 0) { if (lives == 0) {
game_state = 3; game_state = 3;
Bangle.buzz();
} }
turret_been_hit = true; turret_been_hit = true;
} }

View File

@ -1,7 +1,7 @@
{ "id": "invader", { "id": "invader",
"name": "Invader", "name": "Invader",
"shortName":"Invader", "shortName":"Invader",
"version":"0.07", "version":"0.08",
"description": "A Space Invader game-like demo - work in progress", "description": "A Space Invader game-like demo - work in progress",
"icon": "app.png", "icon": "app.png",
"screenshots" : [ { "url":"screenshot_0.png" }, { "url":"screenshot_1.png" }, { "url":"screenshot_2.png" } ], "screenshots" : [ { "url":"screenshot_0.png" }, { "url":"screenshot_1.png" }, { "url":"screenshot_2.png" } ],