当前位置: 首页 > news >正文

石景山郑州阳网站建设南京网站搜索引擎优化

石景山郑州阳网站建设,南京网站搜索引擎优化,做网站订阅号,网站建设公司怎么发展新客户#x1f30f;个人博客主页#xff1a;心.c 前言#xff1a;这两天在写植物大战僵尸#xff0c;写不动了#xff0c;现在和大家分享一下之前我写的一个很简单的小游戏井字棋#xff0c;这个没有AI#xff0c;可以两个人一起玩#xff0c;如果大家觉得我哪里写的有一些问… 个人博客主页心.c 前言这两天在写植物大战僵尸写不动了现在和大家分享一下之前我写的一个很简单的小游戏井字棋这个没有AI可以两个人一起玩如果大家觉得我哪里写的有一些问题还希望积极改正欢迎大家留言 专题文章JavaScript小游戏 感谢大家的点赞收藏⭐️评论✍您的一键三连是我更新的动力   目录 页面效果  相关技能实现 创建空数组 获得大盒子和小盒子对象 给大盒子添加事件监听 判断小格子是否被填满 判断是否有一方成功 判断数组中存在的数的个数 更新页面 源代码 HTML CSS JavaScript 页面效果  关于应用就是不可重复添加而且两次点击的表情是不一样的每个表情代表一方出现三连的那一方就赢了每一个小方格是不可重复添加的如果每个格子都填满了就平局成功或平局都会出现alert提示然后页面清空清空之后可以继续玩 相关技能实现 创建空数组 空数组用来遍历通过其值是1是2或是null来放置我们的表情  const arr Array(9).fill(null) 获得大盒子和小盒子对象 let box this.document.querySelector(.box)let small_boxes this.document.querySelectorAll(.small) 给大盒子添加事件监听 给我们的大盒子添加点击事件冒泡到子级通过1和2的个数来添加1或2谁少添加谁优先添加1如果1和2的个数有一个大于3可能出现一方胜利的情况就添加winner方法进行判断如果有一方胜利就返回这一方然后页面进行清空通过返回的1还是2进行判断是谁胜利了如果一直没有胜利直到小方格都被填写完算两方平局页面就会被清空就可以重新进行添加了 box.addEventListener(click, function (e) {if (e.target.tagName DIV) {let id e.target.dataset.idif (getCount(arr, 1) getCount(arr, 2)) {if (arr[id - 1] null) {arr[id - 1] 1console.log(arr)render()} else {alert(请在空白处添加)}} else {if (arr[id - 1] null) {arr[id - 1] 2console.log(arr)render()} else {alert(请在空白处添加)}}//判断是否被填满if (allSet()) {let time0 setTimeout(function () {alert(平局)arr.fill(null)small_boxes.forEach(function (small_box) {console.log(small_box)small_box.innerHTML ; // 清空每个文本框});clearTimeout(time0)}, 300)}//判断是否有一方赢if (getCount(arr, 1) 3 || getCount(arr, 2) 3) {let time setTimeout(function () {let win winner()if (win ! -1) {if (win 1) {alert(笑脸成功)} else if (win 2) {alert(哭脸成功)}arr.fill(null)small_boxes.forEach(function (small_box) {console.log(small_box)small_box.innerHTML ; // 清空每个文本框});clearTimeout(time)}}, 400)}}})判断小格子是否被填满 遍历数组arr的每个值如果该值有一个为null就返回false如果都不为false最后返回true  function allSet() {for (let i of arr) {if (i null) {return false}}return true} 判断是否有一方成功 这个游戏虽然是3×3方格但是是用一维数组存储的如果下面有一对三个下标的值相等就返回其中一个下标的值 //判断是否成功function winner() {const winningCombinations [[0, 1, 2], [3, 4, 5], [6, 7, 8],[0, 3, 6], [1, 4, 7], [2, 5, 8],[0, 4, 8], [2, 4, 6]];for (let combo of winningCombinations) {if (arr[combo[0]] arr[combo[0]] arr[combo[1]] arr[combo[1]] arr[combo[2]]) {return arr[combo[0]];}}return -1;} 判断数组中存在的数的个数 这个方法就是为了判断1和2的个数  //返回某个数存在的个数function getCount(arr, value) {return arr.filter(item item value).length;} 更新页面 遍历数组向每个小方格添加内容如果为1添加笑脸如果为2添加哭脸如果为null什么也不添加数组和方格是一一对应的  function render() {small_boxes.forEach(function (small_box) {small_box.innerHTML ; // 清空每个文本框});for (let i 0; i 9; i) {let smal document.querySelector([data-id${i 1}])if (arr[i] 1) {smal.innerHTML #xe68b;}else if (arr[i] 2) {smal.innerHTML #xe68e;} else {smal.innerHTML }}} 源代码 HTML !DOCTYPE html html langenheadmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/titlelink relstylesheet href./iconfont/iconfont.csslink relstylesheet href./game.css /headbodydiv classbox wrapperdiv classsmall iconfont data-id1/divdiv classsmall iconfont data-id2/divdiv classsmall iconfont data-id3/divdiv classsmall iconfont data-id4/divdiv classsmall iconfont data-id5/divdiv classsmall iconfont data-id6/divdiv classsmall iconfont data-id7/divdiv classsmall iconfont data-id8/divdiv classsmall iconfont data-id9/div/divdiv classtexth1----井字棋----/h1/divscript src./game.js/script /body/html CSS :root {--bgc: rgb(223, 225, 248); }.wrapper {margin: auto; }* {margin: 0;height: 0;box-sizing: border-box; }.body {user-select: none;background-color: #f6faff; }.box {user-select: none;margin-top: 20px;display: flex;flex-wrap: wrap;width: 570px;height: 570px;border: 12px solid var(--bgc);border-radius: 40px;background-color: #ffffff; }.small {font-size: 120px;color: rgb(183, 190, 227);line-height: 182px;text-align: center;user-select: none;width: 182px;height: 182px;cursor: pointer; }.small:nth-child(1), .small:nth-child(2), .small:nth-child(4), .small:nth-child(5) {border-right: 12px solid var(--bgc);border-bottom: 12px solid var(--bgc); }.small:nth-child(3), .small:nth-child(6) {border-bottom: 12px solid var(--bgc); }.small:nth-child(7), .small:nth-child(8) {border-right: 12px solid var(--bgc); }.text {text-align: center;color: var(--bgc); } JavaScript window.addEventListener(load, function () {const arr Array(9).fill(null)let box this.document.querySelector(.box)let small_boxes this.document.querySelectorAll(.small)box.addEventListener(click, function (e) {if (e.target.tagName DIV) {let id e.target.dataset.idif (getCount(arr, 1) getCount(arr, 2)) {if (arr[id - 1] null) {arr[id - 1] 1console.log(arr)render()} else {alert(请在空白处添加)}} else {if (arr[id - 1] null) {arr[id - 1] 2console.log(arr)render()} else {alert(请在空白处添加)}}//判断是否被填满if (allSet()) {let time0 setTimeout(function () {alert(平局)arr.fill(null)small_boxes.forEach(function (small_box) {console.log(small_box)small_box.innerHTML ; // 清空每个文本框});clearTimeout(time0)}, 300)}//判断是否有一方赢if (getCount(arr, 1) 3 || getCount(arr, 2) 3) {let time setTimeout(function () {let win winner()if (win ! -1) {if (win 1) {alert(笑脸成功)} else if (win 2) {alert(哭脸成功)}arr.fill(null)small_boxes.forEach(function (small_box) {console.log(small_box)small_box.innerHTML ; // 清空每个文本框});clearTimeout(time)}}, 400)}}})function allSet() {for (let i of arr) {if (i null) {return false}}return true}function render() {small_boxes.forEach(function (small_box) {small_box.innerHTML ; // 清空每个文本框});for (let i 0; i 9; i) {let smal document.querySelector([data-id${i 1}])if (arr[i] 1) {smal.innerHTML #xe68b;}else if (arr[i] 2) {smal.innerHTML #xe68e;} else {smal.innerHTML }}}//判断是否成功function winner() {const winningCombinations [[0, 1, 2], [3, 4, 5], [6, 7, 8],[0, 3, 6], [1, 4, 7], [2, 5, 8],[0, 4, 8], [2, 4, 6]];for (let combo of winningCombinations) {if (arr[combo[0]] arr[combo[0]] arr[combo[1]] arr[combo[1]] arr[combo[2]]) {return arr[combo[0]];}}return -1;}//返回某个数存在的个数function getCount(arr, value) {return arr.filter(item item value).length;}} ) 到这里就讲完了感谢大家的观看
http://www.w-s-a.com/news/725625/

