Update app.js

Tidy up complete
master
Andy Smy 2025-05-13 01:00:29 +01:00 committed by GitHub
parent bdfb5029d0
commit b7e908d0b8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 55 additions and 43 deletions

View File

@ -312,16 +312,19 @@ function resumeGame() {
function incrementWickets(inc) { function incrementWickets(inc) {
processing = true; processing = true;
E.showPrompt(/*LANG*/"Amend wickets by " + inc + "?").then(function(confirmed) { E.showPrompt(/*LANG*/"Amend wickets by " + inc + "?").
then(function(confirmed) {
if (confirmed) { if (confirmed) {
Bangle.buzz(); Bangle.buzz();
wickets += inc; wickets += inc;
var timeSig = new Date(); var timeSig = new Date();
if(inc>0) { if(inc>0) {
countDown(1); countDown(1);
addLog(timeSig, over, counter, "Wicket", "Wickets: " + wickets); addLog(timeSig, over, counter,
"Wicket", "Wickets: " + wickets);
} else { } else {
addLog(timeSig, over, counter, /*LANG*/"Recall Batter", "Wickets: " + wickets); addLog(timeSig, over, counter,
/*LANG*/"Recall Batter", "Wickets: " + wickets);
} }
resumeGame(); resumeGame();
} else { } else {
@ -335,6 +338,7 @@ function showMainMenu() {
processing = true; processing = true;
Bangle.setUI(); Bangle.setUI();
var scrollMenuItems = []; var scrollMenuItems = [];
// add menu items
if(over==0) { if(over==0) {
scrollMenuItems.push("Call Play"); scrollMenuItems.push("Call Play");
} else { } else {
@ -342,13 +346,15 @@ function showMainMenu() {
} }
if(over>0 && !timeCalled) { if(over>0 && !timeCalled) {
scrollMenuItems.push("Wicket"); scrollMenuItems.push("Wicket");
if(wickets>0) scrollMenuItems.push(/*LANG*/"Recall Batter"); if(wickets>0)
scrollMenuItems.push(/*LANG*/"Recall Batter");
scrollMenuItems.push("Call Time"); scrollMenuItems.push("Call Time");
scrollMenuItems.push("2nd Innings"); scrollMenuItems.push("2nd Innings");
if(!HRM) scrollMenuItems.push("Start HRM"); if(!HRM)
scrollMenuItems.push("Start HRM");
} }
if(HRM) scrollMenuItems.push("Stop HRM"); if(HRM) scrollMenuItems.push("Stop HRM");
// show menu
return E.showScroller({ return E.showScroller({
h: 80, c: scrollMenuItems.length, h: 80, c: scrollMenuItems.length,
draw: (idx, r) => { draw: (idx, r) => {
@ -356,20 +362,25 @@ function showMainMenu() {
g.setFont("Vector", 30).drawString(scrollMenuItems[idx],r.x+10,r.y+28); g.setFont("Vector", 30).drawString(scrollMenuItems[idx],r.x+10,r.y+28);
}, },
select: (idx) => { select: (idx) => {
console.log(scrollMenuItems[idx]);
if(scrollMenuItems[idx]=="Call Time") { if(scrollMenuItems[idx]=="Call Time") {
timeCalled = true; timeCalled = true;
// power down HRM until play
Bangle.setHRMPower(0); Bangle.setHRMPower(0);
var timeSig = new Date(); var timeSig = new Date();
timeTimes.push(timeSig.getTime()); timeTimes.push(timeSig.getTime());
addLog(timeSig, over, counter, "Time", ""); addLog(timeSig, over, counter,
"Time", "");
resumeGame(); resumeGame();
} }
if(scrollMenuItems[idx]=="Call Play" if(scrollMenuItems[idx]=="Call Play"
|| scrollMenuItems[idx]=="« Back") resumeGame(); || scrollMenuItems[idx]=="« Back")
if(scrollMenuItems[idx]=="Wicket") incrementWickets(1); resumeGame();
if(scrollMenuItems[idx]==/*LANG*/"Recall Batter") incrementWickets(-1); if(scrollMenuItems[idx]=="Wicket")
if(scrollMenuItems[idx]=="2nd Innings") newInnings(); incrementWickets(1);
if(scrollMenuItems[idx]==/*LANG*/"Recall Batter")
incrementWickets(-1);
if(scrollMenuItems[idx]=="2nd Innings")
newInnings();
if(scrollMenuItems[idx]=="Start HRM" if(scrollMenuItems[idx]=="Start HRM"
|| scrollMenuItems[idx]=="Stop HRM") { || scrollMenuItems[idx]=="Stop HRM") {
toggleHRM(); toggleHRM();
@ -379,13 +390,11 @@ function showMainMenu() {
}); });
} }
// Start the app
var file = require("Storage").open("matchlog.csv","a");
function newInnings() { function newInnings() {
var timeSig = new Date(); var timeSig = new Date();
if(over!=0) { if(over!=0) { // next innings
E.showPrompt(/*LANG*/"Start next innings?").then(function(confirmed) { E.showPrompt(/*LANG*/"Start next innings?").
then(function(confirmed) {
if (confirmed) { if (confirmed) {
Bangle.buzz(); Bangle.buzz();
processing = true; //debounce to inhibit twist events processing = true; //debounce to inhibit twist events
@ -397,18 +406,21 @@ function newInnings() {
timeTimes = []; timeTimes = [];
log = []; log = [];
timeCalled = false; timeCalled = false;
addLog(timeSig, OVERS_PER_INNINGS + 1, BALLS_PER_OVER, "New Innings", require("locale").date(new Date(), 1)); addLog(timeSig, OVERS_PER_INNINGS + 1, BALLS_PER_OVER,
"New Innings", require("locale").date(new Date(), 1));
resumeGame(); resumeGame();
} else { } else {
E.showPrompt(); E.showPrompt();
menu = showMainMenu(); menu = showMainMenu();
} }
}); });
} else { } else { // 1st innings
addLog(timeSig, OVERS_PER_INNINGS + 1, BALLS_PER_OVER, "New Innings", require("locale").date(new Date(), 1)); addLog(timeSig, OVERS_PER_INNINGS + 1, BALLS_PER_OVER,
"New Innings", require("locale").date(new Date(), 1));
} }
} }
// initialise file in storage
newInnings(); var file = require("Storage").open("matchlog.csv","a");
// start app
var menu = showMainMenu(); newInnings(); // prepare 1st innings
var menu = showMainMenu(); // ready to play