在做这个之前我是还没学过C#或者Java的,只懂C++和C,因此,我需要掌握一些预备知识~~~
必要预备知识:
知道这些之后就差不多可以开始实现井子棋了,主要思路是用一个int变量代表轮到哪一方(下图中的player),用一个3*3二维int数组(下图中的blocks数组)模拟井子棋相应位置,初始值为0,如果O方在某个位置下了,则该位置设1,X方则-1。然后在OnGUI函数(每一帧都调用一次)中实现:对应值1则在相应位置创建显示O的button,对应值0则显示X,其他则创建空的button;还要加上一个判断函数(下图中的isWin函数),判断是否有一方赢或者平局。
先看判断函数isWin函数的代码,分为四部分即横向纵向斜线以及平局的判断,应该挺通俗易懂的。:
接下来是重置函数reset,player为1 则O方,-1为X方,默认O方先开始下:
接下来到了主体部分:
然后,把代码文件拖到Main Camera中,井字棋就可以运行了~~~