Game now displays places on map, minor tweaks
parent
02af40c19b
commit
b84421764a
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1664 1344v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45z"/></svg>
|
After Width: | Height: | Size: 407 B |
@ -0,0 +1,3 @@
|
||||
<div class="scrollable-box">
|
||||
|
||||
</div>
|
@ -0,0 +1,24 @@
|
||||
<div>
|
||||
|
||||
<!-- Nav tabs -->
|
||||
<ul class="nav nav-tabs" role="tablist" id="menutablist">
|
||||
<li role="presentation" class="active"><a href="#inventory" aria-controls="inventory" role="tab" data-toggle="tab" id="inventory-tab">Inventory</a></li>
|
||||
<li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab" id="profile-tab">Profile</a></li>
|
||||
<li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab" id="settings-tab">Settings</a></li>
|
||||
</ul>
|
||||
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content" id="menutabcontent">
|
||||
<div role="tabpanel" class="tab-pane active" id="inventory">...</div>
|
||||
<div role="tabpanel" class="tab-pane" id="profile"></div>
|
||||
<div role="tabpanel" class="tab-pane" id="settings">...</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
$('#menutabcontent #profile').load("screens/profile.html", null, function (x) {
|
||||
loadProfile(username);
|
||||
});
|
||||
$('#menutabcontent #settings').load("screens/settings.html");
|
||||
$('#menutabcontent #inventory').load("screens/inventory.html");
|
||||
</script>
|
@ -1,59 +1,61 @@
|
||||
<div class="h4" id="player-name"></div>
|
||||
<p id="player-level"></p>
|
||||
<div class="h5">Badges</div>
|
||||
<div id="loading-badges">
|
||||
<i class="fa fa-spinner fa-pulse"></i> Loading...
|
||||
</div>
|
||||
<div class="row" id="badges">
|
||||
<div class="scrollable-box">
|
||||
<div class="h4" id="player-name"></div>
|
||||
<p id="player-level"></p>
|
||||
<div class="h5">Badges</div>
|
||||
<div id="loading-badges">
|
||||
<i class="fa fa-spinner fa-pulse"></i> Loading...
|
||||
</div>
|
||||
<div class="row" id="badges">
|
||||
|
||||
</div>
|
||||
<script>
|
||||
function popBadge(name, desc) {
|
||||
navigator.notification.alert(desc, null, name, "Close");
|
||||
}
|
||||
</div>
|
||||
<script>
|
||||
function popBadge(name, desc) {
|
||||
navigator.notification.alert(desc, null, name, "Close");
|
||||
}
|
||||
|
||||
function loadProfile(user) {
|
||||
$('#player-name').text(user);
|
||||
loadBadges(user);
|
||||
loadPlayerStats(user);
|
||||
}
|
||||
function loadProfile(user) {
|
||||
$('#player-name').text(user);
|
||||
loadBadges(user);
|
||||
loadPlayerStats(user);
|
||||
}
|
||||
|
||||
function loadPlayerStats(user) {
|
||||
$.getJSON(mkApiUrl('getstats'), {
|
||||
user: user
|
||||
}, function (data) {
|
||||
if (data.status === 'OK') {
|
||||
$('#player-level').text('Level ' + Math.floor(data.stats.level));
|
||||
} else {
|
||||
$('#player-level').text('Error: cannot load player stats.');
|
||||
}
|
||||
}).fail(function () {
|
||||
$('#player-level').text('Error: check your connection.');
|
||||
});
|
||||
}
|
||||
function loadPlayerStats(user) {
|
||||
$.getJSON(mkApiUrl('getstats'), {
|
||||
user: user
|
||||
}, function (data) {
|
||||
if (data.status === 'OK' && data.stats !== null) {
|
||||
$('#player-level').text('Level ' + Math.floor(data.stats.level));
|
||||
} else {
|
||||
$('#player-level').text('Error: cannot load player stats.');
|
||||
}
|
||||
}).fail(function () {
|
||||
$('#player-level').text('Error: Loading failed. <a onclick="loadProfile(\'' + user + '\')">Reload</a>"');
|
||||
});
|
||||
}
|
||||
|
||||
function loadBadges(user) {
|
||||
$('#loading-badges').html('<i class="fa fa-spinner fa-pulse"></i> Loading...');
|
||||
$('#loading-badges').css('display', 'block');
|
||||
$.getJSON(
|
||||
mkApiUrl('getbadges') + '?user=' + user,
|
||||
function (data) {
|
||||
if (data.status === 'OK') {
|
||||
data.badges.forEach(function (item) {
|
||||
$('#badges').append('<div class="col col-xs-3 col-md-2 col-lg-1" \
|
||||
onclick="popBadge(\'' + item.badgename + '\', \'' + item.badgedesc + '\')">\n\
|
||||
<img class="badge-img img-circle img-responsive" alt="" src="assets/badges/' + item.badgesid + '.png"/>\n\
|
||||
</div>');
|
||||
});
|
||||
$('#loading-badges').css('display', 'none');
|
||||
} else {
|
||||
$('#loading-badges').html('Loading failed. <a onclick="loadAchievements(\'' + user + '\')">Reload</a>"');
|
||||
function loadBadges(user) {
|
||||
$('#loading-badges').html('<i class="fa fa-spinner fa-pulse"></i> Loading...');
|
||||
$('#loading-badges').css('display', 'block');
|
||||
$.getJSON(
|
||||
mkApiUrl('getbadges') + '?user=' + user,
|
||||
function (data) {
|
||||
if (data.status === 'OK') {
|
||||
data.badges.forEach(function (item) {
|
||||
$('#badges').append('<div class="col col-xs-3 col-md-2 col-lg-1" \
|
||||
onclick="popBadge(\'' + item.badgename + '\', \'' + item.badgedesc + '\')">\n\
|
||||
<img class="badge-img img-circle img-responsive" alt="" src="assets/badges/' + item.badgesid + '.png"/>\n\
|
||||
</div>');
|
||||
});
|
||||
$('#loading-badges').css('display', 'none');
|
||||
} else {
|
||||
$('#loading-badges').html('Loading failed. <a onclick="loadAchievements(\'' + user + '\')">Reload</a>"');
|
||||
}
|
||||
}
|
||||
}
|
||||
).fail(
|
||||
function (err) {
|
||||
$('#loading-badges').html('Loading failed. <a onclick="loadBadges(\'' + user + '\')">Reload</a>"');
|
||||
}
|
||||
);
|
||||
}
|
||||
</script>
|
||||
).fail(
|
||||
function (err) {
|
||||
$('#loading-badges').html('Loading failed. <a onclick="loadProfile(\'' + user + '\')">Reload</a>"');
|
||||
}
|
||||
);
|
||||
}
|
||||
</script>
|
||||
</div>
|
@ -1,18 +1,20 @@
|
||||
<div class="h4">Rules</div>
|
||||
<p>Please read these rules. Because TerranQuest is a game involving other
|
||||
people and the environment, it's important to show good etiquette.</p>
|
||||
<ol class="list-group">
|
||||
<li class="list-group-item">Do not endanger yourself or others</li>
|
||||
<li class="list-group-item">be considerate and polite in the in-game chat, and don't swear</li>
|
||||
<li class="list-group-item">Observe all local laws and rules</li>
|
||||
<li class="list-group-item">Respect property rights and obtain permission for playing on private land</li>
|
||||
<li class="list-group-item">Be nice to other people and try not to look too creepy</li>
|
||||
<li class="list-group-item">Respect and minimize your impact on the environment</li>
|
||||
<li class="list-group-item">Don't tamper with or deface any objects, landmarks, barcodes, or other real-world items</li>
|
||||
<li class="list-group-item">Pick up any trash you find and dispose of it properly if you can</li>
|
||||
<li class="list-group-item">Socialize with any players of other games, such as Geocaching and Ingress, you might meet</li>
|
||||
<li class="list-group-item">Follow the Netsyms Technologies Terms of Service at netsyms.com/legal</li>
|
||||
<!--
|
||||
<li class="list-group-item"></li>
|
||||
-->
|
||||
</ol>
|
||||
<div class="scrollable-box">
|
||||
<div class="h4">Rules</div>
|
||||
<p>Please read these rules. Because TerranQuest is a game involving other
|
||||
people and the environment, it's important to show good etiquette.</p>
|
||||
<ol class="list-group">
|
||||
<li class="list-group-item">Do not endanger yourself or others</li>
|
||||
<li class="list-group-item">Be considerate and polite in the in-game chat, and don't swear</li>
|
||||
<li class="list-group-item">Observe all local laws and rules</li>
|
||||
<li class="list-group-item">Respect property rights and obtain permission for playing on private land</li>
|
||||
<li class="list-group-item">Be nice to other people and try not to look too creepy</li>
|
||||
<li class="list-group-item">Respect and minimize your impact on the environment</li>
|
||||
<li class="list-group-item">Don't tamper with or deface any objects, landmarks, barcodes, or other real-world items</li>
|
||||
<li class="list-group-item">Pick up any trash you find and dispose of it properly if you can</li>
|
||||
<li class="list-group-item">Socialize with any players of other games, such as Geocaching and Ingress, you might meet</li>
|
||||
<li class="list-group-item">Follow the Netsyms Technologies Terms of Service at netsyms.com/legal</li>
|
||||
<!--
|
||||
<li class="list-group-item"></li>
|
||||
-->
|
||||
</ol>
|
||||
</div>
|
@ -0,0 +1,26 @@
|
||||
<div class="scrollable-box">
|
||||
<div class='list-group'>
|
||||
<div class='list-group-item' onclick='logout()'>
|
||||
Logout from app
|
||||
</div>
|
||||
<div class='list-group-item'>
|
||||
<p>
|
||||
<span style='font-weight: bold;'>Third-Party Licenses</span>
|
||||
<br />
|
||||
Map tiles by Stamen Design (stamen.com), under CC BY 3.0 (creativecommons.org/licenses/by/3.0).
|
||||
<br />
|
||||
Map tile data by OpenStreetMap (openstreetmap.org), under CC BY-SA (creativecommons.org/licenses/by-sa/3.0).
|
||||
<br />
|
||||
Places from OpenStreetMap and contributers, licensed under the ODbL (opendatacommons.org/licenses/odbl). Email apis@netsyms.com for free access to our API.
|
||||
<br />
|
||||
Map display is powered by Leaflet (leafletjs.com), copyright (c) 2010-2016, Vladimir Agafonkin and copyright (c) 2010-2011, CloudMade. BSD 2-clause license.
|
||||
<br />
|
||||
Terrain information for the United States from the MRLC National Land Cover Database 2011 (mrlc.gov).
|
||||
<br />
|
||||
Weather data Powered by Forecast (forecast.io).
|
||||
<br />
|
||||
Geocache data from the OpenCaching.US OKAPI. Data licensed under the CC BY-NC-SA 2.5 (creativecommons.org/licenses/by-nc-sa/2.5).
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1 @@
|
||||
<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1664 1344v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45z"/></svg>
|
After Width: | Height: | Size: 407 B |
@ -0,0 +1,3 @@
|
||||
<div class="scrollable-box">
|
||||
|
||||
</div>
|
@ -0,0 +1,24 @@
|
||||
<div>
|
||||
|
||||
<!-- Nav tabs -->
|
||||
<ul class="nav nav-tabs" role="tablist" id="menutablist">
|
||||
<li role="presentation" class="active"><a href="#inventory" aria-controls="inventory" role="tab" data-toggle="tab" id="inventory-tab">Inventory</a></li>
|
||||
<li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab" id="profile-tab">Profile</a></li>
|
||||
<li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab" id="settings-tab">Settings</a></li>
|
||||
</ul>
|
||||
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content" id="menutabcontent">
|
||||
<div role="tabpanel" class="tab-pane active" id="inventory">...</div>
|
||||
<div role="tabpanel" class="tab-pane" id="profile"></div>
|
||||
<div role="tabpanel" class="tab-pane" id="settings">...</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
$('#menutabcontent #profile').load("screens/profile.html", null, function (x) {
|
||||
loadProfile(username);
|
||||
});
|
||||
$('#menutabcontent #settings').load("screens/settings.html");
|
||||
$('#menutabcontent #inventory').load("screens/inventory.html");
|
||||
</script>
|
@ -1,59 +1,61 @@
|
||||
<div class="h4" id="player-name"></div>
|
||||
<p id="player-level"></p>
|
||||
<div class="h5">Badges</div>
|
||||
<div id="loading-badges">
|
||||
<i class="fa fa-spinner fa-pulse"></i> Loading...
|
||||
</div>
|
||||
<div class="row" id="badges">
|
||||
<div class="scrollable-box">
|
||||
<div class="h4" id="player-name"></div>
|
||||
<p id="player-level"></p>
|
||||
<div class="h5">Badges</div>
|
||||
<div id="loading-badges">
|
||||
<i class="fa fa-spinner fa-pulse"></i> Loading...
|
||||
</div>
|
||||
<div class="row" id="badges">
|
||||
|
||||
</div>
|
||||
<script>
|
||||
function popBadge(name, desc) {
|
||||
navigator.notification.alert(desc, null, name, "Close");
|
||||
}
|
||||
</div>
|
||||
<script>
|
||||
function popBadge(name, desc) {
|
||||
navigator.notification.alert(desc, null, name, "Close");
|
||||
}
|
||||
|
||||
function loadProfile(user) {
|
||||
$('#player-name').text(user);
|
||||
loadBadges(user);
|
||||
loadPlayerStats(user);
|
||||
}
|
||||
function loadProfile(user) {
|
||||
$('#player-name').text(user);
|
||||
loadBadges(user);
|
||||
loadPlayerStats(user);
|
||||
}
|
||||
|
||||
function loadPlayerStats(user) {
|
||||
$.getJSON(mkApiUrl('getstats'), {
|
||||
user: user
|
||||
}, function (data) {
|
||||
if (data.status === 'OK') {
|
||||
$('#player-level').text('Level ' + Math.floor(data.stats.level));
|
||||
} else {
|
||||
$('#player-level').text('Error: cannot load player stats.');
|
||||
}
|
||||
}).fail(function () {
|
||||
$('#player-level').text('Error: check your connection.');
|
||||
});
|
||||
}
|
||||
function loadPlayerStats(user) {
|
||||
$.getJSON(mkApiUrl('getstats'), {
|
||||
user: user
|
||||
}, function (data) {
|
||||
if (data.status === 'OK' && data.stats !== null) {
|
||||
$('#player-level').text('Level ' + Math.floor(data.stats.level));
|
||||
} else {
|
||||
$('#player-level').text('Error: cannot load player stats.');
|
||||
}
|
||||
}).fail(function () {
|
||||
$('#player-level').text('Error: Loading failed. <a onclick="loadProfile(\'' + user + '\')">Reload</a>"');
|
||||
});
|
||||
}
|
||||
|
||||
function loadBadges(user) {
|
||||
$('#loading-badges').html('<i class="fa fa-spinner fa-pulse"></i> Loading...');
|
||||
$('#loading-badges').css('display', 'block');
|
||||
$.getJSON(
|
||||
mkApiUrl('getbadges') + '?user=' + user,
|
||||
function (data) {
|
||||
if (data.status === 'OK') {
|
||||
data.badges.forEach(function (item) {
|
||||
$('#badges').append('<div class="col col-xs-3 col-md-2 col-lg-1" \
|
||||
onclick="popBadge(\'' + item.badgename + '\', \'' + item.badgedesc + '\')">\n\
|
||||
<img class="badge-img img-circle img-responsive" alt="" src="assets/badges/' + item.badgesid + '.png"/>\n\
|
||||
</div>');
|
||||
});
|
||||
$('#loading-badges').css('display', 'none');
|
||||
} else {
|
||||
$('#loading-badges').html('Loading failed. <a onclick="loadAchievements(\'' + user + '\')">Reload</a>"');
|
||||
function loadBadges(user) {
|
||||
$('#loading-badges').html('<i class="fa fa-spinner fa-pulse"></i> Loading...');
|
||||
$('#loading-badges').css('display', 'block');
|
||||
$.getJSON(
|
||||
mkApiUrl('getbadges') + '?user=' + user,
|
||||
function (data) {
|
||||
if (data.status === 'OK') {
|
||||
data.badges.forEach(function (item) {
|
||||
$('#badges').append('<div class="col col-xs-3 col-md-2 col-lg-1" \
|
||||
onclick="popBadge(\'' + item.badgename + '\', \'' + item.badgedesc + '\')">\n\
|
||||
<img class="badge-img img-circle img-responsive" alt="" src="assets/badges/' + item.badgesid + '.png"/>\n\
|
||||
</div>');
|
||||
});
|
||||
$('#loading-badges').css('display', 'none');
|
||||
} else {
|
||||
$('#loading-badges').html('Loading failed. <a onclick="loadAchievements(\'' + user + '\')">Reload</a>"');
|
||||
}
|
||||
}
|
||||
}
|
||||
).fail(
|
||||
function (err) {
|
||||
$('#loading-badges').html('Loading failed. <a onclick="loadBadges(\'' + user + '\')">Reload</a>"');
|
||||
}
|
||||
);
|
||||
}
|
||||
</script>
|
||||
).fail(
|
||||
function (err) {
|
||||
$('#loading-badges').html('Loading failed. <a onclick="loadProfile(\'' + user + '\')">Reload</a>"');
|
||||
}
|
||||
);
|
||||
}
|
||||
</script>
|
||||
</div>
|
@ -1,18 +1,20 @@
|
||||
<div class="h4">Rules</div>
|
||||
<p>Please read these rules. Because TerranQuest is a game involving other
|
||||
people and the environment, it's important to show good etiquette.</p>
|
||||
<ol class="list-group">
|
||||
<li class="list-group-item">Do not endanger yourself or others</li>
|
||||
<li class="list-group-item">Be considerate and polite in the in-game chat, and don't swear</li>
|
||||
<li class="list-group-item">Observe all local laws and rules</li>
|
||||
<li class="list-group-item">Respect property rights and obtain permission for playing on private land</li>
|
||||
<li class="list-group-item">Be nice to other people and try not to look too creepy</li>
|
||||
<li class="list-group-item">Respect and minimize your impact on the environment</li>
|
||||
<li class="list-group-item">Don't tamper with or deface any objects, landmarks, barcodes, or other real-world items</li>
|
||||
<li class="list-group-item">Pick up any trash you find and dispose of it properly if you can</li>
|
||||
<li class="list-group-item">Socialize with any players of other games, such as Geocaching and Ingress, you might meet</li>
|
||||
<li class="list-group-item">Follow the Netsyms Technologies Terms of Service at netsyms.com/legal</li>
|
||||
<!--
|
||||
<li class="list-group-item"></li>
|
||||
-->
|
||||
</ol>
|
||||
<div class="scrollable-box">
|
||||
<div class="h4">Rules</div>
|
||||
<p>Please read these rules. Because TerranQuest is a game involving other
|
||||
people and the environment, it's important to show good etiquette.</p>
|
||||
<ol class="list-group">
|
||||
<li class="list-group-item">Do not endanger yourself or others</li>
|
||||
<li class="list-group-item">Be considerate and polite in the in-game chat, and don't swear</li>
|
||||
<li class="list-group-item">Observe all local laws and rules</li>
|
||||
<li class="list-group-item">Respect property rights and obtain permission for playing on private land</li>
|
||||
<li class="list-group-item">Be nice to other people and try not to look too creepy</li>
|
||||
<li class="list-group-item">Respect and minimize your impact on the environment</li>
|
||||
<li class="list-group-item">Don't tamper with or deface any objects, landmarks, barcodes, or other real-world items</li>
|
||||
<li class="list-group-item">Pick up any trash you find and dispose of it properly if you can</li>
|
||||
<li class="list-group-item">Socialize with any players of other games, such as Geocaching and Ingress, you might meet</li>
|
||||
<li class="list-group-item">Follow the Netsyms Technologies Terms of Service at netsyms.com/legal</li>
|
||||
<!--
|
||||
<li class="list-group-item"></li>
|
||||
-->
|
||||
</ol>
|
||||
</div>
|
@ -0,0 +1,26 @@
|
||||
<div class="scrollable-box">
|
||||
<div class='list-group'>
|
||||
<div class='list-group-item' onclick='logout()'>
|
||||
Logout from app
|
||||
</div>
|
||||
<div class='list-group-item'>
|
||||
<p>
|
||||
<span style='font-weight: bold;'>Third-Party Licenses</span>
|
||||
<br />
|
||||
Map tiles by Stamen Design (stamen.com), under CC BY 3.0 (creativecommons.org/licenses/by/3.0).
|
||||
<br />
|
||||
Map tile data by OpenStreetMap (openstreetmap.org), under CC BY-SA (creativecommons.org/licenses/by-sa/3.0).
|
||||
<br />
|
||||
Places from OpenStreetMap and contributers, licensed under the ODbL (opendatacommons.org/licenses/odbl). Email apis@netsyms.com for free access to our API.
|
||||
<br />
|
||||
Map display is powered by Leaflet (leafletjs.com), copyright (c) 2010-2016, Vladimir Agafonkin and copyright (c) 2010-2011, CloudMade. BSD 2-clause license.
|
||||
<br />
|
||||
Terrain information for the United States from the MRLC National Land Cover Database 2011 (mrlc.gov).
|
||||
<br />
|
||||
Weather data Powered by Forecast (forecast.io).
|
||||
<br />
|
||||
Geocache data from the OpenCaching.US OKAPI. Data licensed under the CC BY-NC-SA 2.5 (creativecommons.org/licenses/by-nc-sa/2.5).
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Reference in New Issue