今天完成TicTacToe教程的7~10节
1.7~9教程没有什么新的知识点,都是以前的教程讲过的内容。包括游戏结束的文字,平局结束,重新开始游戏。值得一提的是,在同一段代码被多次调用时,教程会倾向于把这段代码重构到一个函数中,尽可能减少重复的代码。这部分现在不是很熟练,可能改着改着就出BUG了,后面得着重练习。
2.10教程,看起来只是一个显示当前轮到谁的功能,其实牵扯到的内容还比较多:
1)首先创建了一个Player类,用来放Image和Text的组合,在Player类中声明了Image和Text两个变量
2)然后又创建了一个PlayerColor类,里面包含了两部分的颜色,Panel和Text的颜色分别又有一个变量
记得要把这两个类序列化,这样才会显示在inspector中。[System.Serializable]
3)然后在GameController类中声明了两个Player类和两个PlayerColor类的实例(这四个实例每个人都包含两个变量)
4)接下来创建一个设置颜色的函数,接收两个Player类的参数,接下来,就是逐层调用的神奇时刻——因为类和类的实例拥有的变量都已经定义好了,现在只要把每个属性处理好就行了。
3.上面这部分逻辑比较清晰,不过比较多层,现阶段还是得多多体会一下。做完了这些,教程又进行了简单的重构,改变了胜负判定的if判断,使得最后一步点完如果已经分出胜负,就不再换边显示了。这点影响不大,我就没有花时间做相同的处理。
今天没午休,晚上得早点休息,明天再继续。完成最后一个教程的同时,尝试一些之前学会的方式来优化一下。
2018.11.4 0:07