>웹 프론트엔드 >JS 튜토리얼 >JavaScript tic-tac-toe 인공지능 구현 code_javascript 기술

JavaScript tic-tac-toe 인공지능 구현 code_javascript 기술

WBOY
WBOY원래의
2016-05-16 18:37:371683검색


<script> /* Code Written by Cory Fogliani (Email: cory@ijustdontcare.com) Testers: Cory Fogliani, Chris Gordon Featured on JavaScript Kit (http://javascriptkit.com) For this and over 400+ free scripts, visit http://javascriptkit.com */ //if IE4/NS6, apply style if (document.all||document.getElementById){ document.write('<style>.tictac{') document.write('width:50px;height:50px;') document.write('}') } var sqr1 var sqr2 var sqr3 var sqr4 var sqr5 var sqr6 var sqr7 var sqr8 var sqr9 var sqr1T = 0 var sqr2T = 0 var sqr3T = 0 var sqr4T = 0 var sqr5T = 0 var sqr6T = 0 var sqr7T = 0 var sqr8T = 0 var sqr9T = 0 var moveCount = 0 var turn = 0 var mode = 1 function vari() { sqr1 = document.tic.sqr1.value sqr2 = document.tic.sqr2.value sqr3 = document.tic.sqr3.value sqr4 = document.tic.sqr4.value sqr5 = document.tic.sqr5.value sqr6 = document.tic.sqr6.value sqr7 = document.tic.sqr7.value sqr8 = document.tic.sqr8.value sqr9 = document.tic.sqr9.value } function check() { if(sqr1 == " X " && sqr2 == " X " && sqr3 == " X ") { alert("You Win!") reset() } else if(sqr4 == " X " && sqr5 == " X " && sqr6 == " X ") { alert("You Win!") reset() } else if(sqr7 == " X " && sqr8 == " X " && sqr9 == " X ") { alert("You Win!") reset() } else if(sqr1 == " X " && sqr5 == " X " && sqr9 == " X ") { alert("You Win!") reset() } else if(sqr1 == " X " && sqr4 == " X " && sqr7 == " X ") { alert("You Win!") reset() } else if(sqr2 == " X " && sqr5 == " X " && sqr8 == " X ") { alert("You Win!") reset() } else if(sqr3 == " X " && sqr6 == " X " && sqr9 == " X ") { alert("You Win!") reset() } else if(sqr1 == " X " && sqr5 == " X " && sqr9 == " X ") { alert("You Win!") reset() } else if(sqr3 == " X " && sqr5 == " X " && sqr7 == " X ") { alert("You Win!") reset() } else { winCheck() check2() drawCheck() } } function check2() { vari() drawCheck() if(sqr1 == " O " && sqr2 == " O " && sqr3 == " O ") { alert("You Lose!") reset() } else if(sqr4 == " O " && sqr5 == " O " && sqr6 == " O ") { alert("You Lose!") reset() } else if(sqr7 == " O " && sqr8 == " O " && sqr9 == " O ") { alert("You Lose!") reset() } else if(sqr1 == " O " && sqr5 == " O " && sqr9 == " O ") { alert("You Lose!") reset() } else if(sqr1 == " O " && sqr4 == " O " && sqr7 == " O ") { alert("You Lose!") reset() } else if(sqr2 == " O " && sqr5 == " O " && sqr8 == " O ") { alert("You Lose!") reset() } else if(sqr3 == " O " && sqr6 == " O " && sqr9 == " O ") { alert("You Lose!") reset() } else if(sqr1 == " O " && sqr5 == " O " && sqr9 == " O ") { alert("You Lose!") reset() } else if(sqr3 == " O " && sqr5 == " O " && sqr7 == " O ") { alert("You Lose!") reset() } } function player1Check() { if(sqr1 == " X " && sqr2 == " X " && sqr3 == " X ") { alert("Player 1 wins!") reset() } else if(sqr4 == " X " && sqr5 == " X " && sqr6 == " X ") { alert("Player 1 wins!") reset() } else if(sqr7 == " X " && sqr8 == " X " && sqr9 == " X ") { alert("Player 1 wins!") reset() } else if(sqr1 == " X " && sqr5 == " X " && sqr9 == " X ") { alert("Player 1 wins!") reset() } else if(sqr1 == " X " && sqr4 == " X " && sqr7 == " X ") { alert("Player 1 wins!") reset() } else if(sqr2 == " X " && sqr5 == " X " && sqr8 == " X ") { alert("Player 1 wins!") reset() } else if(sqr3 == " X " && sqr6 == " X " && sqr9 == " X ") { alert("Player 1 wins!") reset() } else if(sqr1 == " X " && sqr5 == " X " && sqr9 == " X ") { alert("Player 1 wins!") reset() } else if(sqr3 == " X " && sqr5 == " X " && sqr7 == " X ") { alert("Player 1 wins!") reset() } else { player2Check() drawCheck() } } function player2Check() { vari() drawCheck() if(sqr1 == " O " && sqr2 == " O " && sqr3 == " O ") { alert("Player 2 wins!") reset() } else if(sqr4 == " O " && sqr5 == " O " && sqr6 == " O ") { alert("Player 2 wins!") reset() } else if(sqr7 == " O " && sqr8 == " O " && sqr9 == " O ") { alert("Player 2 wins!") reset() } else if(sqr1 == " O " && sqr5 == " O " && sqr9 == " O ") { alert("Player 2 wins!") reset() } else if(sqr1 == " O " && sqr4 == " O " && sqr7 == " O ") { alert("Player 2 wins!") reset() } else if(sqr2 == " O " && sqr5 == " O " && sqr8 == " O ") { alert("Player 2 wins!") reset() } else if(sqr3 == " O " && sqr6 == " O " && sqr9 == " O ") { alert("Player 2 wins!") reset() } else if(sqr1 == " O " && sqr5 == " O " && sqr9 == " O ") { alert("Player 2 wins!") reset() } else if(sqr3 == " O " && sqr5 == " O " && sqr7 == " O ") { alert("Player 2 wins!") reset() } } function drawCheck() { vari() moveCount = sqr1T + sqr2T + sqr3T + sqr4T + sqr5T + sqr6T + sqr7T + sqr8T + sqr9T if(moveCount == 9) { reset() alert("Draw") } } function winCheck() { check2() if(sqr1 == " O " && sqr2 == " O " && sqr3T == 0 && turn == 1) { document.tic.sqr3.value = " O " sqr3T = 1; turn = 0; } else if(sqr2 == " O " && sqr3 == " O " && sqr1T == 0 && turn == 1) { document.tic.sqr1.value = " O " sqr1T = 1; turn = 0; } else if(sqr4 == " O " && sqr5 == " O " && sqr6T == 0 && turn == 1) { document.tic.sqr6.value = " O " sqr6T = 1; turn = 0; } else if(sqr5 == " O " && sqr6 == " O " && sqr4T == 0 && turn == 1) { document.tic.sqr4.value = " O " sqr4T = 1; turn = 0; } else if(sqr7 == " O " && sqr8 == " O " && sqr9T == 0 && turn == 1) { document.tic.sqr9.value = " O " sqr9T = 1; turn = 0; } else if(sqr8 == " O " && sqr9 == " O " && sqr7T == 0 && turn == 1) { document.tic.sqr7.value = " O " sqr7T = 1; turn = 0; } else if(sqr1 == " O " && sqr5 == " O " && sqr9T == 0 && turn == 1) { document.tic.sqr9.value = " O " sqr9T = 1; turn = 0; } else if(sqr5 == " O " && sqr9 == " O " && sqr1T == 0 && turn == 1) { document.tic.sqr1.value = " O " sqr1T = 1; turn = 0; } else if(sqr3 == " O " && sqr5 == " O " && sqr7T == 0 && turn == 1) { document.tic.sqr7.value = " O " sqr7T = 1; turn = 0; } else if(sqr7 == " O " && sqr5 == " O " && sqr3T == 0 && turn == 1) { document.tic.sqr3.value = " O " sqr3T = 1; turn = 0; } else if(sqr1 == " O " && sqr3 == " O " && sqr2T == 0 && turn == 1) { document.tic.sqr2.value = " O " sqr2T = 1; turn = 0; } else if(sqr4 == " O " && sqr6 == " O " && sqr5T == 0 && turn == 1) { document.tic.sqr5.value = " O " sqr5T = 1; turn = 0; } else if(sqr7 == " O " && sqr9 == " O " && sqr8T == 0 && turn == 1) { document.tic.sqr8.value = " O " sqr8T = 1; turn = 0; } else if(sqr1 == " O " && sqr7 == " O " && sqr4T == 0 && turn == 1) { document.tic.sqr4.value = " O " sqr4T = 1; turn = 0; } else if(sqr2 == " O " && sqr8 == " O " && sqr5T == 0 && turn == 1) { document.tic.sqr5.value = " O " sqr5T = 1; turn = 0; } else if(sqr3 == " O " && sqr9 == " O " && sqr6T == 0 && turn == 1) { document.tic.sqr6.value = " O " sqr6T = 1; turn = 0; } else if(sqr1 == " O " && sqr5 == " O " && sqr9T == 0 && turn == 1) { document.tic.sqr9.value = " O " sqr9T = 1; turn = 0; } else if(sqr4 == " O " && sqr7 == " O " && sqr1T == 0 && turn == 1) { document.tic.sqr1.value = " O " sqr1T = 1; turn = 0; } else if(sqr5 == " O " && sqr8 == " O " && sqr2T == 0 && turn == 1) { document.tic.sqr2.value = " O " sqr2T = 1; turn = 0; } else if(sqr6 == " O " && sqr9 == " O " && sqr3T == 0 && turn == 1) { document.tic.sqr3.value = " O " sqr3T = 1; turn = 0; } else if(sqr1 == " O " && sqr4 == " O " && sqr7T == 0 && turn == 1) { document.tic.sqr7.value = " O " sqr7T = 1; turn = 0; } else if(sqr2 == " O " && sqr5 == " O " && sqr8T == 0 && turn == 1) { document.tic.sqr8.value = " O " sqr8T = 1; turn = 0; } else if(sqr3 == " O " && sqr6 == " O " && sqr9T == 0 && turn == 1) { document.tic.sqr9.value = " O " sqr9T = 1; turn = 0; } else if(sqr1 == " O " && sqr9 == " O " && sqr5T == 0 && turn == 1) { document.tic.sqr5.value = " O " sqr5T = 1; turn = 0; } else if(sqr3 == " O " && sqr7 == " O " && sqr5T == 0 && turn == 1) { document.tic.sqr5.value = " O " sqr5T = 1; turn = 0; } else { computer() } check2() } function computer() { check2() if(sqr1 == " X " && sqr2 == " X " && sqr3T == 0 && turn == 1) { document.tic.sqr3.value = " O " sqr3T = 1; turn = 0; } else if(sqr2 == " X " && sqr3 == " X " && sqr1T == 0 && turn == 1) { document.tic.sqr1.value = " O " sqr1T = 1; turn = 0; } else if(sqr4 == " X " && sqr5 == " X " && sqr6T == 0 && turn == 1) { document.tic.sqr6.value = " O " sqr6T = 1; turn = 0; } else if(sqr5 == " X " && sqr6 == " X " && sqr4T == 0 && turn == 1) { document.tic.sqr4.value = " O " sqr4T = 1; turn = 0; } else if(sqr7 == " X " && sqr8 == " X " && sqr9T == 0 && turn == 1) { document.tic.sqr9.value = " O " sqr9T = 1; turn = 0; } else if(sqr8 == " X " && sqr9 == " X " && sqr7T == 0 && turn == 1) { document.tic.sqr7.value = " O " sqr7T = 1; turn = 0; } else if(sqr1 == " X " && sqr5 == " X " && sqr9T == 0 && turn == 1) { document.tic.sqr9.value = " O " sqr9T = 1; turn = 0; } else if(sqr5 == " X " && sqr9 == " X " && sqr1T == 0 && turn == 1) { document.tic.sqr1.value = " O " sqr1T = 1; turn = 0; } else if(sqr3 == " X " && sqr5 == " X " && sqr7T == 0 && turn == 1) { document.tic.sqr7.value = " O " sqr7T = 1; turn = 0; } else if(sqr7 == " X " && sqr5 == " X " && sqr3T == 0 && turn == 1) { document.tic.sqr3.value = " O " sqr3T = 1; turn = 0; } else if(sqr1 == " X " && sqr3 == " X " && sqr2T == 0 && turn == 1) { document.tic.sqr2.value = " O " sqr2T = 1; turn = 0; } else if(sqr4 == " X " && sqr6 == " X " && sqr5T == 0 && turn == 1) { document.tic.sqr5.value = " O " sqr5T = 1; turn = 0; } else if(sqr7 == " X " && sqr9 == " X " && sqr8T == 0 && turn == 1) { document.tic.sqr8.value = " O " sqr8T = 1; turn = 0; } else if(sqr1 == " X " && sqr7 == " X " && sqr4T == 0 && turn == 1) { document.tic.sqr4.value = " O " sqr4T = 1; turn = 0; } else if(sqr2 == " X " && sqr8 == " X " && sqr5T == 0 && turn == 1) { document.tic.sqr5.value = " O " sqr5T = 1; turn = 0; } else if(sqr3 == " X " && sqr9 == " X " && sqr6T == 0 && turn == 1) { document.tic.sqr6.value = " O " sqr6T = 1; turn = 0; } else if(sqr1 == " X " && sqr5 == " X " && sqr9T == 0 && turn == 1) { document.tic.sqr9.value = " O " sqr9T = 1; turn = 0; } else if(sqr4 == " X " && sqr7 == " X " && sqr1T == 0 && turn == 1) { document.tic.sqr1.value = " O " sqr1T = 1; turn = 0; } else if(sqr5 == " X " && sqr8 == " X " && sqr2T == 0 && turn == 1) { document.tic.sqr2.value = " O " sqr2T = 1; turn = 0; } else if(sqr6 == " X " && sqr9 == " X " && sqr3T == 0 && turn == 1) { document.tic.sqr3.value = " O " sqr3T = 1; turn = 0; } else if(sqr1 == " X " && sqr4 == " X " && sqr7T == 0 && turn == 1) { document.tic.sqr7.value = " O " sqr7T = 1; turn = 0; } else if(sqr2 == " X " && sqr5 == " X " && sqr8T == 0 && turn == 1) { document.tic.sqr8.value = " O " sqr8T = 1; turn = 0; } else if(sqr3 == " X " && sqr6 == " X " && sqr9T == 0 && turn == 1) { document.tic.sqr9.value = " O " sqr9T = 1; turn = 0; } else if(sqr1 == " X " && sqr9 == " X " && sqr5T == 0 && turn == 1) { document.tic.sqr5.value = " O " sqr5T = 1; turn = 0; } else if(sqr3 == " X " && sqr7 == " X " && sqr5T == 0 && turn == 1) { document.tic.sqr5.value = " O " sqr5T = 1; turn = 0; } else { AI() } check2() } function AI() { vari() if(document.tic.sqr5.value == " " && turn == 1) { document.tic.sqr5.value = " O " turn = 0 sqr5T = 1 } else if(document.tic.sqr1.value == " " && turn == 1) { document.tic.sqr1.value = " O " turn = 0 sqr1T = 1 } else if(document.tic.sqr9.value == " " && turn == 1) { document.tic.sqr9.value = " O " turn = 0 sqr9T = 1 } else if(document.tic.sqr6.value == " " && turn == 1) { document.tic.sqr6.value = " O " turn = 0 sqr6T = 1 } else if(document.tic.sqr2.value == " " && turn == 1) { document.tic.sqr2.value = " O " turn = 0 sqr2T = 1 } else if(document.tic.sqr8.value == " " && turn == 1) { document.tic.sqr8.value = " O " turn = 0 sqr8T = 1 } else if(document.tic.sqr3.value == " " && turn == 1) { document.tic.sqr3.value = " O " turn = 0 sqr3T = 1 } else if(document.tic.sqr7.value == " " && turn == 1) { document.tic.sqr7.value = " O " turn = 0 sqr7T = 1 } else if(document.tic.sqr4.value == " " && turn == 1) { document.tic.sqr4.value = " O " turn = 0 sqr4T = 1 } check2() } function reset() { document.tic.sqr1.value = " " document.tic.sqr2.value = " " document.tic.sqr3.value = " " document.tic.sqr4.value = " " document.tic.sqr5.value = " " document.tic.sqr6.value = " " document.tic.sqr7.value = " " document.tic.sqr8.value = " " document.tic.sqr9.value = " " sqr1T = 0 sqr2T = 0 sqr3T = 0 sqr4T = 0 sqr5T = 0 sqr6T = 0 sqr7T = 0 sqr8T = 0 sqr9T = 0 vari() turn = 0 moveCount = 0 } function resetter() { reset() } </script> [Ctrl A Select All 참고: 외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다. ]
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.