I have a simple html page with javascript code.
HTML
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Sink The Battle Ship</title>
</head>
<body>
<h1>Battleship</h1>
<script src="battleship.js"></script>
</body>
</html>
JavaScript
var location = Math.floor(Math.random() * 5);
var numberOfGuesses = 0;
var isSunk = false;
var guess;
var guess = prompt("Ready, aim, fire! (enter a number from 0-6):");
var guessedLocation = parseInt(guess);
console.log(guess);
console.log(guessedLocation);
Every time I launch the html in browser, the prompt displays and when I enter a value, it gives me an error "ERR_FILE_NOT_FOUND". It looks like the browser is trying to re-direct to a page with the value I entered. Any idea what is going wrong here? I tried opening the html in different browsers and still no luck.
The problem is that you are redefining a global variable, called location.
When you declare a variable like this
var location = 1;
is the same as doing this
window.location = 1;
Location is a browser variable used to define in which page (location) the user is in.
You can do two things,
1 - Rename your variable location to: $location, location_2, my_location
var myLocation = Math.floor(Math.random() * 5);
2 - Create a local scope
(function(){
var location = Math.floor(Math.random() * 5);
var numberOfGuesses = 0;
var isSunk = false;
var guess = prompt("Ready, aim, fire! (enter a number from 0-6):");
var guessedLocation = parseInt(guess);
console.log(guess);
console.log(guessedLocation);
})()
Also, stop re-declaring the variable guess, only use ONE 'var' for every variable name
(function(){
var location = Math.floor(Math.random() * 5);
var numberOfGuesses = 0;
var isSunk = false;
var guess;
var guess = prompt("Ready, aim, fire! (enter a number from 0-6):");
var guessedLocation = parseInt(guess);
console.log(location);
console.log(guessedLocation);
guessedLocation == location ? console.log('you sank me!') : console.log('ha! missed...')
})();
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Sink The Battle Ship</title>
</head>
<body>
<h1>Battleship</h1>
<script src="battleship.js"></script>
</body>
</html>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With