使⽤Java编写⽯头剪⼑布游戏
简单的⽯头剪⼑布⼩游戏
/**游戏规则
猜拳游戏
玩家和电脑进⾏猜拳(⽯头剪⼑布)
每回合分别由玩家和电脑依次出拳
打印显⽰双⽅出拳的结果,并对结果进⾏判定
回合结束后询问玩家是否要继续游戏
如果玩家选择继续游戏则开启下⼀个回合的猜拳
否则游戏结束
游戏结束后统计前⾯回合的数据
数据要求显⽰游戏的总局数,玩家胜利的场数,平局的场数以及失败的场数并显⽰胜率
根据胜利的场数打印显⽰最终结果(玩家胜场⼤于电脑胜场则表⽰玩家胜利)
*/
主要步骤
在⼀个Package⾥new出四个class,四个class分别为
Game,Computer,Player,GameApp
1.在Game中编写游戏的⽅法包括执⾏游戏回合、出拳数值转化为字符信息和显⽰游戏统计结果两部分;接着再详细描写执⾏游戏的部
分,让玩家和电脑先后出拳再判断出拳结果,⼀局结束后询问玩家是否要继续游戏,若继续游戏,递归执⾏游戏回合。由于电脑随机输⼊的是int类型,为了优化游戏需将int类型转化为String类型。
import java.util.Scanner;
/**
* 游戏类封装了游戏的业务内容
*/
public class Game {
//玩家
private Player player =new Player();
//电脑
private Computer cpu =new Computer();
private Scanner scanner =new Scanner(System.in);
//游戏的总局数
private int count;
/**
* 开启游戏
*/
public void start(){
//执⾏游戏回合
gameLogic();
//显⽰游戏统计结果
showResult();
}
/**
* 每个回合的游戏内容
*/
public void gameLogic(){
//计算游戏的次数
count++;
//玩家出拳
int n1 = player.showFinger();
//电脑出拳
int n2 = cpu.showFinger();
//显⽰出拳结果
String playerFinger =changeFinger(n1);
String cpuFinger =changeFinger(n2);
System.out.println("玩家出拳:"+playerFinger);
System.out.println("电脑出拳:"+cpuFinger);
//判定出拳结果
if(n1 == n2){
//平局
player.DogfallCount()+1);
System.out.println("该轮平局!");
}else if(n1 ==1&& n2 ==2|| n1 ==2&& n2 ==3|| n1 ==3&& n2 ==1){ //胜局
player.WinCount()+1);
System.out.println("该轮胜利!");
}else{
//败局
player.LoseCount()+1);
System.out.println("该轮失败!");
}
//询问玩家是否继续游戏
System.out.println("是否要继续游戏?(Y/N)");
String answer = ();
if(answer.equalsIgnoreCase("Y")){
//递归执⾏游戏回合
gameLogic();
}
}
/
**
* 将出拳的数值转换为字符信息(⽯头剪⼑布)的⽅法
* @param finger
* @return
*/
public String changeFinger(int finger){
String fingerStr ="";
switch(finger){
case1:
fingerStr ="⽯头";
break;
case2:
fingerStr ="剪⼑";
break;
case3:
fingerStr ="布";
}
return fingerStr;
}
/**
* 游戏结果的显⽰统计
*/
public void showResult(){
//打印显⽰基本数据
System.out.println("游戏总轮数:"+count);
System.out.println("胜利场次:"+WinCount());
System.out.println("平局场次:"+DogfallCount());
System.out.println("失败场次:"+LoseCount());
//计算胜率
int winRate =(int)(WinCount()/(double)count*100);
System.out.println("胜率:"+winRate+"%");
//评定游戏最终结果
WinCount()> LoseCount()){
System.out.println("恭喜您最终获得胜利!");
}else WinCount()< LoseCount()){
System.out.println("很遗憾,您败给了电脑!");
}else{
}else{
System.out.println("此次游戏不分伯仲!");
}
}
}
2.在Computer类⾥编写出拳⽅法,需要⽤到Random类是电脑随机出拳import java.util.Random;
/**
* 电脑类
*/
public class Computer {
/**
* 出拳的⽅法
*/
public int showFinger(){
//使⽤随机数(1—3)出拳
Random random=new Random();
int Int(3)+1;
return finger2;
}
}
3.在Player类中定义玩家出拳的⽅法
import java.util.Scanner;
/**
* 玩家类
*/
public class Player {
//胜场
private int winCount;
//平场
private int dogfallCount;
//输场
private int loseCount;
public int getWinCount(){
return winCount;
}
public void setWinCount(int winCount){
this.winCount = winCount;
}
public int getDogfallCount(){
return dogfallCount;
}
public void setDogfallCount(int dogfallCount){
this.dogfallCount = dogfallCount;
}
public int getLoseCount(){
return loseCount;
}
public void setLoseCount(int loseCount){
this.loseCount = loseCount;
}怎么用java编写app软件
Scanner scanner=new Scanner(System.in);
/
**
*出拳的⽅法
*/
public int showFinger(){
//玩家通过键盘输⼊选择出拳结果
System.out.println("请玩家出拳:(1.⽯头 2.剪⼑ 3.布)");
int Int();
return finger1;
}
}
4.GameApp调⽤整个游戏的⽅法
public class GameApp {
public static void main(String[] args){
Game game=new Game();
game.start();
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论