<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <input type="text" value=""> <button>猜数字</button> <p></p> <script> window.onload = function(){ // 玩家 function Player() { this.name; } // 玩家猜数字 Player.prototype.guess = function () { let input = document.querySelector('input') return input.value; } // 电脑 function Computer() { this.name; } // 电脑产生数字 Computer.prototype.random = function () { return str; } // 裁判 function Judg() { this.player = new Player(); this.computer = new Computer(); } // 判断猜测结果 let error=9; Judg.prototype.compare = function () { let player =this.player; let computer=this.computer; function bibao() { let result = document.querySelector('p'); let reg = /^\d{4}$/ let playerNum = player.guess(); let computerNum = computer.random(); let AA = 0; let BB = 0; if (reg.test(playerNum)) { let playerArr = playerNum.split('') let computerArr = computerNum.split('') for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { if (playerArr[i] === computerArr[j] && i == j) { AA++; } else if (playerArr[i] === computerArr[j] && i != j) { BB++; } } } if (AA == 4) { result.innerText = '猜测正确' return -1; } else { error--; if(error>0) { result.innerText = `猜测结果为:${AA}A${BB}B,你还有${error}次机会` } } } else { result.innerText = '请输入正确数字' } return error; } return bibao(); } let str = '' for (let i = 0; i < 4; i++) { str += parseInt(Math.random() * 10); } console.log(str); let judg = new Judg(); let compare = document.querySelector('button') compare.onclick = function () { let error=judg.compare(); let result = document.querySelector('p'); if(error<=0) { compare.disabled =true; result.innerText = '游戏结束,少侠请重新来过!' } } } </script> </body> </html>
猜数字游戏,面向对象编程~
猜你喜欢
转载自www.cnblogs.com/web--yang/p/9163489.html
今日推荐
周排行