Initializing...
Liveweave
expand_more
home
Home
data_object
CSS Explorer
arrow_outward
Palette
Color Explorer
arrow_outward
Polyline
Graphics Editor
arrow_outward
outbox_alt
Generative AI
arrow_outward
build
Tools
expand_more
restart_alt
Load base template
post_add
Generate Lorem ipsum...
code
Format HTML
code_blocks
Format CSS
data_object
Format JavaScript
library_add
Library
expand_more
A
Algolia JS
Animate CSS
Apex Charts JS
B
Bulma CSS
Bootstrap
C
Chart JS
Chartist
Create JS
D
D3
Dojo
F
Foundation
Fullpage JS
G
Granim JS
Google Charts
H
Halfmoon
J
jQuery
M
Materialize
Moment JS
Masonry JS
Milligram CSS
P
Pure CSS
Primer CSS
Popper JS
Pattern CSS
Picnic CSS
R
React JS
Raphael JS
Raisin CSS
S
Semantic UI
Skeleton CSS
Spectre CSS
Tachyons CSS
T
Tailwind
Three JS
U
UI Kit
Vis JS
W
Water CSS
download
Download
expand_more
developer_mode
Download as HTML
folder_zip
Download as .ZIP
cloud_upload
Save
account_circle
Login
settings
Settings
expand_more
14
px
Live mode
Night mode
Line number
Mini map
Word wrap
sync_alt
Reset Settings
smart_display
Run
<!DOCTYPE html> <html> <head> <title> Jogo da Velha - By Lucas</title> <script type="text/javascript" src="script/script.js"></script> </head> <body bgcolor="black"> <b style="color:white;"> Computador </b> <input type="checkbox" id="cpu" checked onclick="chkCpu()"> <br> <b style="color:white; visibility:none" id="textoNivel"> Escolha o Nivel: </b> <br> <b style="color:white;"> Facil </b> <input type="radio" id="nivelFacil" name="nivel" value="facil"> Nivel facil <br> <b style="color:white;"> Medio </b> <input type="radio" id="nivelMedio" name="nivel" value="medio"> Nivel medio <br> <b style="color:white;"> Hard </b> <input type="radio" id="nivelHard" name="nivel" value="hard"> Nivel hard <br> <table border="0" align="center" cellspacing="4"> <tr> <td><img src="http://i65.tinypic.com/2rpptva.png" id="cel1" alt="branco" onclick="chkJogo(this.id)"></td> <td><img src="http://i65.tinypic.com/2rpptva.png" id="cel2" alt="branco" onclick="chkJogo(this.id)"></td> <td><img src="http://i65.tinypic.com/2rpptva.png" id="cel3" alt="branco" onclick="chkJogo(this.id)"></td> </tr> <tr> <td><img src="http://i65.tinypic.com/2rpptva.png" id="cel4" alt="branco" onclick="chkJogo(this.id)"></td> <td><img src="http://i65.tinypic.com/2rpptva.png" id="cel5" alt="branco" onclick="chkJogo(this.id)"></td> <td><img src="http://i65.tinypic.com/2rpptva.png" id="cel6" alt="branco" onclick="chkJogo(this.id)"></td> </tr> <tr> <td><img src="http://i65.tinypic.com/2rpptva.png" id="cel7" alt="branco" onclick="chkJogo(this.id)"></td> <td><img src="http://i65.tinypic.com/2rpptva.png" id="cel8" alt="branco" onclick="chkJogo(this.id)"></td> <td><img src="http://i65.tinypic.com/2rpptva.png" id="cel9" alt="branco" onclick="chkJogo(this.id)"></td> </tr> </table> </body> </html>
.lw { font-size: 60px; }
var jogador = 'x'; var jogada = 0; function chkCpu() { var cpu = document.getElementById('cpu').checked; if(cpu) { alert("Jogo modo computador, escolha o nÃvel"); document.getElementById("textoNivel").style.visibility = ""; } else { alert("Jogo modo dois jogadores"); document.getElementById("textoNivel").style.visibility = "hidden"; } } function chkJogo(id) { var alt = chkAlt(id); var cpu = document.getElementById('cpu').checked; if(alt == "branco") { if (jogador == "x") { document.getElementById(id).src = "http://i66.tinypic.com/264jdq8.png"; } else { document.getElementById(id).src = "http://i64.tinypic.com/ztua0z.png"; } document.getElementById(id).alt = jogador; jogada++; if(chkVitoria()) { alert("Acabou, vitoria do jogador: " + jogador); location.reload(); } if(jogada >= 9) { alert("Empatou o jogo "); location.reload(); } if(jogador == 'x') { jogador = 'o'; } else { jogador = 'x'; } } if(cpu && jogador == 'o') { chkJogo(jogadaDoComputador()); } } function jogadaDoComputador() { var idCpu = jogadaVenceComputador(); if (idCpu !== "") { return idCpu; } idCpu = jogadaDefendeComputador(); if (idCpu !== "") { return idCpu; } idCpu = jogadaPadraoComputador(); if (idCpu !== "") { return idCpu; } return 'cel' + Math.floor((Math.random() * 9) + 1); } //funcao busca se existe alguma jogada para o computador vencer o jogo function jogadaVenceComputador() { // valida se a cel1 esta em branco if(chkAlt("cel1") == "branco") { if (((chkAlt("cel2") == jogador) && (chkAlt("cel3") == jogador)) || ((chkAlt("cel5") == jogador) && (chkAlt("cel9") == jogador)) || ((chkAlt("cel4") == jogador) && (chkAlt("cel7") == jogador))) { return "cel1"; } } // valida se a cel2 esta em branco if(chkAlt("cel2") == "branco") { if (((chkAlt("cel1") == jogador) && (chkAlt("cel3") == jogador)) || ((chkAlt("cel5") == jogador) && (chkAlt("cel8") == jogador))) { return "cel2"; } } // valida se a cel3 esta em branco if(chkAlt("cel3") == "branco") { if (((chkAlt("cel1") == jogador) && (chkAlt("cel2") == jogador)) || ((chkAlt("cel5") == jogador) && (chkAlt("cel7") == jogador)) || ((chkAlt("cel6") == jogador) && (chkAlt("cel9") == jogador))) { return "cel3"; } } // valida se a cel4 esta em branco if(chkAlt("cel4") == "branco") { if (((chkAlt("cel1") == jogador) && (chkAlt("cel7") == jogador)) || ((chkAlt("cel5") == jogador) && (chkAlt("cel6") == jogador))) { return "cel4"; } } // valida se a cel5 esta em branco if(chkAlt("cel5") == "branco") { if (((chkAlt("cel1") == jogador) && (chkAlt("cel9") == jogador)) || ((chkAlt("cel2") == jogador) && (chkAlt("cel8") == jogador)) || ((chkAlt("cel3") == jogador) && (chkAlt("cel7") == jogador)) || ((chkAlt("cel4") == jogador) && (chkAlt("cel6") == jogador))) { return "cel5"; } } // valida se a cel6 esta em branco if(chkAlt("cel6") == "branco") { if (((chkAlt("cel3") == jogador) && (chkAlt("cel9") == jogador)) || ((chkAlt("cel4") == jogador) && (chkAlt("cel5") == jogador))) { return "cel6"; } } // valida se a cel7 esta em branco if(chkAlt("cel7") == "branco") { if (((chkAlt("cel1") == jogador) && (chkAlt("cel4") == jogador)) || ((chkAlt("cel3") == jogador) && (chkAlt("cel5") == jogador)) || ((chkAlt("cel8") == jogador) && (chkAlt("cel9") == jogador))) { return "cel7"; } } // valida se a cel8 esta em branco if(chkAlt("cel8") == "branco") { if (((chkAlt("cel2") == jogador) && (chkAlt("cel5") == jogador)) || ((chkAlt("cel7") == jogador) && (chkAlt("cel9") == jogador))) { return "cel8"; } } // valida se a cel9 esta em branco if(chkAlt("cel9") == "branco") { if (((chkAlt("cel1") == jogador) && (chkAlt("cel5") == jogador)) || ((chkAlt("cel3") == jogador) && (chkAlt("cel6") == jogador)) || ((chkAlt("cel7") == jogador) && (chkAlt("cel8") == jogador))) { return "cel9"; } } return ""; } //funcao busca se existe a necessidade de defesa por parte do computador function jogadaDefendeComputador() { // verifica qual letra do jogador para defender da letra inversa if(jogador == "x") { var adversario = "o"; } else { var adversario = "x"; } // valida se a cel1 esta em branco if(chkAlt("cel1") == "branco") { if (((chkAlt("cel2") == adversario) && (chkAlt("cel3") == adversario)) || ((chkAlt("cel5") == adversario) && (chkAlt("cel9") == adversario)) || ((chkAlt("cel4") == adversario) && (chkAlt("cel7") == adversario))) { return "cel1"; } } // valida se a cel2 esta em branco if(chkAlt("cel2") == "branco") { if (((chkAlt("cel1") == adversario) && (chkAlt("cel3") == adversario)) || ((chkAlt("cel5") == adversario) && (chkAlt("cel8") == adversario))) { return "cel2"; } } // valida se a cel3 esta em branco if(chkAlt("cel3") == "branco") { if (((chkAlt("cel1") == adversario) && (chkAlt("cel2") == adversario)) || ((chkAlt("cel5") == adversario) && (chkAlt("cel7") == adversario)) || ((chkAlt("cel6") == adversario) && (chkAlt("cel9") == adversario))) { return "cel3"; } } // valida se a cel4 esta em branco if(chkAlt("cel4") == "branco") { if (((chkAlt("cel1") == adversario) && (chkAlt("cel7") == adversario)) || ((chkAlt("cel5") == adversario) && (chkAlt("cel6") == adversario))) { return "cel4"; } } // valida se a cel5 esta em branco if(chkAlt("cel5") == "branco") { if (((chkAlt("cel1") == adversario) && (chkAlt("cel9") == adversario)) || ((chkAlt("cel2") == adversario) && (chkAlt("cel8") == adversario)) || ((chkAlt("cel3") == adversario) && (chkAlt("cel7") == adversario)) || ((chkAlt("cel4") == adversario) && (chkAlt("cel6") == adversario))) { return "cel5"; } } // valida se a cel6 esta em branco if(chkAlt("cel6") == "branco") { if (((chkAlt("cel3") == adversario) && (chkAlt("cel9") == adversario)) || ((chkAlt("cel4") == adversario) && (chkAlt("cel5") == adversario))) { return "cel6"; } } // valida se a cel7 esta em branco if(chkAlt("cel7") == "branco") { if (((chkAlt("cel1") == adversario) && (chkAlt("cel4") == adversario)) || ((chkAlt("cel3") == adversario) && (chkAlt("cel5") == adversario)) || ((chkAlt("cel8") == adversario) && (chkAlt("cel9") == adversario))) { return "cel7"; } } // valida se a cel8 esta em branco if(chkAlt("cel8") == "branco") { if (((chkAlt("cel2") == adversario) && (chkAlt("cel5") == adversario)) || ((chkAlt("cel7") == adversario) && (chkAlt("cel9") == adversario))) { return "cel8"; } } // valida se a cel9 esta em branco if(chkAlt("cel9") == "branco") { if (((chkAlt("cel1") == adversario) && (chkAlt("cel5") == adversario)) || ((chkAlt("cel3") == adversario) && (chkAlt("cel6") == adversario)) || ((chkAlt("cel7") == adversario) && (chkAlt("cel8") == adversario))) { return "cel9"; } } return ""; } function jogadaPadraoComputador () { // verifica qual letra do adversario if(jogador == "x") { var adversario = "o"; } else { var adversario = "x"; } // regra para jogada 1 if(jogada == 0) { return "cel1"; } // regra para jogada 2 if(jogada == 1) { if(chkAlt("cel5") == "branco") { return "cel5"; } else { return "cel1" } } // regra para jogada 3 - AINDA NAO NECESSÃRIO if(jogada == 2) { return ""; } // regra para jogada 4 if(jogada == 3) { // Ver se o centro é do adversário if(chkAlt("cel5") == adversario) { return "cel3"; // indica que o centro é do jogador } else { casaAdversario1 = chkCasa1(adversario); casaAdversario2 = chkCasa2(adversario, casaAdversario1); // varremos as casas com branco e vemos se esta é uma boa opcao de jogada var casaDisponivel = chkAlt("cel1"); if (casaDisponivel == "branco") { if ((casaAdversario1 == "cel2" && casaAdversario2 == "cel8") || (casaAdversario1 == "cel2" && casaAdversario2 == "cel6") || (casaAdversario1 == "cel4" && casaAdversario2 == "cel8") || (casaAdversario1 == "cel4" && casaAdversario2 == "cel6") || (casaAdversario1 == "cel2" && casaAdversario2 == "cel9") || (casaAdversario1 == "cel4" && casaAdversario2 == "cel9")){ return "cel1"; } } // não achei situação para jogar na 2 //var casaDisponivel = chkAlt("cel2"); var casaDisponivel = chkAlt("cel3"); if (casaDisponivel == "branco") { if ((casaAdversario1 == "cel2" && casaAdversario2 == "cel7") || (casaAdversario1 == "cel2" && casaAdversario2 == "cel4") || (casaAdversario1 == "cel6" && casaAdversario2 == "cel7") || (casaAdversario1 == "cel6" && casaAdversario2 == "cel8")){ return "cel3"; } } var casaDisponivel = chkAlt("cel4"); if (casaDisponivel == "branco") { if ((casaAdversario1 == "cel1" && casaAdversario2 == "cel9") || (casaAdversario1 == "cel3" && casaAdversario2 == "cel7")){ return "cel4"; } } // não achei situação para jogar na 6 // var casaDisponivel = chkAlt("cel6"); var casaDisponivel = chkAlt("cel7"); if (casaDisponivel == "branco") { if ((casaAdversario1 == "cel3" && casaAdversario2 == "cel4") || (casaAdversario1 == "cel3" && casaAdversario2 == "cel8")){ return "cel7"; } } // não achei situação para jogar na 8 //var casaDisponivel = chkAlt("cel8"); var casaDisponivel = chkAlt("cel9"); if (casaDisponivel == "branco") { if ((casaAdversario1 == "cel1" && casaAdversario2 == "cel8") || (casaAdversario1 == "cel1" && casaAdversario2 == "cel6")){ return "cel9"; } } } } return ""; } function chkCasa1(letra) { varJogador = chkAlt("cel1"); if(varJogador == letra) { return "cel1"; } varJogador = chkAlt("cel2"); if(varJogador == letra) { return "cel2"; } varJogador = chkAlt("cel3"); if(varJogador == letra) { return "cel3"; } varJogador = chkAlt("cel4"); if(varJogador == letra) { return "cel4"; } varJogador = chkAlt("cel5"); if(varJogador == letra) { return "cel5"; } varJogador = chkAlt("cel6"); if(varJogador == letra) { return "cel6"; } varJogador = chkAlt("cel7"); if(varJogador == letra) { return "cel7"; } varJogador = chkAlt("cel8"); if(varJogador == letra) { return "cel8"; } varJogador = chkAlt("cel9"); if(varJogador == letra) { return "cel9"; } } function chkCasa2(letra, casa1) { varJogador = chkAlt("cel1"); if(varJogador == letra && casa1 != "cel1") { return "cel1"; } varJogador = chkAlt("cel2"); if(varJogador == letra && casa1 != "cel2") { return "cel2"; } varJogador = chkAlt("cel3"); if(varJogador == letra && casa1 != "cel3") { return "cel3"; } varJogador = chkAlt("cel4"); if(varJogador == letra && casa1 != "cel4") { return "cel4"; } varJogador = chkAlt("cel5"); if(varJogador == letra && casa1 != "cel5") { return "cel5"; } varJogador = chkAlt("cel6"); if(varJogador == letra && casa1 != "cel6") { return "cel6"; } varJogador = chkAlt("cel7"); if(varJogador == letra && casa1 != "cel7") { return "cel7"; } varJogador = chkAlt("cel8"); if(varJogador == letra && casa1 != "cel8") { return "cel8"; } varJogador = chkAlt("cel9"); if(varJogador == letra && casa1 != "cel9") { return "cel9"; } } function chkAlt(id) { var alt = document.getElementById(id).alt; return alt; } function chkVitoria() { if((chkAlt("cel1") == chkAlt("cel2")) && (chkAlt("cel1") == chkAlt("cel3")) && (chkAlt("cel1") != "branco")) { return true; } if((chkAlt("cel4") == chkAlt("cel5")) && (chkAlt("cel4") == chkAlt("cel6")) && (chkAlt("cel4") != "branco")) { return true; } if((chkAlt("cel7") == chkAlt("cel8")) && (chkAlt("cel7") == chkAlt("cel9")) && (chkAlt("cel7") != "branco")) { return true; } if((chkAlt("cel1") == chkAlt("cel5")) && (chkAlt("cel1") == chkAlt("cel9")) && (chkAlt("cel1") != "branco")) { return true; } if((chkAlt("cel1") == chkAlt("cel4")) && (chkAlt("cel1") == chkAlt("cel7")) && (chkAlt("cel1") != "branco")) { return true; } if((chkAlt("cel2") == chkAlt("cel5")) && (chkAlt("cel2") == chkAlt("cel8")) && (chkAlt("cel2") != "branco")) { return true; } if((chkAlt("cel3") == chkAlt("cel6")) && (chkAlt("cel3") == chkAlt("cel9")) && (chkAlt("cel3") != "branco")) { return true; } if((chkAlt("cel3") == chkAlt("cel5")) && (chkAlt("cel3") == chkAlt("cel7")) && (chkAlt("cel3") != "branco")) { return true; } return false }