diff --git a/.gitignore b/.gitignore index 1481559..686dc4d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ php/mysqldata.php +/nbproject/private/ \ No newline at end of file diff --git a/index.html b/index.html index 3b9d34c..be63a3a 100644 --- a/index.html +++ b/index.html @@ -20,16 +20,16 @@


-

Username:



-

Password:



+

Username:



+

Password:



Register?



-

Username:



-

Password:



-

Repeat Password:



+

Username:



+

Password:



+

Repeat Password:



Login?

diff --git a/js/game.js b/js/game.js index 722af51..1f6f52f 100644 --- a/js/game.js +++ b/js/game.js @@ -34,454 +34,460 @@ var playername = "Player" var lastsave = 0 var saving = false -$(document).ready(function() { - $("#forcesave").click(function() { - save() - }) - $("#logout").click(function() { - $.get("php/logout.php", function(data) { - window.location.replace("index.html") +$(document).ready(function () { + $("#forcesave").click(function () { + save() }) - }) - $.get("php/playerdata.php", function(data) { - if (JSON.parse(data).status == "nologin") - window.location.replace("index.html") - }) - loadGameData() - loadItems() - loadLang() - prepairRender() - requestAnimationFrame(loop) - if (window.location.hostname == "localhost") - noPay = true - $('#loading').hide() - $('#all').show() + $("#logout").click(function () { + $.get("php/logout.php", function (data) { + window.location.replace("index.html") + }) + }) + $.get("php/playerdata.php", function (data) { + try { + if (JSON.parse(data).status == "nologin") + window.location.replace("index.html") + } catch (err) { + mode = "help" + $('#help').fadeIn(200) + } + }) + loadGameData() + loadItems() + loadLang() + prepairRender() + requestAnimationFrame(loop) + if (window.location.hostname == "localhost") + noPay = true + $('#loading').hide() + $('#all').show() }) var game = 0 -$(window).on("beforeunload", function() { - //save() +$(window).on("beforeunload", function () { + //save() }) function save() { - console.log("saving...") - game = {} - game.money = money - game.gametime = gametime - game.factorysToBuy = factorysToBuy - game.factoryRerollPrice = factoryRerollPrice - game.factoryPrice = factoryPrice - game.inventory = {} - game.inventory.itemcount = inventory.itemcount - game.inventory.items = inventory.items - game.factorys = [] - for (var i = 0; i < factorys.length; i++) { - game.factorys.push({}) - game.factorys[i].tier = factorys[i].tier - game.factorys[i].tiles = [] - for (var x = 0; x < 25; x++) { - game.factorys[i].tiles[x] = [] - for (var y = 0; y < 12; y++) { - game.factorys[i].tiles[x][y] = 0 - } - } - for (var x = 0; x < 25; x++) { - for (var y = 0; y < 12; y++) { - if (factorys[i].tiles[x][y] != 0) { - game.factorys[i].tiles[x][y] = {} - game.factorys[i].tiles[x][y].i = factorys[i].tiles[x][y].i - game.factorys[i].tiles[x][y].d = directions[factorys[i].tiles[x][y].direction].d - game.factorys[i].tiles[x][y].x = factorys[i].tiles[x][y].x - game.factorys[i].tiles[x][y].y = factorys[i].tiles[x][y].y - if (factorys[i].tiles[x][y].options != undefined) { - for (var o = 0; o < factorys[i].tiles[x][y].options.length; o++) { - var val = factorys[i].tiles[x][y].options[o].var - game.factorys[i].tiles[x][y][val] = factorys[i].tiles[x][y][val] + console.log("saving...") + game = {} + game.money = money + game.gametime = gametime + game.factorysToBuy = factorysToBuy + game.factoryRerollPrice = factoryRerollPrice + game.factoryPrice = factoryPrice + game.inventory = {} + game.inventory.itemcount = inventory.itemcount + game.inventory.items = inventory.items + game.factorys = [] + for (var i = 0; i < factorys.length; i++) { + game.factorys.push({}) + game.factorys[i].tier = factorys[i].tier + game.factorys[i].tiles = [] + for (var x = 0; x < 25; x++) { + game.factorys[i].tiles[x] = [] + for (var y = 0; y < 12; y++) { + game.factorys[i].tiles[x][y] = 0 + } + } + for (var x = 0; x < 25; x++) { + for (var y = 0; y < 12; y++) { + if (factorys[i].tiles[x][y] != 0) { + game.factorys[i].tiles[x][y] = {} + game.factorys[i].tiles[x][y].i = factorys[i].tiles[x][y].i + game.factorys[i].tiles[x][y].d = directions[factorys[i].tiles[x][y].direction].d + game.factorys[i].tiles[x][y].x = factorys[i].tiles[x][y].x + game.factorys[i].tiles[x][y].y = factorys[i].tiles[x][y].y + if (factorys[i].tiles[x][y].options != undefined) { + for (var o = 0; o < factorys[i].tiles[x][y].options.length; o++) { + var val = factorys[i].tiles[x][y].options[o].var + game.factorys[i].tiles[x][y][val] = factorys[i].tiles[x][y][val] + } + } + } } - } } - } } - } - Cookies.set("game", JSON.stringify(game)) - $.ajax({ - url: 'php/savegame.php', - type: 'POST', - data: { - gamedata: JSON.stringify(game), - "gametime": gametime - }, - success: function(result) { - console.log(result) - if (JSON.parse(result).status == "succes") { - lastsave = new Date().getTime() - saving = false - } - } - }); + Cookies.set("game", JSON.stringify(game)) + $.ajax({ + url: 'php/savegame.php', + type: 'POST', + data: { + gamedata: JSON.stringify(game), + "gametime": gametime + }, + success: function (result) { + console.log(result) + if (JSON.parse(result).status == "succes") { + lastsave = new Date().getTime() + saving = false + } + } + }); } function loadGameData() { - lastsave = new Date().getTime() - //Keine Save Vorhanden - factorys.push(new Factory()) - inventory = new FactoryInventory() - //game = Cookies.get("game") - $.get("php/playerdata.php", function(data) { - if (JSON.parse(data).money != undefined) { - game = JSON.parse(data) - } else { - game = 0 - } - if (game != 0) { - //game = JSON.parse(game) - console.log("Loading Game") - money = game.money - gametime = game.gametime - factorysToBuy = game.factorysToBuy - factoryRerollPrice = game.factoryRerollPrice - factoryPrice = game.factoryPrice - inventory = new FactoryInventory() - factorys = [] - inventory.itemcount = game.inventory.itemcount - inventory.items = game.inventory.items - for (var i = 0; i < game.factorys.length; i++) { - factorys.push(new Factory(game.factorys[i].tier)) - for (var x = 0; x < 25; x++) { - for (var y = 0; y < 12; y++) { - if (game.factorys[i].tiles[x][y] != 0) { - var keys = Object.keys(game.factorys[i].tiles[x][y]) - factorys[i].tiles[x][y] = new tileClasses[game.factorys[i].tiles[x][y].i](game.factorys[i].tiles[x][y].x, game.factorys[i].tiles[x][y].y) - factorys[i].tiles[x][y].factory = factorys[i] - for (var key = 0; key < keys.length; key++) { - if (keys[key] == "d") - factorys[i].tiles[x][y].direction = d[game.factorys[i].tiles[x][y]["d"]] - else - factorys[i].tiles[x][y][keys[key]] = game.factorys[i].tiles[x][y][keys[key]] - } - } - } + lastsave = new Date().getTime() + //Keine Save Vorhanden + factorys.push(new Factory()) + inventory = new FactoryInventory() + //game = Cookies.get("game") + $.get("php/playerdata.php", function (data) { + if (JSON.parse(data).money != undefined) { + game = JSON.parse(data) + } else { + game = 0 } - } - } - }); + if (game != 0) { + //game = JSON.parse(game) + console.log("Loading Game") + money = game.money + gametime = game.gametime + factorysToBuy = game.factorysToBuy + factoryRerollPrice = game.factoryRerollPrice + factoryPrice = game.factoryPrice + inventory = new FactoryInventory() + factorys = [] + inventory.itemcount = game.inventory.itemcount + inventory.items = game.inventory.items + for (var i = 0; i < game.factorys.length; i++) { + factorys.push(new Factory(game.factorys[i].tier)) + for (var x = 0; x < 25; x++) { + for (var y = 0; y < 12; y++) { + if (game.factorys[i].tiles[x][y] != 0) { + var keys = Object.keys(game.factorys[i].tiles[x][y]) + factorys[i].tiles[x][y] = new tileClasses[game.factorys[i].tiles[x][y].i](game.factorys[i].tiles[x][y].x, game.factorys[i].tiles[x][y].y) + factorys[i].tiles[x][y].factory = factorys[i] + for (var key = 0; key < keys.length; key++) { + if (keys[key] == "d") + factorys[i].tiles[x][y].direction = d[game.factorys[i].tiles[x][y]["d"]] + else + factorys[i].tiles[x][y][keys[key]] = game.factorys[i].tiles[x][y][keys[key]] + } + } + } + } + } + } + }); } function loadItems() { - var itemRequest = new XMLHttpRequest(); - itemRequest.open('GET', 'js/items.json', false) - itemRequest.send(null) - var json = JSON.parse(itemRequest.responseText) - items = json.items - minerals = json.minerals - for (var i = 0; i < items.length; i++) { - var image = new Image - image.src = "images/items/" + items[i].name + ".png" - items[i].img = image - } + var itemRequest = new XMLHttpRequest(); + itemRequest.open('GET', 'js/items.json', false) + itemRequest.send(null) + var json = JSON.parse(itemRequest.responseText) + items = json.items + minerals = json.minerals + for (var i = 0; i < items.length; i++) { + var image = new Image + image.src = "images/items/" + items[i].name + ".png" + items[i].img = image + } } function loadLang() { - var langCode = "en" - var langRequest = new XMLHttpRequest(); - langRequest.open('GET', 'lang/' + langCode + '.json', false) - langRequest.send(null) - var json = JSON.parse(langRequest.responseText) - lang = json + var langCode = "en" + var langRequest = new XMLHttpRequest(); + langRequest.open('GET', 'lang/' + langCode + '.json', false) + langRequest.send(null) + var json = JSON.parse(langRequest.responseText) + lang = json } function loop(timestamp) { - //Check Gametick Rate - if (timestamp < lastFrameTimeMs + (1000 / 48)) { - requestAnimationFrame(loop) - return; - } - delta += timestamp - lastFrameTimeMs; - lastFrameTimeMs = timestamp; - - var numUpdateSteps = 0 - while (delta >= timestep) { - gametick(timestep) - delta -= timestep - if (++numUpdateSteps >= 240) { - delta = 0 - break; + //Check Gametick Rate + if (timestamp < lastFrameTimeMs + (1000 / 48)) { + requestAnimationFrame(loop) + return; } - } - render(); - requestAnimationFrame(loop); + delta += timestamp - lastFrameTimeMs; + lastFrameTimeMs = timestamp; + + var numUpdateSteps = 0 + while (delta >= timestep) { + gametick(timestep) + delta -= timestep + if (++numUpdateSteps >= 240) { + delta = 0 + break; + } + } + render(); + requestAnimationFrame(loop); } var lastRender = 0 function loopp(timestamp) { - var progress = timestamp - lastRender + var progress = timestamp - lastRender - gametick(progress) - render() + gametick(progress) + render() - lastRender = timestamp - window.requestAnimationFrame(loop) + lastRender = timestamp + window.requestAnimationFrame(loop) } var tick = [] function gametick(timestep) { - //time gibt an in den Wievielten von 40 Ticks man sich befindet - time++ - gametime++ - time = time % 48 - //Wird 40 mal in einer Sekunde aufgerufen - for (var i = 0; i < factorys.length; i++) { - factorys[i].moveItems() - factorys[i].workTiles() - factorys[i].despawnOldItems() - } - tick.push(new Date().getTime()) - if (tick.length > 48) { - tick = tick.splice(1) - $("#speed").html("Game Speed: " + ((tick[47] - tick[0] + 30) / 10) + "%
" + version) - } - if (!saving && Math.round((new Date().getTime() - lastsave) / 60000) > 5 && lastsave != 0) { - saving = true - save() - } + //time gibt an in den Wievielten von 40 Ticks man sich befindet + time++ + gametime++ + time = time % 48 + //Wird 40 mal in einer Sekunde aufgerufen + for (var i = 0; i < factorys.length; i++) { + factorys[i].moveItems() + factorys[i].workTiles() + factorys[i].despawnOldItems() + } + tick.push(new Date().getTime()) + if (tick.length > 48) { + tick = tick.splice(1) + $("#speed").html("Game Speed: " + ((tick[47] - tick[0] + 30) / 10) + "%
" + version) + } + if (!saving && Math.round((new Date().getTime() - lastsave) / 60000) > 5 && lastsave != 0) { + saving = true + save() + } } var rotationOverlay = new Image rotationOverlay.src = "images/ui/rotationOverlay.png" function render() { - fulltime++ - ctx.clearRect(0, 0, innerWidth, innerHeight) - var tilesToRender = factorys[currentFactory].getTiles() - //Hier wird das Spiel gerendert - //RENDER TILE-LAYER0 - for (var i = 0; i < tilesToRender.length; i++) { - var tile = tilesToRender[i] - var img = tile.getImage(fulltime, 0) - if (img != "0") { - drawRotatedImage(img, tile.x * 48 + 24, tile.y * 48 + 24, directions[tile.direction].degree) - } - } - //RENDER Items - if (renderItems) - for (var i = 0; i < factorys[currentFactory].items.length; i++) { - var item = factorys[currentFactory].items[i] - // var img = new Image - // img.src = "images/items/" + getItemFormId(item.id).name + ".png" - if (item.dx != 0 || item.dy != 0) - ctx.drawImage(items[item.id].img, item.x, item.y, 48, 48) - else if (factorys[currentFactory].tiles[item.x / 48][item.y / 48] == 0) - ctx.drawImage(items[item.id].img, item.x, item.y, 48, 48) - - } - //RENDER TILE-LAYER1 - for (var i = 0; i < tilesToRender.length; i++) { - var tile = tilesToRender[i] - var img = tile.getImage(fulltime, 1) - if (img != "0") { - drawRotatedImage(img, tile.x * 48 + 24, tile.y * 48 + 24, directions[tile.direction].degree) - } - if (mode == "rotate") { - ctx.globalAlpha = 0.4 - drawRotatedImage(rotationOverlay, tile.x * 48 + 24, tile.y * 48 + 24, directions[tile.direction].degree) - ctx.globalAlpha = 1 - } - } - //DRAW CURSOR BOX - if (isCursorInScreen) { - if (mode == "build") { - ctx.globalAlpha = 0.6 - var tile = new toBuild() - tile.direction = buildRotation - var img = tile.getImage(fulltime, 0) - if (img != "0") { - drawRotatedImage(img, cursorScreenX * 48 + 24, cursorScreenY * 48 + 24, directions[tile.direction].degree) - } - img = tile.getImage(fulltime, 1) - if (img != "0") { - drawRotatedImage(img, cursorScreenX * 48 + 24, cursorScreenY * 48 + 24, directions[tile.direction].degree) - } - ctx.globalAlpha = 0.2 - drawRotatedImage(rotationOverlay, cursorScreenX * 48 + 24, cursorScreenY * 48 + 24, directions[tile.direction].degree) - ctx.globalAlpha = 1 - } else { - ctx.globalAlpha = 0.4 - if (mode == "delete") { - ctx.fillStyle = "#FF0000"; - if (deleteFromX != -1) { - var lowerX = 0 - var deltaX = 0 - if (deleteFromX < cursorScreenX) { - lowerX = deleteFromX - deltaX = cursorScreenX - deleteFromX + 1 - } else { - lowerX = cursorScreenX - deltaX = deleteFromX - cursorScreenX + 1 - } - var lowerY = 0 - var deltaY = 0 - if (deleteFromY < cursorScreenY) { - lowerY = deleteFromY - deltaY = cursorScreenY - deleteFromY + 1 - } else { - lowerY = cursorScreenY - deltaY = deleteFromY - cursorScreenY + 1 - } - ctx.fillRect(lowerX * 48, lowerY * 48, deltaX * 48, deltaY * 48) + fulltime++ + ctx.clearRect(0, 0, innerWidth, innerHeight) + var tilesToRender = factorys[currentFactory].getTiles() + //Hier wird das Spiel gerendert + //RENDER TILE-LAYER0 + for (var i = 0; i < tilesToRender.length; i++) { + var tile = tilesToRender[i] + var img = tile.getImage(fulltime, 0) + if (img != "0") { + drawRotatedImage(img, tile.x * 48 + 24, tile.y * 48 + 24, directions[tile.direction].degree) } - } else { - ctx.fillStyle = "black"; - } - if (deleteFromX == -1) - ctx.fillRect(cursorScreenX * 48, cursorScreenY * 48, 48, 48) - ctx.globalAlpha = 1 } - } - //DRAW INFO BAR - if (selectedTile == undefined) - selectedTile = 0 - drawInfoBar() - if (selectedTile != 0 && mode != "selectbuilding" && mode != "build") { - if (selectedTile.hasNoInventory === undefined) - drawInventory(selectedTile.input, lang.tiles[selectedTile.name].name) - else - drawInventory(inventory, lang["player"]) - } else { - drawInventory(inventory, lang["player"]) - } - $('#money').text(formatCount(money) + " " + lang.money) - if (mode == "showmore") { - drawBigInventory(inventory) - } - $('#lastsave').text("last save " + Math.round((new Date().getTime() - lastsave) / 60000) + "min ago") + //RENDER Items + if (renderItems) + for (var i = 0; i < factorys[currentFactory].items.length; i++) { + var item = factorys[currentFactory].items[i] + // var img = new Image + // img.src = "images/items/" + getItemFormId(item.id).name + ".png" + if (item.dx != 0 || item.dy != 0) + ctx.drawImage(items[item.id].img, item.x, item.y, 48, 48) + else if (factorys[currentFactory].tiles[item.x / 48][item.y / 48] == 0) + ctx.drawImage(items[item.id].img, item.x, item.y, 48, 48) + + } + //RENDER TILE-LAYER1 + for (var i = 0; i < tilesToRender.length; i++) { + var tile = tilesToRender[i] + var img = tile.getImage(fulltime, 1) + if (img != "0") { + drawRotatedImage(img, tile.x * 48 + 24, tile.y * 48 + 24, directions[tile.direction].degree) + } + if (mode == "rotate") { + ctx.globalAlpha = 0.4 + drawRotatedImage(rotationOverlay, tile.x * 48 + 24, tile.y * 48 + 24, directions[tile.direction].degree) + ctx.globalAlpha = 1 + } + } + //DRAW CURSOR BOX + if (isCursorInScreen) { + if (mode == "build") { + ctx.globalAlpha = 0.6 + var tile = new toBuild() + tile.direction = buildRotation + var img = tile.getImage(fulltime, 0) + if (img != "0") { + drawRotatedImage(img, cursorScreenX * 48 + 24, cursorScreenY * 48 + 24, directions[tile.direction].degree) + } + img = tile.getImage(fulltime, 1) + if (img != "0") { + drawRotatedImage(img, cursorScreenX * 48 + 24, cursorScreenY * 48 + 24, directions[tile.direction].degree) + } + ctx.globalAlpha = 0.2 + drawRotatedImage(rotationOverlay, cursorScreenX * 48 + 24, cursorScreenY * 48 + 24, directions[tile.direction].degree) + ctx.globalAlpha = 1 + } else { + ctx.globalAlpha = 0.4 + if (mode == "delete") { + ctx.fillStyle = "#FF0000"; + if (deleteFromX != -1) { + var lowerX = 0 + var deltaX = 0 + if (deleteFromX < cursorScreenX) { + lowerX = deleteFromX + deltaX = cursorScreenX - deleteFromX + 1 + } else { + lowerX = cursorScreenX + deltaX = deleteFromX - cursorScreenX + 1 + } + var lowerY = 0 + var deltaY = 0 + if (deleteFromY < cursorScreenY) { + lowerY = deleteFromY + deltaY = cursorScreenY - deleteFromY + 1 + } else { + lowerY = cursorScreenY + deltaY = deleteFromY - cursorScreenY + 1 + } + ctx.fillRect(lowerX * 48, lowerY * 48, deltaX * 48, deltaY * 48) + } + } else { + ctx.fillStyle = "black"; + } + if (deleteFromX == -1) + ctx.fillRect(cursorScreenX * 48, cursorScreenY * 48, 48, 48) + ctx.globalAlpha = 1 + } + } + //DRAW INFO BAR + if (selectedTile == undefined) + selectedTile = 0 + drawInfoBar() + if (selectedTile != 0 && mode != "selectbuilding" && mode != "build") { + if (selectedTile.hasNoInventory === undefined) + drawInventory(selectedTile.input, lang.tiles[selectedTile.name].name) + else + drawInventory(inventory, lang["player"]) + } else { + drawInventory(inventory, lang["player"]) + } + $('#money').text(formatCount(money) + " " + lang.money) + if (mode == "showmore") { + drawBigInventory(inventory) + } + $('#lastsave').text("last save " + Math.round((new Date().getTime() - lastsave) / 60000) + "min ago") } function getItemFormId(id) { - for (var i = 0; i < items.length; i++) { - if (items[i].id == id) { - return items[i] + for (var i = 0; i < items.length; i++) { + if (items[i].id == id) { + return items[i] + } } - } } function prepairRender() { - var canvas = $('#screen')[0]; - ctx = canvas.getContext('2d') - canvas.width = 1200 - canvas.height = 576 - canvas = $('#itemcount')[0]; - canvas.width = 720 - canvas.height = 240 - inventoryCtx = canvas.getContext('2d') - canvas = $('#info')[0]; - canvas.width = 432 - canvas.height = 240 - infoCtx = canvas.getContext('2d') - //tileClasses - var tilesLoaded = 0 - console.log("Building Tileselection-Menu...") - for (var i = 0; i < tileClasses.length; i++) { - var tmp = new tileClasses[i]() - var src = "" - if (tmp.texture[1].length > 0) { - src = ' src="images/tiles/' + tmp.texture[1][0] + '.png"' - } - var style = '' - if (tmp.texture[0].length > 0) { - style = ' style="background-image: url(images/tiles/' + tmp.texture[0][0] + '.png)"' - } - var tag = '' - $('#buildselect').append(tag) - tilesLoaded++ - } - console.log(tilesLoaded + "/" + tileClasses.length + " Tiles Loaded!") - console.log("Loading Oretiers") - for(var i = 1;i<9;i++){ - $('#oretiers').append("

"+lang.depth+" "+i+":

"); - for(var j=0;j"+lang.minerals[j]+""); - } - } - - $('#oretiers').append("
"); - } - $('#buildselect').hide() - $('#oretiers').hide() - $('#help').hide() - $('#inventoryBig').hide() - $('#selectItem').hide() - $('#options').hide() - $('#selectFactory').hide() - for (var i = 0; i < items.length; i++) { - var tag = '' - $('#selectItem').append(tag) - $('#itemSel_' + i).click(function() { - var id = $(this).attr("id"); - id = parseInt(id.substr(8)) - selectedItemId = id - selectedTile[selectItemVal] = selectedItemId - mode = "none" - $('#selectItem').fadeOut(200) - options() - }) - } - buildEvents() - //Build Sell/Select Items Menu - for (var i = 0; i < items.length; i++) { - $('#itemsScroll').append('') - $('#itemBig_' + i)[0].width = 72 - $('#itemBig_' + i)[0].height = 72 - } - $('.itemhover').hover( - function() { - //ENTER - var id = $(this).attr("id"); - if (id != undefined) - if (id.startsWith("itemBig_") || id.startsWith("itemSel_")) { - id = parseInt(id.substr(8)) - if ($(this).attr("id").startsWith("itemBig_")) - if (id < itemId.length) { - id = itemId[id] - } else return - hoverTooltip = true - $('#tooltip').text(lang.items[id] + " (" + formatCount(items[id].value) + " " + lang.money + ")") - $('#tooltip').show() - tooltip = true + var canvas = $('#screen')[0]; + ctx = canvas.getContext('2d') + canvas.width = 1200 + canvas.height = 576 + canvas = $('#itemcount')[0]; + canvas.width = 720 + canvas.height = 240 + inventoryCtx = canvas.getContext('2d') + canvas = $('#info')[0]; + canvas.width = 432 + canvas.height = 240 + infoCtx = canvas.getContext('2d') + //tileClasses + var tilesLoaded = 0 + console.log("Building Tileselection-Menu...") + for (var i = 0; i < tileClasses.length; i++) { + var tmp = new tileClasses[i]() + var src = "" + if (tmp.texture[1].length > 0) { + src = ' src="images/tiles/' + tmp.texture[1][0] + '.png"' } - }, - function() { - //LEAVE - hoverTooltip = false + var style = '' + if (tmp.texture[0].length > 0) { + style = ' style="background-image: url(images/tiles/' + tmp.texture[0][0] + '.png)"' + } + var tag = '' + $('#buildselect').append(tag) + tilesLoaded++ } - ); - $('canvas').click( - function() { - var id = $(this).attr("id"); - if (id != undefined) - if (id.startsWith("itemBig_")) { - id = parseInt(id.substr(8)) - if (id < itemId.length) { - var idd = itemId[id] - if (inventory.take(itemId[id], 1)) { - money += items[idd].value + console.log(tilesLoaded + "/" + tileClasses.length + " Tiles Loaded!") + console.log("Loading Oretiers") + for (var i = 1; i < 9; i++) { + $('#oretiers').append("

" + lang.depth + " " + i + ":

"); + for (var j = 0; j < minerals.nameFromId.length; j++) { + if (minerals[minerals.nameFromId[j]].depth == i) { + $('#oretiers').append("

" + lang.minerals[j] + "

"); } - } } - }) - //End Sell/Select Items Menu - $('#clickToSell').text(lang.clickToSell) - for (var i = 0; i < infoBarIcons.length; i++) { - if (infoBarIcons[i] != null) { - var img = new Image - img.src = "images/ui/" + infoBarIcons[i] - infoBarIconsImg.push(img) - } else { - infoBarIconsImg.push(null) + + $('#oretiers').append("
"); + } + $('#buildselect').hide() + $('#oretiers').hide() + $('#help').hide() + $('#inventoryBig').hide() + $('#selectItem').hide() + $('#options').hide() + $('#selectFactory').hide() + for (var i = 0; i < items.length; i++) { + var tag = '' + $('#selectItem').append(tag) + $('#itemSel_' + i).click(function () { + var id = $(this).attr("id"); + id = parseInt(id.substr(8)) + selectedItemId = id + selectedTile[selectItemVal] = selectedItemId + mode = "none" + $('#selectItem').fadeOut(200) + options() + }) + } + buildEvents() + //Build Sell/Select Items Menu + for (var i = 0; i < items.length; i++) { + $('#itemsScroll').append('') + $('#itemBig_' + i)[0].width = 72 + $('#itemBig_' + i)[0].height = 72 + } + $('.itemhover').hover( + function () { + //ENTER + var id = $(this).attr("id"); + if (id != undefined) + if (id.startsWith("itemBig_") || id.startsWith("itemSel_")) { + id = parseInt(id.substr(8)) + if ($(this).attr("id").startsWith("itemBig_")) + if (id < itemId.length) { + id = itemId[id] + } else + return + hoverTooltip = true + $('#tooltip').text(lang.items[id] + " (" + formatCount(items[id].value) + " " + lang.money + ")") + $('#tooltip').show() + tooltip = true + } + }, + function () { + //LEAVE + hoverTooltip = false + } + ); + $('canvas').click( + function () { + var id = $(this).attr("id"); + if (id != undefined) + if (id.startsWith("itemBig_")) { + id = parseInt(id.substr(8)) + if (id < itemId.length) { + var idd = itemId[id] + if (inventory.take(itemId[id], 1)) { + money += items[idd].value + } + } + } + }) + //End Sell/Select Items Menu + $('#clickToSell').text(lang.clickToSell) + for (var i = 0; i < infoBarIcons.length; i++) { + if (infoBarIcons[i] != null) { + var img = new Image + img.src = "images/ui/" + infoBarIcons[i] + infoBarIconsImg.push(img) + } else { + infoBarIconsImg.push(null) + } } - } } var infoBarIcons = ["build.png", "move.png", "rotate.png", "delete.png", null, "help.png", "info.png", null, "factorys.png"] @@ -492,73 +498,77 @@ var infoGlowOpacityD = 0.03 var selectedTile = 0 function drawInfoBar() { - infoCtx.clearRect(0, 0, innerWidth, innerHeight) - var selectedX = -1; - if (mode == "build" || mode == "selectbuilding") { - selectedX = 0 - } else if (mode == "move") { - selectedX = 1 - } else if (mode == "rotate") { - selectedX = 2 - } else if (mode == "delete") { - selectedX = 3 - } else if (mode == "selectFactory") { - selectedX = 8 - } + infoCtx.clearRect(0, 0, innerWidth, innerHeight) + var selectedX = -1; + if (mode == "build" || mode == "selectbuilding") { + selectedX = 0 + } else if (mode == "move") { + selectedX = 1 + } else if (mode == "rotate") { + selectedX = 2 + } else if (mode == "delete") { + selectedX = 3 + } else if (mode == "selectFactory") { + selectedX = 8 + }else if (mode == "help") { + selectedX = 5 + }else if (mode == "oretiers") { + selectedX = 6 + } - if (selectedX != -1) { - infoCtx.globalAlpha = infoGlowOpacity + 0.25 - infoCtx.beginPath(); - infoCtx.arc(selectedX * 48 + 24, 24, 24, 0, 2 * Math.PI); - infoCtx.fillStyle = "orange" - infoCtx.fill() - if (infoGlowOpacity < 0) { - infoGlowOpacityD = +0.02 + if (selectedX != -1) { + infoCtx.globalAlpha = infoGlowOpacity + 0.25 + infoCtx.beginPath(); + infoCtx.arc(selectedX * 48 + 24, 24, 24, 0, 2 * Math.PI); + infoCtx.fillStyle = "orange" + infoCtx.fill() + if (infoGlowOpacity < 0) { + infoGlowOpacityD = +0.02 + } + if (infoGlowOpacity > 0.45) { + infoGlowOpacityD = -0.02 + } + infoGlowOpacity += infoGlowOpacityD + infoCtx.globalAlpha = 1 } - if (infoGlowOpacity > 0.45) { - infoGlowOpacityD = -0.02 + for (var i = 0; i < infoBarIconsImg.length; i++) { + if (infoBarIconsImg[i] != null) { + infoCtx.drawImage(infoBarIconsImg[i], i * 48, 0, 48, 48); + } } - infoGlowOpacity += infoGlowOpacityD - infoCtx.globalAlpha = 1 - } - for (var i = 0; i < infoBarIconsImg.length; i++) { - if (infoBarIconsImg[i] != null) { - infoCtx.drawImage(infoBarIconsImg[i], i * 48, 0, 48, 48); + if (toBuild != 0) { + selectedTile = new toBuild() } - } - if (toBuild != 0) { - selectedTile = new toBuild() - } - if (selectedTile != 0) { - $('#infoDesc h1').text(lang.tiles[selectedTile.name].name) - if (selectedTile.maxwork != 0) - $('#infoDesc p').text((selectedTile.maxwork / 48) + " Sec | " + lang.tiles[selectedTile.name].description) - else - $('#infoDesc p').text(lang.tiles[selectedTile.name].description) - } else { - $('#infoDesc h1').text("Factory " + currentFactory) - $('#infoDesc p').html("
" + lang.mineralslable + "

- " + lang.minerals[factorys[currentFactory].ores[0]] + "
- " + lang.minerals[factorys[currentFactory].ores[1]] + "
- " + lang.minerals[factorys[currentFactory].ores[2]] + "
- " + lang.minerals[factorys[currentFactory].ores[3]]) - } - if (selectedTile.maxwork != 0 && mode != "selectbuilding" && mode != "building") { - $('#infoDesc p').css("height", 154) - infoCtx.fillStyle = "green"; - infoCtx.fillRect(0, 228, 432 * (selectedTile.currentwork / selectedTile.maxwork), 12) - } else { - $('#infoDesc p').css("height", 166) - } - if (mode == "selectbuilding" || mode == "build") { if (selectedTile != 0) { - infoCtx.textAlign = "center" - infoCtx.font = "18px Electrolize" - infoCtx.fillStyle = "black"; - infoCtx.fillText(lang.cost, 336, 66) - infoCtx.textAlign = "start" - for (var i = 0; i < selectedTile.cost.length; i++) { - if (selectedTile.cost[i].id == 0) - infoCtx.fillText(selectedTile.cost[i].count + " " + lang.money, 246, 86 + 20 * i) + $('#infoDesc h1').text(lang.tiles[selectedTile.name].name) + if (selectedTile.maxwork != 0) + $('#infoDesc p').text((selectedTile.maxwork / 48) + " Sec | " + lang.tiles[selectedTile.name].description) else - infoCtx.fillText(selectedTile.cost[i].count + "x " + lang.items[selectedTile.cost[i].id], 246, 86 + 20 * i) - } + $('#infoDesc p').text(lang.tiles[selectedTile.name].description) + } else { + $('#infoDesc h1').text("Factory " + currentFactory) + $('#infoDesc p').html("
" + lang.mineralslable + "

- " + lang.minerals[factorys[currentFactory].ores[0]] + "
- " + lang.minerals[factorys[currentFactory].ores[1]] + "
- " + lang.minerals[factorys[currentFactory].ores[2]] + "
- " + lang.minerals[factorys[currentFactory].ores[3]]) + } + if (selectedTile.maxwork != 0 && mode != "selectbuilding" && mode != "building") { + $('#infoDesc p').css("height", 154) + infoCtx.fillStyle = "green"; + infoCtx.fillRect(0, 228, 432 * (selectedTile.currentwork / selectedTile.maxwork), 12) + } else { + $('#infoDesc p').css("height", 166) + } + if (mode == "selectbuilding" || mode == "build") { + if (selectedTile != 0) { + infoCtx.textAlign = "center" + infoCtx.font = "18px Electrolize" + infoCtx.fillStyle = "black"; + infoCtx.fillText(lang.cost, 336, 66) + infoCtx.textAlign = "start" + for (var i = 0; i < selectedTile.cost.length; i++) { + if (selectedTile.cost[i].id == 0) + infoCtx.fillText(selectedTile.cost[i].count + " " + lang.money, 246, 86 + 20 * i) + else + infoCtx.fillText(selectedTile.cost[i].count + "x " + lang.items[selectedTile.cost[i].id], 246, 86 + 20 * i) + } + } } - } } diff --git a/js/minerals.json b/js/minerals.json index 1475765..86fdb05 100644 --- a/js/minerals.json +++ b/js/minerals.json @@ -1,32 +1,32 @@ -"bauxite" -"beryllium" -"lead" -"chrome" -"diamonds" -"iron" -"naturalgas" -"oil" -"gold" -"kaolin" -"cobalt" -"coal" -"copper" -"lithium" -"magnesium" -"manganese" -"molybdenum" -"nickel" -"phosphate" -"platinum" -"potash" -"rubies" -"silver" -"soda" -"tantalum" -"titanium" -"uranium" -"vanadium" -"tungsten" -"zinc" -"tin" -"salt" +["bauxite", +"beryllium", +"lead", +"chrome", +"diamonds", +"iron", +"naturalgas", +"oil", +"gold", +"kaolin", +"cobalt", +"coal", +"copper", +"lithium", +"magnesium", +"manganese", +"molybdenum", +"nickel", +"phosphate", +"platinum", +"potash", +"rubies", +"silver", +"soda", +"tantalum", +"titanium", +"uranium", +"vanadium", +"tungsten", +"zinc", +"tin", +"salt"] diff --git a/js/tiles.js b/js/tiles.js index 08e1485..01b4a40 100644 --- a/js/tiles.js +++ b/js/tiles.js @@ -980,7 +980,7 @@ class TeleporterInput extends Tile { this.frequency = 0 this.cost = [{ "id": 0, - "count": 50 + "count": 50000 }] this.texture = { "0": ["teleporter00", "teleporter01", "teleporter02", "teleporter03", "teleporter04", "teleporter06", "teleporter07", "teleporter08", "teleporter09"], @@ -1028,10 +1028,10 @@ class TeleporterOutput extends Tile { this.frequency = 0 this.cost = [{ "id": 0, - "count": 50 + "count": 100000 }] this.texture = { - "0": ["teleporterout01", "teleporterout02", "teleporterout03", "teleporterout04", "teleporterout05", "teleporterout06", "teleporterout07", "teleporterout08", "teleporterout09"], + "0": ["teleporterout09", "teleporterout01", "teleporterout02", "teleporterout03", "teleporterout04", "teleporterout05", "teleporterout06", "teleporterout07", "teleporterout08"], "1": [] } this.options = [{ diff --git a/lang/en.json b/lang/en.json index 89b0f93..306b850 100644 --- a/lang/en.json +++ b/lang/en.json @@ -104,15 +104,15 @@ } }, "teleporterinput": { - "name": "teleporterinput", - "description": "Puts a selected Item to the left and all other straight.", + "name": "Teleporter (input)", + "description": "Teleports items to a Teleporter (output) with the same frequency.", "options": { "frequency": "Frequency" } }, "teleporteroutput": { - "name": "teleporteroutput", - "description": "Puts a selected Item to the left and all other straight.", + "name": "Teleporter (output)", + "description": "Recieves items from a Teleporter (input) with the same frequency.", "options": { "frequency": "Frequency" } diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 0000000..8b67d56 --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,3 @@ +file.reference.factory-Factory=. +files.encoding=UTF-8 +site.root.folder=${file.reference.factory-Factory} diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..57b4030 --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,9 @@ + + + org.netbeans.modules.web.clientproject + + + Factory + + + diff --git a/php/database.php b/php/database.php new file mode 100644 index 0000000..741b7b5 --- /dev/null +++ b/php/database.php @@ -0,0 +1,6 @@ +CREATE TABLE `users` ( + `username` text NOT NULL, + `password` text NOT NULL, + `gamedata` mediumtext, + `gametime` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; \ No newline at end of file