Click here to Skip to main content
15,884,425 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Im trying to learn coding in Chrome and when i try to run the code i've written it gives the Uncaught SyntaxError: Unexpected identifier error
This is the Code i've written:
<html>

<canvas id="gameCanvas" width="800" height="600"></canvas>

<script>
var canvas;
var canvasContext;
var ballX = 50;
var ballY = 50;
var ballSpeedX = 10;
var ballSpeedY = 4;

var paddle1Y = 250;
const PADDLE_HEIGHT = 100;

function calculateMousePos(evt) {
		var rect = canvas.getBoundingClientRect();
		var root = document.documentElement;
		var mouseX = evt.clientX - rect.left - root.scrollLeft;
		var mouseY = evt.clientY - rect.top - root.scrollTop
		return {
				x:mouseX
				y:mouseY
		};
}

window.onload = function() {
        canvas = document.getElementById('gameCanvas');
		canvasContext = canvas.getContext('2d');
		
		var framesPerSecond = 30;
		setInterval(function() {
				moveEverything();
				drawEverything();
		}, 1000/framesPerSecond ); 
		
		canvas.addEventListener('mousemove',
				function(evt) {
						var mousePos = calculateMousePos(evt);
						paddle1Y = mousePos.y-(PADDLE_HEIGHT/2);
				});
}

function moveEverything() {
		ballX = ballX + ballSpeedX;
		ballY = ballY + ballSpeedY;
		if(ballX < 0) {
				ballSpeedX = -ballSpeedX;
		}
		if(ballX > canvas.width) {
				ballSpeedX = -ballSpeedX;
		}		
		if(ballY < 0) {
				ballSpeedY = -ballSpeedY;
		}
		if(ballY > canvas.height) {
				ballSpeedY = -ballSpeedY;
		}
}

function drawEverything() {
		// next line blanks out the screen with black 
		colorRect(0,0,canvas.width,canvas.height,'black');
		
		// this is left player paddle
		colorRect(0,paddle1Y,10,PADDLE_HEIGHT,'white');
		
		// next line draws the ball
		colorCircle(ballX, ballY, 10, 'white');

function colorCircle(centerX, centerY, radius, drawColor) {
		canvasContext.fillStyle = "drawColor";
		canvasContext.beginPath();
		canvasContext.arc(centerX, centerY, radius, 0,Math.PI*2, true);
		canvasContext.fill();
} 
} 
 
 function colorRect(leftX,toyY, width,height, drawColor) {
		canvasContext.fillStyle = drawColor;
		canvasContext.fillRect(leftX,toyY, width,height);
 }
</script>

</html>


What I have tried:

I've looked through the whole code and cannot find how to fix this at all.
Posted
Updated 13-Jan-22 22:48pm
Comments
Richard MacCutchan 14-Jan-22 3:00am    
Which line does the error message occur on?

Maybe it's the double close brace just before function colorRect

1 solution

The issue lies here:
JavaScript
return {
        x:mouseX <--
        y:mouseY
};

Between properties you need to provide a comma. I'm surprised that JS complained about the issue being much further down in the code to be honest.
JavaScript
return {
        x:mouseX,
        y:mouseY
};
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900