You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

131 lines
2.7 KiB

/**
* Game - Main JS file for game play, user, and file save.
*
* @date 2019-11-08
* @author Rick Hays
*
*/
let oUsers = null;
let oCurrentUser = null;
let userID = null;
let userName = '';
let userWins = 0;
let userLoses = 0;
let userLastPlayed = '';
let userIP = '';
let userCity = '';
let userCountry = '';
// Get current JSON file and import into array
$(document).ready(function ()
{
$.getJSON('data/users.json', function (data)
{
// Pass data out so it can be used.
getUsersData(data.Users);
// Start of game screen, determine if there is a cookie or not and display correct screen
userID = readCookie('userID');
userID !== null ? $("#game").toggleClass('d-none') : $("#getuser").toggleClass('d-none');
}, 'json');
});
function getUsersData(data)
{
oUsers = data;
}
function writeUserData(data)
{
}
function submitUserName()
{
UName = $("#UserName").val();
if (UName === '')
{
$(".boxerror").html('You must enter a user name to play the game.');
if ($(".boxerror").hasClass('d-none')) $(".boxerror").toggleClass('d-none');
}
else
{
$(".boxerror").toggleClass('d-none');
userID = checkUserName(oUsers, UName);
// alert('User ID: ' + userID);
if (userID === null)
{
createUser(UName);
}
else
{
// Confirm User before loading else ask for new name
// Load user info from userID
userName = oUsers[userID].UserName;
userWins = oUsers[userID].Wins;
userLoses = oUsers[userID].Loses;
userLastPlayed = oUsers[userID].LastDate;
userIP = oIP.ip;
userCity = oIP.city;
userCountry = oIP.country_code;
alert('User: ' + userName + ' - City: ' + userCity);
// userIP = GET IP ADDRESS
// create cookie with userID
}
}
}
function checkUserName(oUsers, name)
{
for (let i = 0; i < oUsers.length; i++ )
{
if (oUsers[i].UserName === name)
return i;
}
return null;
}
/**
*
* @param UName
* @returns {boolean}
*/
function createUser(UName)
{
userName = UName;
userWins = 0;
userLoses = 0;
userLastPlayed = getCurrentDate();
userIP = oIP.ip;
userCity = oIP.city;
userCountry = oIP.country_code;
// Create User Object
oCurrentUser =
{
'UserName': userName,
"Wins": userWins,
"Loses": userLoses,
"LastDate": userLastPlayed,
"IP": userIP,
"City": userCity,
"Country": userCountry
};
// Add to Users Object
oUsers.push(oCurrentUser);
// Get ID of JSON User Position
userID = checkUserName(oUsers, UName);
// Write JSON file back out.
// create cookie with userID
alert('ID: ' + userID + ' - City: ' + oCurrentUser.City + ' - ' + oUsers[2].City);
}
function updateUser(UName)
{
}