java设计一个类似石头剪刀布的游戏

菜鸟sunny 2017-03-19 07:30:56
用java设计一个类似石头剪刀布的游戏,因为要求代码具有高的可移植性,所以我把程序改成了用户自定义游戏规则,但是运行的时候一直报错:


然后代码里面可能还有其他问题,刚刚才学java,老师就让写这个,哎。

package java练习;
import java.util.Random;
import java.util.Scanner;

public class java练习
{
public static class choose //保存游戏各角色的优先级
{
int n; //角色数
int m; //游戏局数
int[][] anArray; //各角色的优先级
}

public static class grades //保存游戏结果
{
int win; //胜局数
int lose; //败局数
int equal; //平局数
}

public static void setprority(choose A) //为游戏制定规则
{
int i,j;
int p=0,q=0;
for(i=0;i<A.n;i++) //初始化各角色优先级数组
for(j=0;j<A.n;j++)
{
A.anArray[i][j]=0;
}
System.out.println("创建游戏优先级");
Scanner reader=new Scanner(System.in);
System.out.println("请输入游戏角色的个数:");
A.n=reader.nextInt();
for(i=1;i<=A.n;i++)
{
System.out.println("第"+i+"个角色是:");
String s=reader.next();
}
System.out.println("请输入游戏的局数:");
A.m=reader.nextInt();
System.out.println("请为所有元素制定优先级");
System.out.println("大于请输入1,小于请输入-1,等于输入0");
for(i=0;i<A.n;i++) //根据用户输入创建角色优先级
for(j=0;j<A.n;j++)
{
p=i+1;
q=j+1;
System.out.println("("+p+","+q+"):");
A.anArray[i][j]=reader.nextInt();
}

System.out.println("规则制定完成!");
System.out.println("规则显示如下:");
for(i=0;i<A.n;i++) //显示角色优先级
{ for(j=0;j<A.n;j++)
{
System.out.print(A.anArray[i][j]+" ");
}
System.out.println(" ");
}
}

public static void PlaytheGame(choose A,grades B) //执行游戏
{
int i;
Scanner sc = new Scanner(System.in);
for(i=1;i<=A.m;i++) //控制局数
{
System.out.println("游戏开始!");
System.out.println("第"+i+"局:");
System.out.println("请输入技能(0-"+A.n+")");
int player=sc.nextInt();
Random ran = new Random(); //电脑产生随机数
int computer = ran.nextInt(A.n)+1 ;
switch(A.anArray[player][computer]) //比较大小
{
case -1:
System.out.println("You lose!");
B.lose++;
break;
case 0:
System.out.println("Eqaul!");
B.equal++;
break;
case 1:
System.out.println("You win!");
B.win++;
break;
}
}
System.out.println("游戏结束!");
}

public static void calculate(grades B) //输出游戏结果
{
if(B.win>B.lose)
{
System.out.println("You beat the computer!Congratulation!");
}
else if(B.win<B.lose)
{
System.out.println("What a pity!You failed!");
}
else
{
System.out.println("Equal...");
}
System.out.println("胜"+B.win+"局,败"+B.lose+"局,平"+B.equal+"局");
}

public static void main(String[] args)
{
choose a=new choose();
grades b=new grades();
setprority(a);
PlaytheGame(a,b);
calculate(b);
}
}
...全文
582 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜鸟sunny 2017-03-20
  • 打赏
  • 举报
回复
麻烦指出具体是哪里错了
water_javadog 2017-03-20
  • 打赏
  • 举报
回复
空指针,没有对象
菜鸟sunny 2017-03-19
  • 打赏
  • 举报
回复
可以再具体一点吗?不是很懂,java里面不是没有指针吗?
我爱娃哈哈 2017-03-19
  • 打赏
  • 举报
回复
第五十行空指针
123个微信小程序源码: AppleMusic B站首页界面设计:附详细教程 cnode社区版 dribbble FlexLayout布局 gank HIapp IT-EBOOK leantodu LOL战绩查询 movecss效果 Railay:整体框架 redux绑定 TCP,IP长连接 todo list v2ex 一个(仿) 一元夺宝主页设计 万年历 下拉刷新,tab切换 东航订机票 事项助手 二维码生成器 云笔记 五十音图 五险一金计算 人脸检测 今日头条 仿微信DEMO 仿找事吧 仿网易云音乐 会议精灵 你画我猜 侧滑布局 健康菜谱 全屏动画滚动 分答小程序 创客+实现大量功能,推荐研究 剪刀石头布 医药网 卡卡汽车 获取用户 设备信息 同乐居商城:购物车合算 商城 图书管理系统 图文信息;欢迎页面,音乐控制 图片自适应 ,富文本解析 圆形菜单 城市切换 备忘录 外卖:实现类似锚点功能 大转盘 天气预报 妈妈课堂 家居电商 富文本解析,折线图,MD5,bluebird 小游戏-别踩白块 小熊的日记 小程序地图定位 小程序完整demo:飞翔的小鸟:canvas实现,java后端(适用1221) 小程序官方Demo 小程序版2048 小程序页面生成器 康爱多微商城:学习界面设计 微票 我厨 tab 界面设计 手势解锁 掘金首页信息流 摇一摇换文章 教务系统 新浪读书 新闻客户端 易打卡 表单设计 星巴克中国 智能机器人 机器人兔兔 极客学院 果库 查拼音 校内新闻大图 框架 步步高字典 水浒传 治疗师 涂鸦 滑动选项卡 滴滴公交-查公交 瀑布流布局 用户反馈组件 电商-拼团 倒计时 电影推荐 电影日历 画布:时钟 番茄时钟 百度小说 相册;处理用户信息 省市选择控件 知乎 知乎日报 知乎日报1 科学计算器 移动小商城:基于node,包含前后台 移动端商城 简易计算器 网易云课堂 腾讯云小程序一站式解决方案 自定义tabbar 芒果TV 语音跟读 豆瓣图书 豆瓣电影 货币汇率 购物车 跑步 地理位置 计时器 身份证查询 车源宝 轮播图+菜单 轮播图变换 辩论倒计时 重邮 题库:选择选项,切换至下一题 首字母排序选择 高仿苹果计算器 麻将骰子:附详细教程

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