Created
February 7, 2019 00:39
-
-
Save topherPedersen/9de65bc7f4249b5258ebbc8df74fefe2 to your computer and use it in GitHub Desktop.
Coles Completely Original Tic Tac Toe with No Contributions from His Instructor who is Terrible at Coding
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!--TICTACTOE w/ decent AI--> | |
| <!--Made by Cole N and Chris--> | |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <title> Live coding session </title> | |
| </head> | |
| <body> | |
| <h1>TicTacToeJS</h1> | |
| <button id="button-1" onclick="selectPlaceOnBoard('button-1', 1);">:)</button> | |
| <button id="button-2" onclick="selectPlaceOnBoard('button-2', 2);">:)</button> | |
| <button id="button-3" onclick="selectPlaceOnBoard('button-3', 3);">:)</button> <br> | |
| <button id="button-4" onclick="selectPlaceOnBoard('button-4', 4);">:)</button> | |
| <button id="button-5" onclick="selectPlaceOnBoard('button-5', 5);">:)</button> | |
| <button id="button-6" onclick="selectPlaceOnBoard('button-6', 6);">:)</button> <br> | |
| <button id="button-7" onclick="selectPlaceOnBoard('button-7', 7);">:)</button> | |
| <button id="button-8" onclick="selectPlaceOnBoard('button-8', 8);">:)</button> | |
| <button id="button-9" onclick="selectPlaceOnBoard('button-9', 9);">:)</button> <br> | |
| <script> | |
| function changeBackground() { | |
| document.body.style.backgroundColor = "#800080"; | |
| } | |
| changeBackground(); | |
| function changeBackgroundWin() { | |
| document.body.style.backgroundColor = "#008000"; | |
| } | |
| function changeBackgroundLose() { | |
| document.body.style.backgroundColor = "#FF0000"; | |
| } | |
| var place = new Array(); | |
| // NOTE: place[0] is not used! | |
| place.push('Z'); | |
| place.push('Z'); | |
| place.push('Z'); | |
| place.push('Z'); | |
| place.push('Z'); | |
| place.push('Z'); | |
| place.push('Z'); | |
| place.push('Z'); | |
| place.push('Z'); | |
| place.push('Z'); | |
| var numberOfSelectionsMade = 0; | |
| var winnerFound = checkForWinner(); | |
| function selectPlaceOnBoard(param1, param2) { | |
| if (winnerFound == true) { | |
| return; | |
| } | |
| // If the spot selected is open, place the player's mark | |
| if (place[param2] == 'Z') { | |
| place[param2] = 'X'; | |
| document.getElementById(param1).innerHTML = 'X'; | |
| numberOfSelectionsMade += 1; // increment numberOfSelectionsMade Variable HERE | |
| winnerFound = checkForWinner(); | |
| // Place Computer's Mark | |
| if (winnerFound == false) { | |
| var computerSelectionMade = false; | |
| while (computerSelectionMade == false && numberOfSelectionsMade < 9) { | |
| if (place[1] == "Z" && place[2] == "O" && place[3] == "O") { | |
| computerMove = 1; | |
| } else if (place[1] == "O" && place[2] == "Z" && place[3] == "O") { | |
| computerMove = 2; | |
| } else if (place[1] == "O" && place[2] == "O" && place[3] == "Z") { | |
| computerMove = 3; | |
| } else if (place[4] == "Z" && place[5] == "O" && place[6] == "O") { | |
| computerMove = 4; | |
| } else if (place[4] == "O" && place[5] == "Z" && place[6] == "O") { | |
| computerMove = 5; | |
| } else if (place[4] == "O" && place[5] == "O" && place[6] == "Z") { | |
| computerMove = 6; | |
| } else if (place[7] == "Z" && place[8] == "O" && place[9] == "O") { | |
| computerMove = 7; | |
| } else if (place[7] == "O" && place[8] == "Z" && place[9] == "O") { | |
| computerMove = 8; | |
| } else if (place[7] == "O" && place[8] == "O" && place[9] == "Z") { | |
| computerMove = 9; | |
| } else if (place[1] == "Z" && place[4] == "O" && place[7] == "O") { | |
| computerMove = 1; | |
| } else if (place[1] == "O" && place[4] == "Z" && place[7] == "O") { | |
| computerMove = 4; | |
| } else if (place[1] == "O" && place[4] == "O" && place[7] == "Z") { | |
| computerMove = 7; | |
| } else if (place[2] == "Z" && place[5] == "O" && place[8] == "O") { | |
| computerMove = 2; | |
| } else if (place[2] == "O" && place[5] == "Z" && place[8] == "O") { | |
| computerMove = 5; | |
| } else if (place[2] == "O" && place[5] == "O" && place[8] == "Z") { | |
| computerMove = 8; | |
| } else if (place[3] == "Z" && place[6] == "O" && place[9] == "O") { | |
| computerMove = 3; | |
| } else if (place[3] == "O" && place[6] == "Z" && place[9] == "O") { | |
| computerMove = 6; | |
| } else if (place[3] == "O" && place[6] == "O" && place[9] == "Z") { | |
| computerMove = 9; | |
| } else if (place[1] == "Z" && place[5] == "O" && place[9] == "O") { | |
| computerMove = 1; | |
| } else if (place[1] == "O" && place[5] == "Z" && place[9] == "O") { | |
| computerMove = 5; | |
| } else if (place[1] == "O" && place[5] == "O" && place[9] == "Z") { | |
| computerMove = 9; | |
| } else if (place[3] == "Z" && place[5] == "O" && place[7] == "O") { | |
| computerMove = 3; | |
| } else if (place[3] == "O" && place[5] == "Z" && place[7] == "O") { | |
| computerMove = 5; | |
| } else if (place[3] == "O" && place[5] == "O" && place[7] == "Z") { | |
| computerMove = 7; | |
| } else { | |
| // NOTE: BUG IS IN HERE SOMEWHERE! | |
| if (place[1] == "Z" && place[2] == "X" && place[3] == "X") { | |
| computerMove = 1; | |
| } else if (place[1] == "X" && place[2] == "Z" && place[3] == "X") { | |
| computerMove = 2; | |
| } else if (place[1] == "X" && place[2] == "X" && place[3] == "Z") { | |
| computerMove = 3; | |
| } else if (place[4] == "Z" && place[5] == "X" && place[6] == "X") { | |
| computerMove = 4; | |
| } else if (place[4] == "X" && place[5] == "Z" && place[6] == "X") { | |
| computerMove = 5; | |
| } else if (place[4] == "X" && place[5] == "X" && place[6] == "Z") { | |
| computerMove = 6; | |
| } else if (place[7] == "Z" && place[8] == "X" && place[9] == "X") { | |
| computerMove = 7; | |
| } else if (place[7] == "X" && place[8] == "Z" && place[9] == "X") { | |
| computerMove = 8; | |
| } else if (place[7] == "X" && place[8] == "X" && place[9] == "Z") { | |
| computerMove = 9; | |
| } else if (place[1] == "Z" && place[4] == "X" && place[7] == "X") { | |
| computerMove = 1; | |
| } else if (place[1] == "X" && place[4] == "Z" && place[7] == "X") { | |
| computerMove = 4; | |
| } else if (place[1] == "X" && place[4] == "X" && place[7] == "Z") { | |
| computerMove = 7; | |
| } else if (place[2] == "Z" && place[5] == "X" && place[8] == "X") { | |
| computerMove = 2; | |
| } else if (place[2] == "X" && place[5] == "Z" && place[8] == "X") { | |
| computerMove = 5; | |
| } else if (place[2] == "X" && place[5] == "X" && place[8] == "Z") { | |
| computerMove = 8; | |
| } else if (place[3] == "Z" && place[6] == "X" && place[9] == "X") { | |
| computerMove = 3; | |
| } else if (place[3] == "X" && place[6] == "Z" && place[9] == "X") { | |
| computerMove = 6; | |
| } else if (place[3] == "X" && place[6] == "X" && place[9] == "Z") { | |
| computerMove = 9; | |
| } else if (place[1] == "Z" && place[5] == "X" && place[9] == "X") { | |
| computerMove = 1; | |
| } else if (place[1] == "X" && place[5] == "Z" && place[9] == "X") { | |
| computerMove = 5; | |
| } else if (place[1] == "X" && place[5] == "X" && place[9] == "Z") { | |
| computerMove = 9; | |
| } else if (place[3] == "Z" && place[5] == "X" && place[7] == "X") { | |
| computerMove = 3; | |
| } else if (place[3] == "X" && place[5] == "Z" && place[7] == "X") { | |
| computerMove = 5; | |
| } else if (place[3] == "X" && place[5] == "X" && place[7] == "Z") { | |
| computerMove = 7; | |
| } else { | |
| var computerMove = Math.floor((Math.random() * 10) + 1); | |
| if (computerMove == 10) { | |
| computerMove = 5; | |
| } | |
| } | |
| } | |
| if (place[computerMove] == 'Z') { | |
| place[computerMove] = 'O'; | |
| document.getElementById("button-" + computerMove).innerHTML = 'O'; | |
| computerSelectionMade = true; | |
| numberOfSelectionsMade += 1; | |
| winnerFound = checkForWinner(); | |
| } | |
| } | |
| } | |
| } | |
| } | |
| function checkForWinner() { | |
| if (place[1] == "X" && place[2] == "X" && place[3] == "X") { | |
| alert("You win!"); | |
| changeBackgroundWin(); | |
| return true; | |
| } else if (place[4] == "X" && place[5] == "X" && place[6] == "X") { | |
| alert("You win!"); | |
| changeBackgroundWin(); | |
| return true; | |
| } else if (place[7] == "X" && place[8] == "X" && place[9] == "X") { | |
| alert("You win!"); | |
| changeBackgroundWin(); | |
| return true; | |
| } else if (place[1] == "X" && place[4] == "X" && place[7] == "X") { | |
| alert("You win!"); | |
| changeBackgroundWin(); | |
| return true; | |
| } else if (place[2] == "X" && place[5] == "X" && place[8] == "X") { | |
| alert("You win!"); | |
| changeBackgroundWin(); | |
| return true; | |
| } else if (place[3] == "X" && place[6] == "X" && place[9] == "X") { | |
| alert("You win!"); | |
| changeBackgroundWin(); | |
| return true; | |
| } else if (place[1] == "X" && place[5] == "X" && place[9] == "X") { | |
| alert("You win!"); | |
| changeBackgroundWin(); | |
| return true; | |
| } else if (place[3] == "X" && place[5] == "X" && place[7] == "X") { | |
| alert("You win!"); | |
| changeBackgroundWin(); | |
| return true; | |
| } else if (place[1] == "O" && place[2] == "O" && place[3] == "O") { | |
| alert("You lose!"); | |
| changeBackgroundLose(); | |
| return true; | |
| } else if (place[4] == "O" && place[5] == "O" && place[6] == "O") { | |
| alert("You lose!"); | |
| changeBackgroundLose(); | |
| return true; | |
| } else if (place[7] == "O" && place[8] == "O" && place[9] == "O") { | |
| alert("You lose!"); | |
| changeBackgroundLose(); | |
| return true; | |
| } else if (place[1] == "O" && place[4] == "O" && place[7] == "O") { | |
| alert("You lose!"); | |
| changeBackgroundLose(); | |
| return true; | |
| } else if (place[2] == "O" && place[5] == "O" && place[8] == "O") { | |
| alert("You lose!"); | |
| changeBackgroundLose(); | |
| return true; | |
| } else if (place[3] == "O" && place[6] == "O" && place[9] == "O") { | |
| alert("You lose!"); | |
| changeBackgroundLose(); | |
| return true; | |
| } else if (place[1] == "O" && place[5] == "O" && place[9] == "O") { | |
| alert("You lose!"); | |
| changeBackgroundLose(); | |
| return true; | |
| } else if (place[3] == "O" && place[5] == "O" && place[7] == "O") { | |
| alert("You lose!"); | |
| changeBackgroundLose(); | |
| return true; | |
| } else { | |
| return false; | |
| } | |
| } | |
| </script> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment