找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 830|回复: 0

java 写的猜数字小游戏源码

[复制链接]

482

主题

303

回帖

1486

牛毛

二级牛人

学习  !!!

积分
1486
QQ
发表于 2009-6-18 20:46:59 | 显示全部楼层 |阅读模式 来自 河北省沧州市
import java.io.*;
public class Game{
// 猜数的机会次数
public int chance;

private BufferedReader in
     = new BufferedReader(new InputStreamReader(System.in));
// 开始界面
public void JieMian(){
  System.out.println("--------------欢迎使用--------------");
  System.out.println("1:高级3次  2:中级 5次  3:初级  10次");
  
}
//从键盘输入 返回一个 数字
public int Choice(){
  String choice="";
  int mm=0;
  try{
  
  choice = in.readLine();
  mm = Integer.parseInt(choice);
  
  }catch(Exception e){
   //e.printStackTrace();
   System.out.println("你输入的不是一个数字");
  }
  return mm;
}
//随机函数 返回一个 1--99 之间的一个整数
public int suiJi(){
  int a = (int)((Math.random()*99)+1);
  return a;
}
//开始游戏  input 为键盘输入的数字
public void start(int a){
  int i=0,suiji = a;
  
  
  while(i<chance){
   System.out.println("请输入一个 1--99 之间的任意一个数:");
   int input = this.Choice();
   //判断输入是否 符合要求  
   while(input <1 || input>100 ) {
    System.out.println("输入不符合要求  请输入一个 1--99 之间的         任意一个数:");
    input = this.Choice();
   }
   
   if (input>suiji) {
    System.out.println("比正确值大了");
   }
   else if(input <suiji) {
    System.out.println("比正确值小了");
   }
   else {
   System.out.println("good !!  you guess it !!");
   break;
   }
   i++;
   if(chance-i==0){
    System.out.println("你已经没有机会了");
   }else{
   
    System.out.println("你还有 "+(chance-i)+"次机会");
   }
  }
  System.out.println("正确答案是:"+suiji);
  if (i==chance) {
   System.out.println("game over");
  }
}
//进入游戏
public void open(){
  //aa 为 选择的难度  count为控制条件 不为0时  退出游戏   
  int count=1,aa;
  this.JieMian();
  while(count==1){
   
   System.out.println("请选择级别:");
   aa=this.Choice();
   //根据难度aa  分配猜数机会次数chance
   switch(aa){
    case 1: chance = 3;
     System.out.println("你选择的是高难度的");
     break;
    case 2: chance = 5;
     System.out.println("你选择的是中等难度的");
     break;
    case 3: chance = 10;
     System.out.println("你选择的是普通难度的");
     break;
    default: System.out.println("你输入有误 !!请输入 1 到3 的一个整数");
     break;
   }
   if (aa>0 && aa<4){
    System.out.println("你有"+chance+"次机会!!");
    this.start(this.suiJi());
   }
   
   System.out.println("你输入 1 再来一次  输入其他 退出");
   count = this.Choice();
        
  }
}
public static void main(String []args){
  Game g = new Game();
  g.open();
  
}
}
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-4-28 00:50 , Processed in 0.179306 second(s), 34 queries .

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表