制作一个2048小游戏(大致思路步骤)

2048规则

有16个格子,初始时会有两个格子上随机安放了两个数字(2或4)。

每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢。

每次滑动系统都会在空白格子上随机生成一个数字(2或4)

相邻格子上的相同数字碰撞后会相加。

大概步骤

  1. 一个html文件(标题,开始新游戏的按钮,分数统计,4*4的棋盘格)
    一个css文件(规定html的样式)
    一个main.js文件(确定游戏主逻辑,每个小格子的数据什么的)
    一个showAnimation.js文件(确定动画效果逻辑,小格子移动什么的)
    一个support.js文件(底层支撑逻辑)
  2. 编写html文件,header(标题,按钮,包含分数的p【分数要用一个span包着,因为分数会动态改变】),div(总的棋盘格,里面包着4*4=16个小格子,每个都是div)
  3. 编写css文件,html文件中各元素的样式
  4. 编写main.js文件(运用部分jquery知识),初始化棋盘格a.确定每个小格子的位置 通过每个小格子的坐标,jquery中的css方法和自己创建的getPosTop,getPosLeft函数来设置每个小格子的top,left,再又因为小格子的position是absolute,所以这样就可确定每个小格子的位置了。b.确定每个小格子的数据 定义了一个二维数组,用于记录小格子上的数字。其实每个小格子是没变的,只是在小格子上覆盖了一层东西,称这个覆盖层为 number-cell ,当小格子上的数据即二维数组变量为零时,这个层不显示,即高度宽度为零;而当小格子上的数据不为零时,覆盖层就会显现出来,完全覆盖小格子,并且显示相应的数字和背景颜色。updateBoardView函数原理 用jq的append方法向grid-container中加入了16个number-cell,通过设置它们的位置使其覆盖在小格子上面,当board为零时,number-cell宽高为零,board不为零时,number-cell宽高等于小格子宽高,实现全覆盖。),在随机的两个小格子生成数字 编写一个随机空白格上生成随机数字的函数 generateOneNumber(先生成随即位置,再生成随机数,最后把这个随机数放在随机位置上),运用两次这个函数。点击键盘移动
  5. 编写support.js文件,例如getPosTop,getPosLeft这两个函数是放在这里面的
    (未完待续)

吐槽一波vscode,我记得清清楚楚,明明我关电脑前保存了文件的,结果tmd第二天一开电脑文件就没了,wdnmd,难受

我发现了,将vscode更新并重启后bin下的文件会全部删除,所以现在我都不在bin下放文件了

你可能感兴趣的:(js)