Skip to content
Snippets Groups Projects
Commit a2319f48 authored by Jan Grewe's avatar Jan Grewe
Browse files

show range value

stop settings sending after settings loading
initialize colorMap when generating initial random matrix
parent 65ffedd6
Branches
No related tags found
No related merge requests found
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<input type="radio" class="btn-check btnColorMode" id="btnColorMode_1" data-mode="1" autocomplete="off" disabled> <input type="radio" class="btn-check btnColorMode" id="btnColorMode_1" data-mode="1" autocomplete="off" disabled>
<label class="btn btn-outline-primary" for="btnColorMode_1">Simple</label> <label class="btn btn-outline-primary" for="btnColorMode_1">Simple</label>
<input type="radio" class="btn-check btnColorMode" id="btnColorMode_2" data-mode="2" data-control="#collapseDecay" autocomplete="off" disabled> <input type="radio" class="btn-check btnColorMode" id="btnColorMode_2" data-mode="2" data-control="#collapseColorDecay" autocomplete="off" disabled>
<label class="btn btn-outline-primary" for="btnColorMode_2">Dynamic</label> <label class="btn btn-outline-primary" for="btnColorMode_2">Dynamic</label>
</div> </div>
</div> </div>
...@@ -57,19 +57,19 @@ ...@@ -57,19 +57,19 @@
<div class="row mb-2 px-3 collapse collapseSettings" id="collapseColorpicker"> <div class="row mb-2 px-3 collapse collapseSettings" id="collapseColorpicker">
<div id="colorpicker" class="d-flex justify-content-center"></div> <div id="colorpicker" class="d-flex justify-content-center"></div>
</div> </div>
<div class="row mb-2 px-3 collapse collapseSettings" id="collapseDecay"> <div class="row mb-2 px-3 collapse collapseSettings" id="collapseColorDecay">
<label for="rangeDecay" class="col-form-label">Cell Aging</label> <label for="rangeColorDecay" class="col-form-label">Cell Aging: <span id="value_colorDecay">0</span>%</label>
<input type="range" class="form-range rangeSetting" id="rangeDecay" data-name="colorDecay" min="1" <input type="range" class="form-range rangeSetting" id="rangeColorDecay" data-name="colorDecay" min="1"
max="100" steps="1" disabled> max="100" steps="1" disabled>
</div> </div>
<div class="row mb-2 px-3"> <div class="row mb-2 px-3">
<label for="rangeBrightness" class="col-form-label">Brightness</label> <label for="rangeBrightness" class="col-form-label">Brightness: <span id="value_brightness">0</span>%</label>
<input type="range" class="form-range rangeSetting" id="rangeBrightness" data-name="brightness" min="1" <input type="range" class="form-range rangeSetting" id="rangeBrightness" data-name="brightness" min="1"
max="100" steps="1" disabled> max="100" steps="1" disabled>
</div> </div>
<div class="row mb-2 px-3"> <div class="row mb-2 px-3">
<label for="rangeSpeed" class="col-form-label">Speed</label> <label for="rangeInterval" class="col-form-label">Speed: <span id="value_interval">0</span>%</label>
<input type="range" class="form-range rangeSetting" id="rangeSpeed" data-name="interval" min="1" max="100" <input type="range" class="form-range rangeSetting" id="rangeInterval" data-name="interval" min="1" max="100"
steps="10" disabled> steps="10" disabled>
</div> </div>
<div class="row px-3 mt-4"> <div class="row px-3 mt-4">
......
...@@ -15,6 +15,7 @@ var settings = { ...@@ -15,6 +15,7 @@ var settings = {
var highscores = {}; var highscores = {};
var initHighscores = true; var initHighscores = true;
var uiEnabled = false; var uiEnabled = false;
var skipSendSettings = false;
$(document).ready(function () { $(document).ready(function () {
enabledUI(false); enabledUI(false);
...@@ -30,6 +31,10 @@ $(window).on('load', function () { ...@@ -30,6 +31,10 @@ $(window).on('load', function () {
}); });
}); });
$(document).on('input', '.rangeSetting', function () {
$('#value_'+$(this).data('name')).text($(this).val());
});
$(document).on('change', '.rangeSetting', function () { $(document).on('change', '.rangeSetting', function () {
var setting = $(this).data('name'); var setting = $(this).data('name');
var value = $(this).val(); var value = $(this).val();
...@@ -103,7 +108,7 @@ function addMessage(msg) { ...@@ -103,7 +108,7 @@ function addMessage(msg) {
} }
function sendSettings() { function sendSettings() {
if (!uiEnabled) { if (!uiEnabled || skipSendSettings) {
return; return;
} }
var payload = { var payload = {
...@@ -165,6 +170,7 @@ function sendAction(action) { ...@@ -165,6 +170,7 @@ function sendAction(action) {
} }
function loadSettings(data) { function loadSettings(data) {
skipSendSettings = true;
settings.brightness = data.brightness; settings.brightness = data.brightness;
settings.interval = data.interval; settings.interval = data.interval;
settings.colorMode = data.colorMode; settings.colorMode = data.colorMode;
...@@ -173,10 +179,14 @@ function loadSettings(data) { ...@@ -173,10 +179,14 @@ function loadSettings(data) {
enabledUI(true); enabledUI(true);
$('.btnColorMode').prop('checked', false); $('.btnColorMode').prop('checked', false);
$('#btnColorMode_' + settings.colorMode).trigger('click'); $('#btnColorMode_' + settings.colorMode).trigger('click');
$('#rangeDecay').val(mapRange(data.colorDecay, 100, 1, 1, 100)); $('#rangeColorDecay').val(mapRange(data.colorDecay, 100, 1, 1, 100));
$('#value_colorDecay').text($('#rangeColorDecay').val());
$('#rangeBrightness').val(mapRange(data.brightness, 8, 255, 1, 100)); $('#rangeBrightness').val(mapRange(data.brightness, 8, 255, 1, 100));
$('#rangeSpeed').val(mapRange(data.interval, 1000, 10, 1, 100)); $('#value_brightness').text($('#rangeBrightness').val());
$('#rangeInterval').val(mapRange(data.interval, 1000, 10, 1, 100));
$('#value_interval').text($('#rangeInterval').val());
sendAction('getHighscores'); sendAction('getHighscores');
skipSendSettings = false;
} }
function updateHighscore(hs) { function updateHighscore(hs) {
......
...@@ -49,6 +49,7 @@ void createRandomMatrix(bool (&a)[SCREEN_HEIGHT][SCREEN_WIDTH]) ...@@ -49,6 +49,7 @@ void createRandomMatrix(bool (&a)[SCREEN_HEIGHT][SCREEN_WIDTH])
for (int col = 0; col < SCREEN_WIDTH; col++) for (int col = 0; col < SCREEN_WIDTH; col++)
{ {
a[row][col] = random(100) < 25 ? 1 : 0; a[row][col] = random(100) < 25 ? 1 : 0;
colorMap[row][col] = 0;
} }
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment