| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 706 人关注过本帖
标题:刚学JAVA奉上【猜谜小游戏】
只看楼主 加入收藏
chtml小兵
Rank: 5Rank: 5
等 级:职业侠客
威 望:3
帖 子:126
专家分:314
注 册:2011-10-3
结帖率:63.64%
收藏
已结贴  问题点数:20 回复次数:5 
刚学JAVA奉上【猜谜小游戏】
程序代码:
import java.util.*;

public class GuessNumber {
    public static void main(String[] args) {
       
        boolean derail = true;            //开关变量1
        boolean flag = true;            //开关变量2
        int count = 10;                    //猜测次数
        int point = 100;                //用户游戏得分
        int result = getRandom(100);    //随机产生100以内的整数
       
        while(derail){
            System.out.print("请输入 1 开始游戏,输入 0 结束游戏,");
            int state = Integer.parseInt(Input(type.tyint).toString());
           
            if(state==1){
                System.out.print("游戏开始,幸运数字以产生,快来猜猜看吧,");
                //循环体开始
                while (flag) {
                    if(count!=0){

                        //获取用户输入的数据
                        int number = Integer.parseInt(Input(type.tyint).toString());
                       
                        if(result==number){
                            System.out.println("--------------------");
                            System.out.println("回答正确,恭喜游戏过关!");
                            System.out.println("您共使用了 "+(10-count)+"次机会,得到了 "+point+" 点分数");
                            System.out.println("--------------------");
                            flag = false;        //数据初始化
                            count = 10;            //数据初始化
                            point = 100;        //数据初始化
                        }else if(number > result){
                            count--;
                            point=point-10;
                            System.out.println("数字过大,您还有 " + count + " 机会!");
                        }else if(number < result){
                            count--;
                            point=point-10;
                            System.out.println("数字过小,您还有 " + count + " 机会!");
                        }
                    }else{
                        System.out.println("很遗憾你的猜测次数已用完,请重新开始游戏!\n----------------------------------------------");
                        flag = false;        //数据初始化
                        count = 10;            //数据初始化
                        point = 100;        //数据初始化
                    }
                   
                }
               
            }else if(state==0){
                System.out.print("游戏退出!");
                derail = false;
            }
        }
       
       
       
    }
   
   
    /**
     * 随机产生scope值以内的整数
     * int scope:范围值
     * 例:getRandom(10)--->产生10以内的随机数
     * */
    public static int getRandom(int scope){
        int result = 0;
        return result = (int)(Math.random() * scope);
    }
   
   
    /**
     * 这是一个保存类型的枚举
     * */
    enum type{tyint,tyString,tyshort,tylong,tybyte,tyfloat,tydouble,tyboolean};
   
    /**
     * 万能输入,只要将参数选择为自己想要的输入类型,本函数就能返回你想要的数据类型
     * 输入函数,调用此方法会提示用户输入数据,并返回用想要的类型的数据
     * */
    public static Object Input(type ty){
        System.out.println("请输入数据:");
        Scanner scan = new Scanner(System.in);
       
        Object result = null;
       
        switch (ty) {
            case tyint:{
                result = scan.nextInt();
            }break;
            case tyString:{
                result = scan.next();
            }break;
            case tyshort:{
                result = scan.nextShort();
            }break;
            case tylong:{
                result = scan.nextLong();
            }break;
            case tybyte:{
                result = scan.nextByte();
            }break;
            case tyfloat:{
                result = scan.nextInt();
            }break;
            case tydouble:{
                result = scan.nextDouble();
            }break;
            case tyboolean:{
                result = scan.nextBoolean();
            }break;
            default:{
                System.out.print("数据有误!");
            }break;
        }
       
        return result;
    }
}
搜索更多相关主题的帖子: 小游戏 学JAVA 
2012-05-16 19:14
ab1034982749
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:215
专家分:1185
注 册:2012-4-14
收藏
得分:20 
不错不错
2012-05-16 22:38
dailus
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-6-3
收藏
得分:0 
小赞一个!!我还不会这种编程技术呢!!请多多指教!!
2012-06-03 12:44
shanshan3003
Rank: 2
等 级:论坛游民
帖 子:53
专家分:66
注 册:2011-8-29
收藏
得分:0 
不错,不过有点问题啊,我运行之后发现会出现死循环的,第一次猜中之后就死了
图片附件: 游客没有浏览图片的权限,请 登录注册
争取改进下
2012-06-13 13:37
ihih1234321
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-7-21
收藏
得分:0 
那个“state”变量,游戏一开始就为”1“。所以一直输出“游戏开始,幸运数字以产生,快来猜猜看吧”
2012-07-22 20:19
ihih1234321
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-7-21
收藏
得分:0 
"state"变量在变一个数,
2012-07-22 20:20
快速回复:刚学JAVA奉上【猜谜小游戏】
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017196 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved