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 @@
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