相关文章:

  • 一个网站需要哪些备案书店网站建设策划书总结
  • 网站建设的重点是什么注册网站空间
  • 网站公司企业宗旨我的网站 dedecms
  • 沧州网站优化做详情图的网站
  • 中国建设银行公积金网站wordpress表单 post
  • 找权重高的网站方法wordpress视频网站上传视频
  • 营销型网站架构师迁移wordpress500错误
  • 做网站还是博客由()承担
  • wordpress 导购站模板中国最新军事新闻直播83军
  • 公众号h5网站开发wordpress文章主图
  • ps怎么艺术字字体设计网站我想自己做网站
  • 北京做机柜空调的网站模板网站和插件
  • 手机购物网站模板wordpress添加分类文档
  • 网站开发知识网上怎么申请个人营业执照
  • 音乐网站建设费用营销策略都有哪些4p
  • 深圳制作网站怎么样wordpress 学习视频
  • 新公司注册网站传奇手游大型网站
  • 无极网站网站涉案多少人被抓网站的按钮怎么做
  • ds216j做网站做购物网站那个好
  • 做淘宝门头的网站阿里巴巴官网app
  • 安踏网站建设策划方案如何通过域名访问网站
  • 建设网站破解版seo查询 站长之家
  • 太原模板建站平台旅游企业网站建设工作的通知
  • 网站国外建设超级简历模板官网
  • 上海网站建设市场医药网站怎么做
  • 宁夏成城建设集团网站网店美工课本
  • 哪些网站的简历做的比较好政务服务 网站 建设方案
  • 如何建设个人网站凡科怎么样vps安装wordpress后怎样登录
  • 学seo朝阳区seo
  • 网站开发团队成员皮具网站建设