在上个学期的学习中,有一门课程叫WEB开发,有一次作业是要求做一个拼图,规则是4x4,有15张图片和1个空格,用鼠标点击图片,若周围有空格则可以移动,外观大概如下:

所以首先要解决的问题是,如何判断当前点击的图片周围有空格。 我的做法是创建一个数组,把1到16存入,然后随机打乱数字,16代表空白格(实际是一张白色图片),把打乱的数字按顺序放入格子中,然后就判断当前点击的格子周围的四个格子中有没有16就可以了。 若周围有16,则把这个格子中的图片src换掉,实现图片的“移动”。这个想法听起来可行,但是实际操作时,遇到了一个问题。我点击边缘处的格子,判断条件有的地方没有考虑周全。比如这段代码:

$("img").click(function () {
  if(isgameover==false)
  {
  var n=0;
  var a = $(this).attr("id");
  var b = parseInt(a);
  var temp;
  if (blocks[b - 2] == 16 ) {
  $("#g" + b + " img").attr("src", "../image/" + blocks[b - 2] + ".jpg");
  $("#g" + (b - 1) + " img").attr("src", "../image/" + blocks[b - 1] + ".jpg");
  temp = blocks[b - 2];
  blocks[b - 2] = blocks[b - 1];
  blocks[b - 1] = temp;
  steps = steps + 1;
   
  $("#bushu").text(steps);
 

}

这段代码中,考虑的条件是b-2,也就是想判断当前点的格子左边的那个格中是否为16,但是忽略了换行的情况,因为毕竟这是一个4X4的排列,不是一个直线,这样后果是,点击某行的第一个格,可能和上一行最后一个格交换。所以我优化了一下,条件改为如下,这个错误就解决了。

if (blocks[b - 2] == 16 && b != 5 && b != 9 && b != 13)

转载于:https://www.cnblogs.com/cricketvaxes/p/6475626.html

homework1: 印象深刻的错误相关推荐

  1. 那些让我印象深刻的五个bug

    相信大家在工作中面试过程中经常被问到,让你印象最深刻的一个bug是什么,这是一个开放性的题目,并没有标准答案,每个人接触过的系统都不一样,遇到过的问题也不一样,可能面试官只是想看一下你的表达能力,以及 ...

  2. 那些让我印象深刻的bug--03

    随着近期发布的一篇文章印象深刻的bug,也被小伙伴问到之前写过的一篇文章中的印象深刻的bug没看的太明白,今天再回过头来重新解答一下,原文如下:那些让我印象深刻的bug--01 之前的文章在描述的是一 ...

  3. 软件测试时印象深刻的bug案例,请问你遇到过哪些印象深刻的bug,接口测试出现bug的原因有哪些?...

    参考回答: 面试官询问遇到过哪些印象深刻的bug,其实它并不关心你描述的这个bug是否真的有价值,或有多曲折离奇?他只是:了解你平时工作中的测试能力 所以,这就要求的你平时工作中遇到bug时试着自己去 ...

  4. 软件测试作业1 令我印象深刻的bug

    令我印象深刻的bug的是有一次,在测试包含虚函数的类时,我创建了一个包含虚函数的类被另一个类继承,并且在子类的构造函数中将父类的很多属性都清零,随后子类实现父类中产生的虚函数,但是产生了无法访问内存的 ...

  5. 软件测试中遇到的印象深刻的问题及反思

    软件测试中遇到的比较印象深刻的问题: 项目名称是某幼儿园报名网站,首先我介绍一下这个项目,这个项目是用来给某地区的家长抢报幼儿园名额而服务的,毕竟有的幼儿园人气比较火爆,因此会出现人多名额少的情况,从 ...

  6. 知乎上那些简短却让你印象深刻的回答

    转载自:http://chuansong.me/n/620121 原文链接不明,如有原文链接烦请告知. [怎么定义「想清楚了」?] "想清楚了"就是以后出了什么问题你只能找个没人的 ...

  7. 昨夜阿里实习生笔试:印象深刻的几道题

    缘由 昨晚去阿里巴巴的北邮考场参加笔试:今年的实习生.有几道题让我印象深刻.暂时记录于此.沿路和一个在北邮读过硕的同学聊了聊,说北邮很有计算机氛围,而且自习室经常爆满,为了抢座还有打架的.虽然别人打架 ...

  8. 6月30日,入职感悟、未来规划、本周工作总结,记录印象深刻的BUG。

    时间真的过的飞快,不知不觉已经入职三周了.感谢天上的妈妈保佑,让我就这样入职了一家国企单位.作为软件公司,不用加班,朝九晚五,福利齐全,并且还有自己的学习时间. 来这边写博客的主要原因是为了让自己不要 ...

  9. 2023产生的那些让我印象深刻的五个bug,无法释怀!

    相信大家在工作中面试过程中经常被问到,让你印象最深刻的一个bug是什么,这是一个开放性的题目,并没有标准答案,每个人接触过的系统都不一样,遇到过的问题也不一样,可能面试官只是想看一下你的表达能力,以及 ...

最新文章

  1. 2017年云栖大会-云HBase专场会后资料-欢迎扩散
  2. 配置linux下oracle sqlplus/rman等历史记录回调功能
  3. Uva(10048),最短路Floyd
  4. 给出一个单链表,不知道节点N的值,只遍历一次就可以求出中间节点,写出算法...
  5. include_fns.php_一步一步教你用PHP+MySql筹建网站 No.3 管理页面_mysql
  6. android 触摸屏(TP)问题现象分析和解决方法
  7. 软件开发工作者的重心是什么
  8. ROS的学习(十四)用C++写一个简单的接收者
  9. python前端用什么架构_Python web世界观——web架构概览(适合传统软件工程师)...
  10. 什么是基金转换?转换费用如何收取?
  11. 安卓rom制作教程_【固件更新】SkyMi蛋黄官改ROM最新开发版 12款机型更新
  12. Python数据可视化库汇总整理
  13. arXiv引用格式转换为已发表会议标准引用格式小工具分享
  14. 微信收款没有提示通知消息,怎么打开?解决方案
  15. 数据结构与算法分析(一)基础
  16. 咸鱼Maya笔记—灯光效果
  17. Rethinking Visual Geo-localization for Large-Scale Applications 论文阅读CosPlace
  18. api文档 luci_Luci介绍
  19. 【JoJo的摄影笔记】黎明女神的呼唤—— 佳能王朝霸业崛起
  20. 英语听力 Listen To This 全套下载

热门文章

  1. 九、WebService中文件传输
  2. 《HTTPS权威指南》- SSL、TLS和密码学学习笔记
  3. 桌面支持--打印机任务取消不了
  4. xmpp 与服务器连接并身份验证成功
  5. 从神经质症的发生发展过程找到走出焦虑的途径
  6. mysql常用命令操作
  7. 8个神奇的网页动态流体布局及其做法揭秘
  8. Python文件夹与文件的操作
  9. Linux下重要目录功能介绍
  10. Android 入职感想