Add files via upload

pull/1903/head
Brian Kumanchik 2022-05-27 11:28:06 -08:00 committed by GitHub
parent ac5c80ff38
commit 208ac30a39
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 151 additions and 0 deletions

1
apps/invader/ChangeLog Normal file
View File

@ -0,0 +1 @@
0.01: New App!

25
apps/invader/README.md Normal file
View File

@ -0,0 +1,25 @@
# App Name
Describe the app...
Add screen shots (if possible) to the app folder and link then into this file with ![](<name>.png)
## Usage
Describe how to use it
## Features
Name the function
## Controls
Name the buttons and what they are used for
## Requests
Name who should be contacted for support/update requests
## Creator
Your name

1
apps/invader/app-icon.js Normal file
View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("mEwhHXAH4A/AH4A/AH4AYgAACC/4X/C/YbTFbYv/F/4rTAC4v/F/4vfC5YnPGaYv/F/4vLc7b3TF/4v/F/4v/F/4vTA5YAPE64v/F/4fTa55DXF/4v/AH4A/AH4A/AH4A/AHIA=="))

110
apps/invader/app.js Normal file
View File

@ -0,0 +1,110 @@
// Brian Kumanchik
// Started 05-25-22
// My Invader Demo, for Bangle.js 2, written JavaScript - using Espruino Web IDE
// - variables -----------------------------------------
// invader variables
var inv_x = 77;
var inv_y = 20;
// turret variables
var tur_x = 77;
var tur_y = 138;
// misc variables
var score = 999;
var lives = 3;
var game_over = false;
// input(screen controller) variables
var BTNL, BTNR, BTNF;
var tap = {};
// use tapping on screen for left and right
Bangle.on('drag',e=>tap=e);
BTNL = { read : _=>tap.b && tap.x < 88 && tap.y > 88};
BTNR = { read : _=>tap.b && tap.x > 88 && tap.y > 88};
BTNF = { read : _=>tap.b && tap.x > 88 && tap.y < 88};
// - sprites -------------------------------------------
// invader sprites
var invader_a =
require("heatshrink").decompress(atob("kEgwkBiMRgACBAAQFFBJIPJBQgOKB55MGB64JCBoYQIB5yOKB+qvIA6pxHX5YPOAH4A/AH4A8A=="));
var invader_b =
require("heatshrink").decompress(atob("kEgxH+AAYJBAwgLQCaYfPB4oVHBpofnSpofvCY4HND9oAPD9IhTDpYfhd6IftN6IPtAH4A/AH4A/AH4A/AH4A9A="));
var boom =
require("heatshrink").decompress(atob("kEgxH+AH4AFJYIHND9YTFAoYJJD9YRNMLKhbX/IRBV6JvND7p//f/4RHAoYJJD9a//AH4A/AH4A/AH4A9A=="));
var inv_shot =
require("heatshrink").decompress(atob("kEgxH+AH4A/ABaRBD/pB/Hv69/IP4A/AH4A/AH4A/AH4A/AH4AzA"));
// turret sprites
var turret =
require("heatshrink").decompress(atob("kEgxH+AH4A/AH4A/AH4A/AH4A/ABcAgAf7DoIADD/4fxC4oAPD84dVEJIf/D/4f/D74="));
var tur_exp_a =
require("heatshrink").decompress(atob("kEgxH+AH4A/AH4A/AH4A/AH4A/AAcAgATdD7YbJBJYLFAoYffDKqLXD6qlVB86lHLYoFDS5offA5YbRD8YZHABLbRD7aZLD5IlJD7YA="));
var tur_exp_b =
require("heatshrink").decompress(atob("kEgxH+AH4A/AH4A/AH4A/AH4A/AAcAgATdD7YbJBJYLFAoYffDKqLXD6qlVB86lHLYoFDS5offA5YbRD8YZHABLbRD7aZLD5IlJD7YA="));
var shot =
require("heatshrink").decompress(atob("kEgxH+AH4A/AH4A/ABcAgAf/D/4f9AH4A/AH4A/AH4A/AH4A/AGY"));
// - setup stuff ---------------------------------------
function gameStart() {
setInterval(onFrame, 50);
}
// - main loop -----------------------------------------
function onFrame() {
// if not game over
if(game_over == false) {
g.clear();
// check input (screen presses)
if(BTNL.read()) {
tur_x -= 5;
}
else if(BTNR.read()) {
tur_x += 5;
}
else if(BTNF.read()) {
tur_y -= 5;
}
// - draw sprites ----------------------------------
// draw invader sprites
g.drawImage(invader_a, inv_x, inv_y);
//g.drawImage(invader_b, inv_x + 30, inv_y);
//g.drawImage(boom, inv_x + 60, inv_y);
//g.drawImage(inv_shot, inv_x - 30, inv_y);
// draw turret sprites
g.drawImage(turret, tur_x, tur_y);
//g.drawImage(tur_exp_a, tur_x + 30, tur_y);
//g.drawImage(tur_exp_b, tur_x + 60, tur_y);
//g.drawImage(shot, tur_x - 30, tur_y);
// - draw text -------------------------------------
g.setFont("4x6", 2);
g.setColor(0,0,0);
g.drawString("SCORE:" + score ,5,5); //
g.drawString("LIVES:" + lives ,117,5); //
g.flip();
}
}
gameStart();

BIN
apps/invader/app.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 B

View File

@ -0,0 +1,14 @@
{ "id": "invader",
"name": "Invader",
"shortName":"Invader",
"version":"0.01",
"description": "A Space Invader game-like demo",
"icon": "app.png",
"tags": "",
"supports" : ["BANGLEJS2"],
"readme": "README.md",
"storage": [
{"name":"invader.app.js","url":"app.js"},
{"name":"invader.img","url":"app-icon.js","evaluate":true}
]
}

BIN
apps/invader/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB