好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#实现简易猜数字游戏

本文实例为大家分享了C#实现简易猜数字游戏的具体代码,供大家参考,具体内容如下

游戏规则说明:

由系统生成一个随机数,玩家有三次猜数字的机会,如果在三次内猜出数字反馈玩家猜对了,否则Game Over!

代码设计说明:

1.首先设计一个简易的欢迎界面,并提示玩家是否开始游戏;

?

public void Rule()

  {

   string symbol;

   bool flag = false ;

   Console.WriteLine( "***********************************************" );

   Console.WriteLine( "------------欢迎进入猜数字游戏!-------------" );

   Console.WriteLine( "我们将从1到10间随机生成一个数字由玩家进行猜测!" );

   Console.WriteLine( " 来看看你们的运气,提供你们三次猜测机会!" );

   Console.WriteLine( "\tY--开始游戏\t\tN--退出游戏" );

   Console.WriteLine( "***********************************************" );

   Console.Write( "是否进入游戏:" );

   symbol = Convert.ToString(Console.ReadLine());

   while (flag == false )

   {

   switch (symbol)

   {

    case "Y" :

    Console.Clear();

    Console.WriteLine( "游戏开始!" );

    flag = true ;

    break ;

    case "N" :

    Console.WriteLine( "退出游戏!" );

    Console.ReadKey();

    Environment.Exit(0);

    break ;

    default :

    Console.WriteLine( "输入无效符号!" );

    Console.Write( "是否进入游戏:" );

    symbol = Convert.ToString(Console.ReadLine());

    break ;

   }

   } 

  }

2.由系统自动生成一个随机数;

?

public int SetRandom()

  {

   int number;

 

   var random = new Random();

   number = random.Next(1,10); // 使用该方法获得的随机数大于等于1,小于10;

   return number;

  }

3.由玩家输入一个数值与系统生成随机数进行比较,判断是否相同,如果相同则表示玩家猜对,否则继续猜,直到三次机会使用完反馈Game Over!

 

?

public void Guess( int num)

  {

   int number;

   int count = 0;

   Console.WriteLine( "请输入猜测数值:" );

   number = Convert.ToInt32(Console.ReadLine());

 

   while (num <= 10)

   {

   if (number == num)

   {

    Console.WriteLine( "恭喜你,猜对了!" );

    break ;

   }

   else

   {

    count++; // 获取玩家输入次数

    Console.WriteLine( "亲。猜错了哦! 您以使用{0}次机会\n" , count);

 

    if (count >= 3) //判断玩家是否已输入三次

    {

    Console.WriteLine( "您已用完猜测次数,Game Over!" );

    break ;

    }

    Console.WriteLine( "请再次输入猜测数值:" );

    number = Convert.ToInt32(Console.ReadLine());

 

   }

 

   }

 

  }

完整代码:

?

using System;

 

namespace GuessNumberApplication

{

  class Program

  {

  static void Main( string [] args)

  {

   var guessNumber = new GuessNumber();

   var ruleExplain = new RuleExplain();

 

   ruleExplain.Rule();

   int number = guessNumber.SetRandom();

   guessNumber.Guess(number);

 

   Console.ReadKey();

  }

  }

  class RuleExplain

  {

  public void Rule()

  {

   string symbol;

   bool flag = false ;

   Console.WriteLine( "***********************************************" );

   Console.WriteLine( "------------欢迎进入猜数字游戏!-------------" );

   Console.WriteLine( "我们将从1到10间随机生成一个数字由玩家进行猜测!" );

   Console.WriteLine( " 来看看你们的运气,提供你们三次猜测机会!" );

   Console.WriteLine( "\tY--开始游戏\t\tN--退出游戏" );

   Console.WriteLine( "***********************************************" );

   Console.Write( "是否进入游戏:" );

   symbol = Convert.ToString(Console.ReadLine());

   while (flag == false )

   {

   switch (symbol)

   {

    case "Y" :

    Console.Clear();

    Console.WriteLine( "游戏开始!" );

    flag = true ;

    break ;

    case "N" :

    Console.WriteLine( "退出游戏!" );

    Console.ReadKey();

    Environment.Exit(0);

    break ;

    default :

    Console.WriteLine( "输入无效符号!" );

    Console.Write( "是否进入游戏:" );

    symbol = Convert.ToString(Console.ReadLine());

    break ;

   }

   } 

 

  }

  }

 

  class GuessNumber

  {

  public int SetRandom()

  {

   int number;

 

   Random random = new Random();

   number = random.Next(1, 10); // 使用该方法获得的随机数大于等于1,小于10;

   return number;

  }

 

  public void Guess( int num)

  {

   int number;

   int count = 0;

   Console.WriteLine( "请输入猜测数值:" );

   number = Convert.ToInt32(Console.ReadLine());

 

   while (num <= 10)

   {

   if (number == num)

   {

    Console.WriteLine( "恭喜你,猜对了!" );

    break ;

   }

   else

   {

    count++; // 获取玩家输入次数

    Console.WriteLine( "亲。猜错了哦! 您以使用{0}次机会\n" , count);

 

    if (count >= 3) //判断玩家是否已输入三次

    {

    Console.WriteLine( "您已用完猜测次数,Game Over!" );

    break ;

    }

    Console.WriteLine( "请再次输入猜测数值:" );

    number = Convert.ToInt32(Console.ReadLine());

 

   }

 

   }

 

  }

  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/drift-code/archive/2018/04/13/8821582.html

dy("nrwz");

查看更多关于C#实现简易猜数字游戏的详细内容...

  阅读:36次