从零开始学java(小游戏 石头剪刀布)

简介: Game.javapackage com.java;import java.util.Scanner;public class Game {        private Player player;        public Game(Player player){        this.
Game.java

package com.java;
import java.util.Scanner;
public class Game {   
    private Player player;   
    public Game(Player player){
        this.player=player;
    }   
        public void start(){
        System.out.println("开始游戏");
        System.out.println(player.getName()+"进入游戏,初始积分为:"+player.getScore());
        String[] arr=new String[]{"剪刀","石头","布"};
        Scanner sc=new Scanner(System.in);       
        while(true){
        System.out.println("请输入剪刀、石头、布其中个之一");
        String s1=sc.next();//玩家输入
        if(!filter(s1)){
            System.out.println("您输入的命令有误,请重新输入");
            continue;
        }
        if(s1.equals("exit")){
            break;
        }       
        int count=(int)(Math.random()*3);
        String s2=arr[count];
        int flag=rule(s1,s2);
        System.out.println("您出的是:"+s1+",系统出的是:"+s2);
        if(flag>0){
            System.out.println("恭喜"+player.getName()+"赢了,奖励10积分");
            player.setScore(player.getScore()+10);
        }else if(flag<0){
            System.out.println("对不起"+player.getName()+"输了,扣除10积分");
            player.setScore(player.getScore()-10);
        }else{
            System.out.println("打平了");
        }       
        System.out.println(player);
    }
    System.out.println(player.getName()+"退出游戏,当前积分为:"+player.getScore());
        }
    public boolean filter(String s){            
        if("剪刀".equals(s)||"石头".equals(s)
                ||"布".equals(s)||"exit".equals(s)){
            return true;}
        else{        return false;
                    }
        }
/**
 * 游戏规则
 * @return
 */
    public int rule(String s1,String s2){

        if(s1.equals(s2)){
            return 0;
        }
        if(s1.equals("剪刀")){
            if(s2.equals("石头")){
                return -1;
            }
            if(s2.equals("布")){
                return 1;
            }
        }
        if(s1.equals("石头")){
            if(s2.equals("剪刀")){
                return 1;
            }
            if(s2.equals("布")){
                return -1;
            }
        }
        if(s1.equals("布")){
            if(s2.equals("剪刀")){
                return -1;
            }
            if(s2.equals("石头")){
                return 1;
            }       
           return 0;  
     
    }
        return 0;
    }  
}

Player.java

package com.java;

public class Player {
    
    private String name;//玩家姓名
    private int score;//积分
    
    public Player(String name, int score) {
        super();
        this.name = name;
        this.score = score;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getScore() {
        return score;
    }
    public void setScore(int score) {
        this.score = score;
    }
    public String toString(){
        
        return this.getName()+":"+this.getScore();
    }

}

 

Test.java

package com.java;

public class test {
    public static void main(String[] args){
    Player p=new Player("王**",100);
    Game g=new Game(p);
    g.start();
    }
}
这个小游戏和我上个写到的猜数字游戏核心思想一样都是用到了Math.random,这个可以说是其的加深应用。。。你们也可以试试看!

 

博主在分享个免费FQ软件

免费FQ软件

目录
相关文章
|
18天前
|
Java Android开发
贪吃蛇【小游戏】(Java课设)
贪吃蛇【小游戏】(Java课设)
15 0
|
4月前
|
Java
8.Java循环高级综合练习-无限循环和跳转控制语句,逢七过,平方根,判断是否为质数,猜数字小游戏
8.Java循环高级综合练习-无限循环和跳转控制语句,逢七过,平方根,判断是否为质数,猜数字小游戏
78 1
|
18天前
|
Java Android开发
贪吃蛇小游戏【小游戏】(Java课设)
贪吃蛇小游戏【小游戏】(Java课设)
14 1
|
18天前
|
Java Android开发
日历/万年历【小游戏】(Java课设)
日历/万年历【小游戏】(Java课设)
16 1
日历/万年历【小游戏】(Java课设)
|
3月前
|
Java
用java来写一个简单的猜拳小游戏
用java来写一个简单的猜拳小游戏
11 0
|
3月前
|
安全 Java 开发者
FlyBird(飞翔的小鸟)Java小游戏
FlyBird(飞翔的小鸟)Java小游戏
48 0
|
3月前
|
Java
JAVA弹球小游戏
JAVA弹球小游戏
30 0
|
4月前
|
安全 Java
Java小游戏之Swing框架实现飞机大战(附源码 超详细必看)
Java小游戏之Swing框架实现飞机大战(附源码 超详细必看)
48 0
|
9月前
|
Java
【Java】俄罗斯方块小游戏(附源码)
【Java】俄罗斯方块小游戏(附源码)
220 1
|
9月前
|
算法 Java
【Java】Java基础飞机大战小游戏完整代码
【Java】Java基础飞机大战小游戏完整代码
165 0