码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象_猜拳游戏

时间:2015-04-05 18:41:52      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

通过控制台命令方式实现一个猜拳游戏,用户通过输入(1.剪刀,2.石头,3.布)与电脑PK,最后通过积分的多少判定胜负

猜拳游戏实现思路:
    1、在控制台输出玩法提示
    2、是否开始游戏(接收1表示开始,0表示退出)
    3、接收游戏的局数
    4、循环接收用户的出拳(1.剪刀 2石头 3.布)
    5、系统随机出拳
    6、进行比较记录胜者次数
    7、公布结果

package com.study.second;

import java.util.Random;
import java.util.Scanner;

/*
      作业:
          通过控制台命令方式实现一个猜拳游戏,用户通过输入
          (1.剪刀,2.石头,3.布)与电脑PK,最后通过积分的多少判定胜负
 */
public class NinetySix_NinetySeven {
    public static void main(String[] args) {
        Game g = new Game();
        g.begin();
    }
    
}

//猜拳游戏类
class Game{
    public void begin(){
        System.out.println("**********************");
        System.out.println("*******猜拳游戏***********");
        System.out.println("游戏规则:(1.剪刀 2石头 3.布)");
        System.out.println("游戏开始(1/0):");
        Scanner input = new Scanner(System.in);
        int result = input.nextInt();
        if(result == 1){
            System.out.println("请输入猜拳的次数:");
            int num = input.nextInt();
            
            play(num);
        }else{
            System.out.println("拜拜!");
        }
    }
    
    //游戏的核心方法
    public void play(int num){
        int userCount = 0;//用户胜利的局数
        int pcCount = 0;//电脑胜利的局数
        Random r = new Random();
        
        Scanner input = new Scanner(System.in);
        
        while(num>0){
            int x = r.nextInt(100)%3+1;//电脑出的拳(100%3 是1,2 加1 3  范围就是1,2,3)
            
            System.out.println("请输入你的选择(1.剪刀 2石头 3.布)");
            int s = input.nextInt();
            if(s==1){
                switch(x){
                    case 1:
                        System.out.println("平局,你出剪刀,电脑出剪刀");
                        break;
                    case 2:
                        System.out.println("你输了,电脑赢了,你出剪刀,电脑出石头");
                        pcCount++;
                        break;
                    case 3:
                        System.out.println("你赢了,电脑输了,你出剪刀,电脑出布");
                        userCount++;
                        break;
                }
            }
            if(s==2){
                switch(x){
                    case 1:
                        System.out.println("你赢了,电脑输了,你出石头,电脑剪刀");
                        userCount++;
                        break;
                    case 2:
                        System.out.println("平局,你出石头,电脑出石头");
                        break;
                    case 3:
                        System.out.println("你输了,电脑赢了,你出石头,电脑出布");
                        pcCount++;
                        break;
                }
            }
            if(s==3){
                switch(x){
                    case 1:
                        System.out.println("你输了,电脑赢了,你出布,电脑剪刀");
                        pcCount++;
                        break;
                    case 2:
                        System.out.println("你赢了,电脑输了,你出布,电脑出石头");
                        userCount++;
                        break;
                    case 3:
                        System.out.println("平局,你出布,电脑出布");
                        break;
                }
            }
            
            
            num--;
        }
        
        //公布结果
        System.out.println("*****************");
        System.out.println("你胜:"+userCount);
        System.out.println("电脑胜:"+pcCount);
        if(userCount == pcCount){
            System.out.println("平手");
        }else if(userCount > pcCount){
            System.out.println("你赢了,电脑输了");
        }else{
            System.out.println("你输了,电脑赢了");
        }
    }
    
}

 

面向对象_猜拳游戏

标签:

原文地址:http://www.cnblogs.com/LO-ME/p/4394426.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!