MinimaxTTT

Size
2,823 Kb
Views
26,312

How do I make an minimaxttt?

What is a minimaxttt? How do you make a minimaxttt? This script and codes were developed by Neeilan Selvalingam on 13 September 2022, Tuesday.

MinimaxTTT Previews

MinimaxTTT - Script Codes HTML Codes

<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>MinimaxTTT</title> <link rel="stylesheet" href="css/style.css">
</head>
<body> <div id="board"> <div onclick="userClick(0)" id="0"></div> <div onclick="userClick(1)" id="1"></div> <div onclick="userClick(2)" id="2"></div><br> <div onclick="userClick(3)" id="3"></div> <div onclick="userClick(4)" id="4"></div> <div onclick="userClick(5)" id="5"></div><br> <div onclick="userClick(6)" id="6"></div> <div onclick="userClick(7)" id="7"></div> <div onclick="userClick(8)" id="8"></div>
</div>
<div id="content"></div> <script src="js/index.js"></script>
</body>
</html>

MinimaxTTT - Script Codes CSS Codes

#content { font-size: 16px;
}
#board { /* visibility: hidden; */ text-align: center; margin-left: auto; margin-right: auto; margin-top: 100px; margin-bottom: 100px;
}
#board div { border: solid 5px #bcaaa4; margin-bottom: -10px; margin-left: -10px; display: inline-block; width: 100px; height: 100px; margin: none; overflow: hidden; color: #40c4ff; font-family: Arial; font-size: 80px; font-weight: bold;
}
.comp { color: #ff8a65;
}

MinimaxTTT - Script Codes JS Codes

(function(){ this.userClick = userClick; var human = "o", computer = "x", board = [0, 0, 0, 0, 0, 0, 0, 0, 0];
function score(state, player) { //determine sign var sign; if (player == 1) { sign = computer; } else if (player == -1) { sign = human; } var winCheckResult = winCheck(state); //minimax implementation if (winCheckResult === false) { var stateScore; if (player == 1) { // maximize the computer's score stateScore = -1; for (var i = 0; i < 9; i++) { if (state[i] === 0) { var state2 = state.slice(); state2[i] = sign; var nextStateScore = score(state2, -1 * player); if (nextStateScore > stateScore) { stateScore = nextStateScore; } } } return stateScore; } else if (player == -1) { // minimize the human's score stateScore = 1; for (var i = 0; i < 9; i++) { if (state[i] === 0) { var state2 = state.slice(); state2[i] = sign; var nextStateScore = score(state2, -1 * player); if (nextStateScore < stateScore) { stateScore = nextStateScore; } } } return stateScore; // The minimax score, based on how likely the computer wins from this board state } } else { // game is over return winCheckResult; }
}
function userClick(position) { if (board[position] === 0) { document.getElementById("" + position).innerHTML = ("<span class='human'>" + human + "</span>"); board[position] = human; if (winCheck(board) === false) { board = idealState(board); updateBoard(board); } endgameCheck(board); }
}
function idealState(arr) { var highScore = -2; var idealState = []; for (var i = 0; i < 9; i++) { if (arr[i] === 0) { var arr2 = arr.slice(); arr2[i] = computer; var stateScore = score(arr2, -1); // player is -1 b/c we're simulating starting on the next (human) turn if (stateScore > highScore) { highScore = stateScore; idealState = arr2; } } } return idealState;
}
function winCheck(arr) { //returns false if game is ongoing, 0 if tied, 1 if computer wins, and -1 if human wins var result = false; if (((arr[0] == arr[4] && arr[0] == arr[8]) || (arr[2] == arr[4] && arr[2] == arr[6])) && arr[4] !== 0) { result = arr[4]; } for (var i = 0; i < 9; i += 3) { if ((arr[i] == arr[i + 1] && arr[i] == arr[i + 2]) && arr[i] !== 0) { result = arr[i]; } } for (var i = 0; i < 3; i++) { if ((arr[i] == arr[i + 3] && arr[i] == arr[i + 6]) && arr[i] !== 0) { result = arr[i]; } } if (result === human) { return -1; } else if (result === computer) { return 1; } else if (arr.indexOf(0) === -1) { return 0; } else { return false; }
}
function updateBoard(arr) { for (var i = 0; i < arr.length; i++) { if (arr[i] !== 0) { if (arr[i] === human) { document.getElementById("" + i).innerHTML = human; } else { document.getElementById("" + i).innerHTML = "<span class='comp'>" + computer + "</span>"; } } }
}
function endgameCheck(board) { switch (winCheck(board)) { case 1: alert("You lose!"); break; case -1: alert("You win!"); break; case 0: alert("Tie game!"); break; }
}
})();
MinimaxTTT - Script Codes
MinimaxTTT - Script Codes
Home Page Home
Developer Neeilan Selvalingam
Username neeilan
Uploaded September 13, 2022
Rating 3
Size 2,823 Kb
Views 26,312
Do you need developer help for MinimaxTTT?

Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!

Neeilan Selvalingam (neeilan) Script Codes
Name
NeeilCalc
UTSCMap
RenderTest
NeeilTimer
Simon Game
NeeilQuote
NeeilTwitch
Firebase-test
NeeilWiki
Scribe
Create amazing sales emails with AI!

Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!