首先分析几个类:
参与者类;(主要是玩家类和电脑类)
判定类;(判断输赢)
主类;(主程序执行)
封装:
参与者类:
名字 name
出拳 choice
出拳方法()
子类(玩家类和电脑类):
玩家和电脑的出拳方式不同,重写出拳方法(各写各的)
判定类:
判定胜负方法 result
主类:
执行
继承关系:
玩家类和电脑类继承参与者类
玩家和电脑都具有名字和出拳(出的什么拳)属性,还有出拳方法,把相同的属性归到一起,不同的方法独立去写
参与者类:
定义名字、出拳、出拳方法及构造函数
添加setter,getter,可以通过右击空白处添加
设置一个匿名用户,若玩家选择电脑是不正确输入则给定这个电脑名
玩家类:
重写父类方法,写此类的出拳方法,并设定出拳输入规范
写登录方法,同样输入规范
电脑类:
重写父类方法
展示电脑信息并选择
判定类:
写判定方法,
由于玩家出拳-电脑出拳只会有以下结果:
0,1,2,-1,-2
0为平局,1,-2为前者赢,2,-1为前者输
由于数组下标不能为负数,会报错(这里用try--catch)
所以 1为前者赢,2为前者输;
-1为后者赢,-2为后者输
定义一个数组存放[平,赢,输]
下标为 0 1 2
在得正数时定玩家输赢,的负数时定电脑输赢
同时输出相应信息
主程序:
游戏界面
实例化类
对象调用方法并顺序执行
执行结果: