Skip to content

Commit 6fda959

Browse files
authored
Add a random time in environment
1 parent 626dd57 commit 6fda959

File tree

1 file changed

+60
-8
lines changed

1 file changed

+60
-8
lines changed

apps/f9lander/app.js

Lines changed: 60 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,10 @@ var exploded = false;
4747
var nExplosions = 0;
4848
//var landed = false;
4949
var lightning = 0;
50+
var timeOfDay=0;
5051

51-
var settings = require("Storage").readJSON('f9settings.json', 1) || {};
52+
var settings = require("Storage").readJSON('f9settings.json', 1) || {
53+
};
5254

5355
const gravity = 4;
5456
const dt = 0.1;
@@ -83,6 +85,12 @@ function drawFalcon(x, y, throttle, angle) {
8385
}
8486
}
8587

88+
function getRandomInt(min, max) {
89+
min = Math.ceil(min);
90+
max = Math.floor(max);
91+
return Math.floor(Math.random() * (max - min)) + min;
92+
}
93+
8694
function drawLightning() {
8795
var c = {x:cloudOffs+50, y:30};
8896
var dx = c.x-booster.x;
@@ -98,15 +106,45 @@ function drawBG() {
98106
Bangle.buzz(200);
99107
return;
100108
}
101-
g.setBgColor(0.2, 0.2, 1).clear();
102-
g.setColor(0, 0, 1).fillRect(0, g.getHeight()-oceanHeight, g.getWidth()-1, g.getHeight()-1);
103-
g.setColor(0.5, 0.5, 1).fillCircle(cloudOffs+34, 30, 15).fillCircle(cloudOffs+60, 35, 20).fillCircle(cloudOffs+75, 20, 10);
104-
g.setColor(1, 1, 0).fillCircle(g.getWidth(), 0, 20);
109+
110+
111+
112+
if(timeOfDay==0){
113+
//day
114+
g.setBgColor(0.2, 0.2, 1).clear();
115+
116+
g.setColor(0.5, 0.5, 1).fillCircle(cloudOffs+34, 30, 15).fillCircle(cloudOffs+60, 35, 20).fillCircle(cloudOffs+75, 20, 10);
117+
g.setColor(1, 1, 0).fillCircle(g.getWidth(), 0, 20);
118+
g.setColor(0, 0, 1).fillRect(0, g.getHeight()-oceanHeight, g.getWidth()-1, g.getHeight()-1);
119+
120+
}else if(timeOfDay==1){
121+
//sunset
122+
g.setBgColor(1, 0.5, 0.2).clear();
123+
g.setColor(0.5, 0.5, 1).fillCircle(cloudOffs+34, 30, 15).fillCircle(cloudOffs+60, 35, 20).fillCircle(cloudOffs+75, 20, 10);
124+
g.setColor(1, 0.3, 0).fillCircle(g.getWidth(), 0, 20);
125+
g.setColor(0, 0, 1).fillRect(0, g.getHeight()-oceanHeight, g.getWidth()-1, g.getHeight()-1);
126+
127+
}else{
128+
//night
129+
g.setBgColor(0, 0, 0).clear();
130+
g.setColor(0.5, 0.5, 1).fillCircle(cloudOffs+34, 30, 15).fillCircle(cloudOffs+60, 35, 20).fillCircle(cloudOffs+75, 20, 10);
131+
g.setColor(1, 1, 1).fillCircle(g.getWidth(), 0, 20);
132+
g.setColor(0, 0, 0.3).fillRect(0, g.getHeight()-oceanHeight, g.getWidth()-1, g.getHeight()-1);
133+
134+
}
135+
136+
137+
105138
g.setColor(1, 1, 1).drawImage(droneShip, droneX, g.getHeight()-oceanHeight-1);
106139
}
107140

108141
function showFuel() {
109-
g.setColor(0, 0, 0).setFont("4x6:2").setFontAlign(-1, -1, 0).drawString("Fuel: "+Math.abs(booster.fuel).toFixed(0), 4, 4);
142+
if(timeOfDay==2){
143+
g.setColor(1, 1, 1)
144+
}else{
145+
g.setColor(0, 0, 0)
146+
}
147+
g.setFont("4x6:2").setFontAlign(-1, -1, 0).drawString("Fuel: "+Math.abs(booster.fuel).toFixed(0), 4, 4);
110148
}
111149

112150
function renderScreen(input) {
@@ -128,7 +166,12 @@ function getInputs() {
128166
}
129167

130168
function epilogue(str) {
131-
g.setFont("Vector", 24).setFontAlign(0, 0, 0).setColor(0, 0, 0).drawString(str, g.getWidth()/2, g.getHeight()/2).flip();
169+
if(timeOfDay==2){
170+
g.setColor(1, 1, 1)
171+
}else{
172+
g.setColor(0, 0, 0)
173+
}
174+
g.setFont("Vector", 24).setFontAlign(0, 0, 0).drawString(str, g.getWidth()/2, g.getHeight()/2).flip();
132175
g.setFont("Vector", 16).drawString("<= again exit =>", g.getWidth()/2, g.getHeight()/2+20);
133176
clearInterval(stepInterval);
134177
Bangle.on("swipe", (d) => { if (d>0) load(); else load('f9lander.app.js'); });
@@ -168,10 +211,19 @@ function gameStep() {
168211
}
169212
}
170213

214+
if(settings.timeChange){
215+
timeOfDay=getRandomInt(0,3)
216+
}
217+
171218
var stepInterval;
172219
Bangle.setLCDTimeout(0);
173220
renderScreen({angle:0, throttle:0});
174-
g.setFont("Vector", 24).setFontAlign(0, 0, 0).setColor(0, 0, 0).drawString("Swipe to start", g.getWidth()/2, g.getHeight()/2);
221+
if(timeOfDay==2){
222+
g.setColor(1, 1, 1)
223+
}else{
224+
g.setColor(0, 0, 0)
225+
}
226+
g.setFont("Vector", 24).setFontAlign(0, 0, 0).drawString("Swipe to start", g.getWidth()/2, g.getHeight()/2);
175227
Bangle.on("swipe", () => {
176228
stepInterval = setInterval(gameStep, Math.floor(1000*dt));
177229
Bangle.removeListener("swipe");

0 commit comments

Comments
 (0)