Javascript won't run

For some reason, the code that I have here just won’t work, it was written differently and it actually looked good, but I tried stripping down the unnecessary tags and stuff but it still didn’t work, I need help. By the way, the code is a supposed to be a program to automatically calculate IPCs for the board game, axis and allies. I only just started.

<!DOCTYPE html>
<html>
<head>
<style>
</style>
</head>
<body>
<p id="playermoney"></p>
<button onclick="sovietmoney()">The Soviet Union</button>
<button onclick="germanymoney()">Germany</button>
<button onclick="britainmoney()">Great Britain</button>
<button onclick="japanmoney()">Japan</button>
<button onclick="usmoney()">America</button>
<button onclick="infantryCost()">Purchase Infantry</button>
<button onclick="artilleryCost()">Purchase Artillery</button>
<button onclick="nextTurn()">Next Turn</button>
<script>
var CurrentPlayerTurn1 = 1, 
CurrentPlayerTurn2 = 0, 
sovietMoney = 42, 
sovietIncome = 42, 
germanyMoney = 40, 
germanyIncome = 40, 
britainMoney = 30, 
britainIncome = 30, 
japanMoney = 30, 
japanIncome = 30, 
usMoney = 42, 
usIncome = 42, 
InfantryCost = 3, 
artilleryCost = 4, 
TankCost = 5, 
AAAcost = 5, 
ComplexCoxt = 15, 
FighterCost = 10, 
BomberCost = 15, 
BattleshipCost = 24, 
DestroyerCost = 12, 
AirCarryCost = 16, 
TransportCost = 8; 

	document.getElementById("playermoney").innerHTML = "The Soviets Have ";
	document.getElementById("playermoney").innerHTML = sovietMoney;
	document.getElementById("playermoney").innerHTML = " IPCs";

function germanymoney() {
	  document.getElementById("playermoney").innerHTML = "The Germans Have ";
	  document.getElementById("playermoney").innerHTML = germanyMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
}

function japanmoney() {
	  document.getElementById("playermoney").innerHTML = "The Japanese Have ";
	  document.getElementById("playermoney").innerHTML = japanMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
}

function usmoney() {
	  document.getElementById("playermoney").innerHTML = "The Americans Have ";
	  document.getElementById("playermoney").innerHTML = usMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
}

function britainmoney() {
	  document.getElementById("playermoney").innerHTML = "The British Have ";
	  document.getElementById("playermoney").innerHTML = britainMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
}

function sovietmoney() {
	  document.getElementById("playermoney").innerHTML = "The Soviets Have ";
	  document.getElementById("playermoney").innerHTML = sovietMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
}

function infantryCost() {

	if (CurrentPlayerTurn1 == 1) {
	sovietMoney -= InfantryCost;
	if (sovietMoney < 0) {
	sovietMoney += InfantryCost;
	}
	  document.getElementById("playermoney").innerHTML = "The Soviets Have ";
	  document.getElementById("playermoney").innerHTML = sovietMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
	}

	if (CurrentPlayerTurn1 == 2) {
	germanyMoney -= InfantryCost;
	if (germanyMoney < 0) {
	germanyMoney += InfantryCost;
	}
	  document.getElementById("playermoney").innerHTML = "The Germans Have ";
	  document.getElementById("playermoney").innerHTML = germanyMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
	}

	if (CurrentPlayerTurn1 == 3) {
	britainMoney -= InfantryCost;
	if (britainMoney < 0) {
	britainMoney += InfantryCost;
	}
	  document.getElementById("playermoney").innerHTML = "The British Have ";
	  document.getElementById("playermoney").innerHTML = britainMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
	}

	if (CurrentPlayerTurn1 == 4) {
	japanMoney -= InfantryCost;
	if (japanMoney < 0) {
	japanMoney += InfantryCost;
	}
	  document.getElementById("playermoney").innerHTML = "The Japanese Have ";
	  document.getElementById("playermoney").innerHTML = japanMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
	}

	if (CurrentPlayerTurn1 == 5) {
	usMoney -= InfantryCost;
	if (usMoney < 0) {
	usMoney += InfantryCost;
	}
	  document.getElementById("playermoney").innerHTML = "The Americans Have ";
	  document.getElementById("playermoney").innerHTML = usMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
	}
}

