java面向对象游戏_【Java】【分享】面向对象之猜拳游戏(适合小白)

该博客展示了用Java面向对象编程实现猜拳游戏的代码。定义了Computer和Person类,包含得分和出拳方法。GuessFistGame类实现游戏逻辑,有开始、查看记录和退出功能,能统计游戏次数和玩家获胜次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[Java] 纯文本查看 复制代码package day06;

import java.util.Scanner;

class Computer{

private int score;

public int getScore() {

return score;

}

public void setScore(int score) {

this.score = score;

}

public int punch()

{

int rd=(int)(Math.random()*3+1);

switch(rd){

case 1:System.out.println("电脑出了石头");break;

case 2:System.out.println("电脑出了剪刀");break;

case 3:System.out.println("电脑出了布");

}

return rd;

}

}

class Person{

private int score;

private int rd;

public int getScore() {

return score;

}

public int getRd() {

return rd;

}

public void setRd(int rd) {

this.rd = rd;

}

public void setScore(int score) {

this.score = score;

}

public int punch()

{

switch(rd){

case 1:System.out.println("玩家你出了石头");break;

case 2:System.out.println("玩家你出了剪刀");break;

case 3:System.out.println("玩家你出了布");

}

return rd;

}

}

public class GuessFistGame {

public static int play(Computer c,Person p,int a){

int cFist=c.punch();

int pFist=p.punch();

System.out.println("----------------游戏结束------------");

if(cFist==pFist)

System.out.println("平局");

else if((cFist==1 && pFist==2) || (cFist==2 && pFist==3) || (cFist==3 && pFist==1))

System.out.println("电脑赢,你输了!");

else{

a++;

System.out.println("恭喜你,赢了电脑。");

}

return a;

}

public static void result(int a,int b){

System.out.println("总共游戏"+a+"次"+"你赢了电脑"+b+"次");

}

public static void main(String[] args) {

int winP=0;

int times=0;

boolean menu=true;

Computer c=new Computer();

Person p=new Person();

Scanner in= new Scanner(System.in);

while(menu)

{

System.out.println("-----------------猜拳游戏-------------\n"

+ "\t\t1.开始-------(1代表石头,2代表剪刀,3代表石头)\n"

+ "\t\t2.查看总记录\n"

+ "\t\t3.退出游戏\n");

System.out.print("请输入您的选项:");

int tab=in.nextInt();

switch(tab){

case 1:

while(true){

System.out.println("游戏开始,请输入你输入数字1/2/3 4(返回上一级)");

int rd=in.nextInt();

if(rd==4)

break;

p.setRd(rd);

times++;

winP=play(c,p,winP);

System.out.println("----------------------------");

}

break;

case 2:

result(times,winP);

break;

case 3:

menu=false;

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值