5. 井字游戏(满分50分)
版本1:满分20分
井字游戏是一种在3*3格子上进行的连珠游戏,和五子棋比较类似。由分别代表O和X
的两个游戏者轮流在格子里留下标记(一般来说先手者为X)。最先在任意一条直线上(水平、垂直或者对角线)成功连接三个标记的一方获胜。当所有格子都被填满,双方都未获胜
时,为平局。
提示两个用户轮流输入X和O。当一个标记设置后,程序在控制台重新显示,并判断
游戏状态(赢家、平局、继续)。控制台程序运行示例:
版本2:满分10分
创建自定义面板Cell类用来显示X、O或者不显示。当绘制面板时,随机决定显示内
容。提示:使用Math.random()方法产生整数0、1或者2,对应于显示X、O或者不显示。
创建一个框架包含9个自定义面板,产生井字游戏界面。运行示例:
版本3:满分20分
创建可以用户交互的井字游戏。修改(2)中Cell类:初始时,所有格子为空;第一个
玩家使用X标记,第二个玩家使用O标记。当一个用户在格子上点击鼠标时,如果该格子
为空,就使用X或O填充;如果格子已经填充,则忽略用户操作。主程序面板TicTacToe
类包括9个Cell对象,可以创建对象数组Cell[3][3]存储;一个Button用于重新开始;一个
标签用于描述当前进行的玩家、赢家或者平局,运行示例:
1