Java程序设计人机猜拳.doc
- 文档编号:231010
- 上传时间:2022-10-07
- 格式:DOC
- 页数:4
- 大小:60KB
Java程序设计人机猜拳.doc
《Java程序设计人机猜拳.doc》由会员分享,可在线阅读,更多相关《Java程序设计人机猜拳.doc(4页珍藏版)》请在冰豆网上搜索。
Java程序设计实验报告
班级:
11060341X学号:
50姓名:
马一桃
实验题目:
猜拳小游戏
实验要求:
用java编写一个人机对战的猜拳小游戏。
人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。
有简单的操作界面。
实验内容:
1、问题分析过程:
人机猜拳:
人可以通过选择出拳,通过键盘输入相应数字来实现。
电脑则随机性出拳,由电脑产生随即数来实现。
通过游戏规则判断双方的输赢,显示当局的输赢情况,并记录当局的分数,并各方的输赢情况。
游戏结束时显示双方的分数以及输赢情况。
面向的对象有人、电脑以及游戏规则。
人、电脑都有实现自己出拳的方法,同时还要有判断各方输赢的方法。
2、主要实现代码:
(要求有必要的注释):
importjava.util.Scanner;//通过import语句引入Scanner类
publicclassGame{
publicstaticvoidmain(Stringargs[]){
intx=0;//用户的初始分数为0
inty=0;//电脑的初始分数为0
intz=0;//开始时决战次数为0
System.out.println("\n");
System.out.println("猜拳游戏现在开始,准备好了吗?
");
System.out.println("===========游戏规则===========");
System.out.println("胜利加一分,否则不加分");
System.out.println("当游戏结束时分高者为胜");
System.out.println("==============================");
Scannershuzi=newScanner(System.in);//用户通过键盘输入
System.out.println("是否要开始游戏?
"+"\n"+"y/n");
Stringm=shuzi.next();
while(m.equals("y")){
System.out.println("请选择数字出拳:
");
System.out.println("1石头2剪刀3布");
intA=shuzi.nextInt();//利用switch语句,用户实现出拳
switch(A){
case1:
System.out.println("我出拳:
石头");
break;
case2:
System.out.println("我出拳:
剪刀");
break;
case3:
System.out.println("我出拳:
布");
break;
}
intB=(int)((Math.random()*10)%3+1);//电脑产生随机数,进行出拳
switch(B){
case1:
System.out.println("电脑出拳:
石头");
break;
case2:
System.out.println("电脑出拳:
剪刀");
break;
case3:
System.out.println("电脑出拳:
布");
break;
}
if(A==B){//一局游戏判断输赢的过程
System.out.println("哎呦,平局!
再努力!
");
z++;
}
elseif(((A==1)&(B!
=3))||((A==2)&(B!
=1))||((A==3)&(B!
=2))){
System.out.println("不错嘛,赢了!
");
x++;
z++;
}
else{
System.out.println("唉,输了,得加油啊!
");
y++;
z++;
}
System.out.println("\n");
System.out.println("有种再来一局"+"\n"+"y/n");
m=shuzi.next();
}
System.out.println("游戏结束");
System.out.println("对战的次数为"+z);
System.out.println("你的分数:
"+x);
System.out.println("电脑的分数:
"+y);
if(x>y){//最终比游戏结果的判断
System.out.println("噢耶!
完胜电脑!
");
}
elseif(x==y){
System.out.println("彼此彼此,水平相当么~");
}
else{
System.out.println("不幸输了,改日再和你较量!
");
}
}
}
开始界面
进行一局游戏结果
游戏最终结果的判断
3、实验心得体会:
3.1出现的问题及解决方案
(1)在编译源文件时,出现了这么个问题
这是一个编码的问题。
Java中采用Unicode字符编码,而选用UTF-8或UTF-16,而非GBK编码。
我们也用命令行来编译java文件时,由于编码格式的问题,这种时候就会出现错误编码GBK的不可映射字符。
我们用的命令行敲的java命令默认是用本机的编码格式,所以才出现了GBK这个字眼。
解决这个问题当然是指定在编译时的编码格式。
(2)还遇到一个问题,java源文件能成功的通过编译。
但是,当执行java命令时,出现了“错误:
找不到或无法加载主类”的问题。
既然编译时成功了,说明语法是没有错误的。
检查了下环境变量,发现路径配置并没有完全正确。
在classpath和path的变量值上,%java_home%\lib\dt.jar;%java_home%\lib\tools.jar以及%java_home%\bin语句前都没有“.;”符号,因此执行java命令时,无法执行,出现了“错误:
找不到或无法找到主类”这样的问题。
添加符号后,程序可正常执行。
3.2心得体会
1.通过对猜拳游戏的编写,深刻认识到了Java面向对象这一重要思想;
2.编译过程中,环境变量的设置,是很重要的。
了解的PATH、CLASSPATH的作用;
3.写代码的过程必须仔细,经常由于不细心导致代码出错;
4.应该多学多写多练,在实践中熟悉应用代码。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 人机 猜拳