首页 > 开发 > 综合 > 正文

C#版猜数字

2024-07-21 02:26:21
字体:
来源:转载
供稿:网友

using system;


namespace guessnumber
{
 /// <summary>
 /// class1 的摘要说明。
 /// </summary>
 class class1
 {
  /// <summary>
  /// 应用程序的主入口点。
  /// </summary>
  [stathread]
  static void main(string[] args)
  {
   guessgame mygame=new guessgame();
   while(mygame.play().toupper()=="y")
   {

   }
  }
  
 }

 class guessgame
 {
  private int resultnumber=1;
  int usernumber=0;
  int chance=0;
  string flag="";
  string tempstr="";

  public guessgame()
  {
   init();//
  }

  public string play()
  {
   console.writeline("input a number:");
   tempstr=console.readline();
   while(!isnum(tempstr))
   {
    tempstr=console.readline();
   }
   usernumber=convert.toint16(tempstr);
   while(resultnumber!=usernumber)
   {
    if(resultnumber>usernumber)
     flag="samll";
    else
     flag="big";
    chance+=1;
    console.writeline("too {0} !!!you have guessed {1} times,input a number again:",flag,chance);
    tempstr=console.readline();
    while(!isnum(tempstr))
    {
     
    }usernumber=convert.toint16(tempstr);
   }
   console.write("you did it! {0} times",chance+1);
   console.write("play again? y:n    ");
   return console.readline();
  }

//  private override string readline()
//  {
//
//  }

  private void init()
  {
   resultnumber = createnumber();
   console.writeline("the number is between 1-100");
  }

  private int createnumber()
  {
   random myran=new random();
   return myran.next(0,10);
  }

  private bool isnum(string str)
  {
   //   for(int i=0;i<str.length;i++)
   //   {
   //    if(convert.toint16(str.substring(i,1))<convert.toint16("0")||convert.toint16(str.substring(i,1))>convert.toint16("9"))
   //    {
   //     console.writeline("fomat error,input a number");
   //     return false;
   //    }
   //   }
   try
   {
    convert.todouble(str); 
    return true;
   }
   catch
   {
    console.writeline("fomat error,input a number");
    return false ;
   } 

  }

 

 }

}


国内最大的酷站演示中心!
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表