首页 > 编程知识 正文

人机对战猜拳游戏,人机猜拳游戏编程

时间:2023-05-03 14:20:57 阅读:254554 作者:2748

人机互动版猜拳游戏(Java面向对象方法实现)
本文主要介绍一个简单的Java控制台“人机互动版猜拳小游戏”,主要涉及Java基本语法、面向对象、异常。项目共包括4个类:Computer类、User类、Game类和PlayGame类,分别行使不同的程序功能。程序运行结果如下图所示:


以下是程序的代码及注释:

Computer类: public class Computer {public String name;public int score;public void chuquan(int i){switch(i){case 1:System.out.println("电脑出拳:剪刀");break;case 2:System.out.println("电脑出拳:石头");break;case 3:System.out.println("电脑出拳:布");break;}}}
User类: public class User {public String name;public int score;public void chuquan(int i){switch(i){case 1:System.out.println("你出拳:剪刀");break;case 2:System.out.println("你出拳:石头");break;case 3:System.out.println("你出拳:布");break;default:System.out.println("输入错误!此次输入无效!");break;}}}
Game类: public class Game{User u=new User();Computer c=new Computer();public int times;//游戏初始化public void init(){u.name="匿名";u.score=0;c.name="匿名";u.score=0;times=0;}public void computerPlayer(int input){switch(input){case 1:c.name="刘备";break;case 2:c.name="活泼的飞鸟";break;case 3:c.name="呆萌的导师";break;}}public void user(String name){u.name=name;}public void chuquan(int a){if(a==1||a==2||a==3){times+=1;u.chuquan(a);int b=(int)(Math.random()*3)+1;//产生一个1~3的随机数c.chuquan(b);if(a==1&&b==3||a==2&&b==1||a==3&&b==2){//若用户赢,分数+1u.score+=1;}else if(a==3&&b==1||a==1&&b==2||a==2&&b==1){//若电脑赢,分数+1c.score+=1;}}else{System.out.println("输入有误,请输入一个0~3的整数!");}}public void jisuan(){System.out.println("一共玩了:"+times+" 次! "+u.name+" 赢了:"+u.score+"次! "+c.name+" 赢了:"+c.score+"次!");}public void result(){System.out.println("最后结果为:n一共玩了:"+times+" 次! "+u.name+" 赢了:"+u.score+"次! "+c.name+" 赢了:"+c.score+"次!");}}
PlayGame类: /*** * @author 叶子竹 * @本程序是一个人机互动猜拳小游戏 */import java.util.InputMismatchException;import java.util.Scanner;public class PlayGame {public static void main(String[] args){int juese;int i;//i表示玩家出拳的数字Game g=new Game();g.init();System.out.print("************************************n");System.out.print("** 欢迎进入猜拳游戏 ***n");System.out.print("************************************n");System.out.println("出拳规则:1.剪刀 2.石头 3.布n");System.out.println("请选择角色:1.刘备 2.活泼的飞鸟 3.呆萌的导师");Scanner input=new Scanner(System.in);try{juese=input.nextInt();while(juese!=1&&juese!=2&&juese!=3){//输入内容必须是一个1~3的整数,否则重新输入System.out.println("输入的内容应该是一个1~3的整数,请重新输入!");juese=input.nextInt();}g.computerPlayer(juese);System.out.println("请输入您的姓名:");g.user(input.next());System.out.println("出拳:(输入0退出)");i=input.nextInt();while(i!=0){//若用户不输入0,执行循环体,一直玩游戏g.chuquan(i);g.jisuan();System.out.println("n出拳:(输入0退出)");i=input.nextInt();}System.out.println("游戏结束!");g.result();}catch(InputMismatchException e){System.out.println("程序运行出错:输入非法字符!");}finally{System.out.println("n谢谢使用!");}input.close();}}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。