mirror of https://github.com/espruino/BangleApps
Add files via upload
parent
ac5c80ff38
commit
208ac30a39
|
@ -0,0 +1 @@
|
|||
0.01: New App!
|
|
@ -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 
|
||||
|
||||
## 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
|
|
@ -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=="))
|
|
@ -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();
|
||||
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 665 B |
|
@ -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}
|
||||
]
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
Loading…
Reference in New Issue