zoukankan      html  css  js  c++  java
  • Java自制人机小游戏——————————剪刀、石头、布

    package com.hello.test;
    
    import java.util.Scanner;
    
    public class TestGame {
    
        public static void main(String[] args)
        {
            Player p = new Player() ; //实例化玩家对象
            
            Game g = new Game(p) ;//实例化游戏对象
            
            g.startGame();//调用方法
        }
    
    }
    
    
    //游戏类
    class  Game
    {
        private Player p ;  //设置玩家
        
        public Game(Player p)
        {
            this.p =p ;
        }
        
        //制定游戏规则
        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;
        }
        
        public boolean panduan(String s)
        {
            if("剪刀".equals(s)||"布".equals(s)||"石头".equals(s)||"esc".equals(s))
            {
                return true ;
            }
            else 
            {
                return false ;
            }
        }
        
        //游戏开始方法
        public void startGame()
        {
            System.out.println("开始游戏");
            
            System.out.println("请输入您的游戏昵称:");
            
            Scanner s = new Scanner(System.in) ;
            
            String sg = s.nextLine() ;
            
            p.setName(sg);
            
            p.setScore(100);
            
            System.out.println("恭喜您注册成功,您的初始积分为100");
            
            System.out.println(p.getName()+"进入游戏");
            
            while(true)
            {
                String[ ] array = new String[ ] {"剪刀","石头","布"} ;
                
                System.out.println("请输入剪刀、石头或布,结束请输入esc");
                
                Scanner sc = new Scanner(System.in) ; //提供输入窗口
                
                String s1 = sc.nextLine() ;
                
                if(!panduan(s1))
                {
                    System.out.println("输入有误,重新输入!");
                    continue ;
                }
                
                if(s1.equals("esc"))
                {
                    break ;
                }
                
                int a = (int)(Math.random()*3) ; //随机0,1,2作为索引
                
                String s2 = array[a] ;
                
                int it = rule(s1,s2) ;
                
                if(it>0)
                {
                    System.out.println("您出的是"+s1+"电脑出的是"+s2);
                    System.out.println("恭喜"+p.getName()+"赢了,奖励10积分");
                    p.setScore(p.getScore()+10);
                }
                else if(it<0)
                {
                    System.out.println("您出的是"+s1+"电脑出的是"+s2);
                    System.out.println("对不起"+p.getName()+"您输了,扣除10积分为");    
                    p.setScore(p.getScore()-10);
                }
                else
                {
                    System.out.println("您出的是"+s1+"电脑出的是"+s2);
                    System.out.println("打平了");
                    p.setScore(p.getScore());
                }
                System.out.println(p);
            }
            System.out.println(p.getName()+"退出了游戏,当前积分为:"+p.getScore());
        }
        
    }
    
    
    //玩家类
    class Player
    {
        private String name ;         //玩家姓名
        
        private int score ;            //玩家积分
    
        //setting、getting
        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;
        }
    
        @Override
        public String toString() {
            return "玩家:" + name + ", 当前积分:" + score;
        }
        
    }

  • 相关阅读:
    初学mongodb笔记
    git学习【转载】
    json序列化与反序列化
    ES6函数比对ES5函数
    前端js脚本与防止js脚本
    js函数整合队列顺序执行插件
    padding-使用必记
    css小技巧
    三分钟教会你开密码箱
    百度地图Marker优化方案
  • 原文地址:https://www.cnblogs.com/20gg-com/p/5971704.html
Copyright © 2011-2022 走看看