Merge pull request #6 from rsninja722/respiratory-ui

Simple Respiration
This commit is contained in:
rsninja722 2020-04-18 14:28:45 -04:00 committed by GitHub
commit 2d6863dd1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 46 additions and 17 deletions

View File

@ -9,6 +9,8 @@ function drawLevelTransitionUI() {
// UI for playing // UI for playing
function drawPlayingUI() { function drawPlayingUI() {
cartesianRect(0,ch/3*2, cw, ch/3, "#333333")
//Heart Rate Monitor //Heart Rate Monitor
heartBeatUI(cw/4*3-8,ch/8*7-8,cw/4,ch/8); heartBeatUI(cw/4*3-8,ch/8*7-8,cw/4,ch/8);
@ -32,8 +34,8 @@ function drawEndUI() {
*/ */
function respiratoryUI(x, y, width, height){ function respiratoryUI(x, y, width, height){
cartesianRect(x,y,width,height, "black"); cartesianRect(x,y,width,height, "rgb("+noBreathTimer/180*255+","+0+","+0+")");
cartesianRect(x,y+(height-breath/constants.lifeFuncs.breath.fullBreath*height), width, breath/constants.lifeFuncs.breath.fullBreath*height, "teal"); cartesianRect(x,y+(height-breath/constants.lifeFuncs.breath.fullBreath*height), width, breath/constants.lifeFuncs.breath.fullBreath*height, "rgb("+255+","+(255-fullBreathTimer/180*255)+","+(255-fullBreathTimer/180*255)+")");
} }
/*** /***

View File

@ -1,37 +1,64 @@
let breath = 180; let breath = 180;
let fullBreathTimer = 0; let fullBreathTimer = 0;
let noBreathTimer = 0;
let heartRate = 60; let heartRate = 60;
let heartBeat = false; let heartBeat = false;
var breathMode = {
inhale: 0,
exhale: 1
};
let currentBreathMode = breathMode.exhale;
function updateLife() { function updateLife() {
if(keyDown[k.z]) { if(keyDown[k.UP]) {
breathe(); if(breath === 0) currentBreathMode = breathMode.inhale;
} else {
breath--;
} }
if(keyDown[k.DOWN]) {
if(breath === constants.lifeFuncs.breath.fullBreath) currentBreathMode = breathMode.exhale;
}
breathe();
if(keyPress[k.x]) { if(keyPress[k.x]) {
heartbeat(); heartbeat();
} }
}; };
function breathe() { function breathe() {
switch (currentBreathMode) {
breath += 5; case breathMode.inhale:
if(breath >= constants.lifeFuncs.breath.fullBreath) { breath += 1;
breath = constants.lifeFuncs.breath.fullBreath; if(breath >= constants.lifeFuncs.breath.fullBreath) {
fullBreathTimer++; breath = constants.lifeFuncs.breath.fullBreath;
if(fullBreathTimer >= 60) { fullBreathTimer++;
//cough and lose breath or something if(fullBreathTimer >= 180) {
} //cough and lose breath or something
} else { }
fullBreathTimer = 0; } else {
fullBreathTimer = 0;
}
break;
case breathMode.exhale:
breath -= 1;
if(breath <= 0) {
breath = 0;
noBreathTimer++;
if(noBreathTimer >= 180) {
//cough and lose breath or something
}
} else {
noBreathTimer = 0;
}
break;
} }
}; };
function heartbeat() { function heartbeat() {