这段时间看了一些技术的书籍,想做些游戏来玩玩。中途突然发现自己好像很久没写技术博客了,一来写一下开发过程分享给其他人,二来自己也当做做一些笔记以后没事可以看看。先介绍一下数独这个游戏以及相关技术和构建。
数独游戏很多人应该都不陌生,它是由9×9个单元格组成的矩阵,在单元格中填入1-9的数字,使数据在行列宫都不重复。主要了解几个术语:行、列、宫、单元格(小方格)。这里主要介绍宫,宫是指将9×9的矩阵划分为3×3个3×3的矩阵,每一个3×3的矩阵称为宫。
开发中首先要确定的是单元格的定位,有两种方法可以定位单元格:
1、以单元格的形式定位,如:rowIndex = 3,colIndex = 6(第四行第七列);
2、以宫的形式定位,如:boxIndex = 5,cellIndex = 0(第六宫第一个单元格);
其次是了解游戏规则,有以下几点:
1、所有小方格填入1-9的数字;
2、每个数字在每行只能出现1次;
3、每个数字在每列只能出现1次;
4、每个数字在每个宫中只能出现1次。
相关技术:HTML5、LESS/CSS、JavaScript、jQuery、TypeScript2.0+;
构建技术:Node.js6+/Yarn、Gulp、Webpack、Bable、TSC。
这里简单介绍一下TypeScript,官方描述是它是JavaScript超集,提供了可选的静态类型和基于接口的OOP。特点:
1、静态类型:接口、类、泛型、枚举、类型推导;
2、模块:ES6、命名空间;
3、编译:.ts—-[tcs]—>.js
了解了这些之后就可以开始创建项目了。
搭建目录,直接用命令行创建比较快,我是放在E盘上:
1、创建文件夹:E:>mkdir sudoku;
2、进入文件创建src和www两个文件夹:mkdir src www;
3、进入src创建js和less文件夹:mkdir js less;
4、进入www创建css和js文件夹:mkdir css js。
创建好后可以使用:>tree命令查看。
接下来开始前端构建:
1、创建一个 package.json:yarn init;
2、添加gulp和gulp-util:yarn add –dev gulp gulp-util;
3、添加gulp-less:yarn add –dev gulp-less;
4、添加webpack-stream:yarn add –dev webpack-stream;
5、添加babel-core、babel-loader和babel-preset-es2015:yarn add –dev babel-core babel-loader babel-preset-es2015。
加载完所需要的构建工具后接着进行配置,在源目录下新建文件gulpfile.js,附上截图:
然后创建webpackconfig,js,如下:
这样整个项目就搭建好了,用命令行—>gulp就可以直接运行。运行的时候要在源目录下,根据自己的环境再做调整,接下来就可以着手开发数独游戏了。