这段时间看了一些技术的书籍,想做些游戏来玩玩。中途突然发现自己好像很久没写技术博客了,一来写一下开发过程分享给其他人,二来自己也当做做一些笔记以后没事可以看看。先介绍一下数独这个游戏以及相关技术和构建。
数独游戏很多人应该都不陌生,它是由9x9个单元格组成的矩阵,在单元格中填入1-9的数字,使数据在行列宫都不重复。主要了解几个术语:行、列、宫、单元格(小方格)。这里主要介绍宫,宫是指将9x9的矩阵划分为3x3个3x3的矩阵,每一个3x3的矩阵称为宫。
开发中首先要确定的是单元格的定位,有两种方法可以定位单元格:
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、静态类型:接口、类、泛型、枚举、类型推