function artilleryCost() { 

	if (CurrentPlayerTurn1 == 1)
	sovietMoney -= artilleryCost;
	if (sovietMoney < 0) {
	sovietMoney += artilleryCost;
	}
	  document.getElementById("playermoney").innerHTML = "The Soviets Have ";
	  document.getElementById("playermoney").innerHTML = sovietMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
	}

	if (CurrentPlayerTurn1 == 2) {
	germanyMoney -= artilleryCost;
	if (germanyMoney < 0) {
	germanyMoney += artilleryCost;
	}
	  document.getElementById("playermoney").innerHTML = "The Germans Have ";
	  document.getElementById("playermoney").innerHTML = germanyMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
	}

	if (CurrentPlayerTurn1 == 3) {
	britainMoney -= artilleryCost;
	if (britainMoney < 0) {
	britainMoney += artilleryCost;
	}
	  document.getElementById("playermoney").innerHTML = "The British Have ";
	  document.getElementById("playermoney").innerHTML = britainMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
	}

	if (CurrentPlayerTurn1 == 4) {
	japanMoney -= artilleryCost;
	if (japanMoney < 0) {
	japanMoney += artilleryCost;
	}
	  document.getElementById("playermoney").innerHTML = "The Japanese Have ";
	  document.getElementById("playermoney").innerHTML = japanMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
	}

	if (CurrentPlayerTurn1 == 5) {
	usMoney -= artilleryCost;
	if (usMoney < 0) {
	usMoney += artilleryCost;
	}
	  document.getElementById("playermoney").innerHTML = "The Americans Have ";
	  document.getElementById("playermoney").innerHTML = usMoney;
	  document.getElementById("playermoney").innerHTML = " IPCs";
	}
}

function nextTurn() { 
	
	CurrentPlayerTurn1 += 1; 
	if (CurrentPlayerTurn1 == 6) {
	CurrentPlayerTurn1 = 1;
	usMoney += usIncome;
}
	if (CurrentPlayerTurn1 == 1) {
	document.getElementById("turn").innerHTML = "Soviet Union";
	document.getElementById("playermoney").innerHTML = "The Soviets Have ";
	document.getElementById("playermoney").innerHTML = sovietMoney;
	document.getElementById("playermoney").innerHTML = " IPCs";
}
	if (CurrentPlayerTurn1 == 2) {
	sovietMoney += sovietIncome;
	document.getElementById("turn").innerHTML = "Germany";
	document.getElementById("playermoney").innerHTML = "The Germans Have ";
	document.getElementById("playermoney").innerHTML = germanyMoney;
	document.getElementById("playermoney").innerHTML = " IPCs";
}
	if (CurrentPlayerTurn1 == 3) {
	germanyMoney += germanyIncome;
	document.getElementById("turn").innerHTML = "The United Kingdom";
	document.getElementById("playermoney").innerHTML = "The British Have ";
	document.getElementById("playermoney").innerHTML = britainMoney;
	document.getElementById("playermoney").innerHTML = " IPCs";
}
	if (CurrentPlayerTurn1 == 4) {
	britainMoney += britainIncome;
	document.getElementById("turn").innerHTML = " Japan";
	document.getElementById("playermoney").innerHTML = "The Japanese Have ";
	document.getElementById("playermoney").innerHTML = japanMoney;
	document.getElementById("playermoney").innerHTML = " IPCs";
}
	if (CurrentPlayerTurn1 == 5) {
	japanMoney += japanIncome;
	document.getElementById("turn").innerHTML = " The United States";
	document.getElementById("playermoney").innerHTML = "The Americans Have ";
	document.getElementById("playermoney").innerHTML = usMoney;
	document.getElementById("playermoney").innerHTML = " IPCs";
}
}
</script>
</body>
</html>

Your code has an unexpected curly brace, }

Why is that? You can use JS Beautifier with your JavaScript code which indents and formats your code in a consistent manner. Doing that lets you easily find the problem curly brace.

Look in the browser console (F12) - you have a syntax error on line 180

Uncaught SyntaxError: Unexpected token }

Edit: Lol, ninja’d

Indeed :slight_smile: Also, there is quite a bit more that could be tidied up in the code. For example, you could lose the repeated calls to:

document.getElementById("playermoney")

how would i summarize? I had only been coding in javascript for a week when i made this

Hi,

Summarize what?

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.