数据类型猜测游戏

时间:2014-09-18 17:38:19

标签: c#

我的任务是创建一个猜谜游戏,用户可以输入数据类型,并且程序必须返回相同格式的数据。或者程序将输出数据,用户必须输入具有相同格式的内容......

这是项目描述:

对于这个项目,您将基于所使用的简单数据类型创建猜谜游戏 在C#中。你的程序应输出一个数字,并根据值和格式, 用户必须输入与数字(或字符)格式匹配的数据类型。 然后程序将提示是否可以使用较小的数据类型来保存它 值。您的程序还应该提供游戏的反向选项。如果你输入一个 值,然后它应输出正确的数据类型。 这个程序应该使用byte,sbyte,int,uint,short,ushort,long,ulong,char,float, double,decimal和string。 提示:循环语句和分支将真正帮助您控制您的方式 程序处理数据。


    /*referenced http://www.gamedev.net/topic/462388-guess-the-number-game-c/ */
    using System;
    using System.Collections.Generic;
    using System.Text;

   namespace Guess
    {
class Program
{
    static void Main(string[] args)
    {
        while (true)
        {
            string Value = 0;
            string UserValue = 0;
            int Switch = GenerateNumber(1,13);
            Console.WriteLine("I want to play a guessing game... do you want to guess first? (1=yes or 0=no) \r\n");
            int intTemp = Convert.ToInt32(Console.Readline());
            if(intTemp == 0)
            {
                Console.WriteLine("\r\n OK... I will guess first... please type in a value: \r\n");
                UserValue = Console.Readline();
                if(
            /*randomly picks a datatype case */
            switch(Switch);
            {
            case 1:
                /*byte*/
                break;
            case 2:
                /*sbyte*/
                break;
            case 3:
                /*int*/
                break;
            case 4:
                /*uint*/
                break;
            case 5:
                /*short*/
                break;
            case 6:
                /*ushort*/
                break;
            case 7:
                /*long*/
                break;
            case 8:
                /*ulong*/
                break;
            case 9:
                /*char*/
                break;
            case 10:
                /*float*/
                break;
            case 11:
                /*double*/
                break;
            case 12:
                /*decimal*/
                break;
            case 13:
                /*string*/
                break;
            }

我无法想出将字符串和字符与其他数据类型区分开来的逻辑。我知道,对于他们中的大多数人,我只能做一个if语句来确定数据类型是否在一定范围内,有人可以请我填写一些关于如何做到这一点的逻辑吗?

2 个答案:

答案 0 :(得分:2)

char 完全一个字符。

string n 个字符集合(基本上)。

因此,如果输入的类型为字符串,并且只有一个字符,则 可以是(可能是出于您的目的)。如果是任何其他长度,则为字符串。

对于其他数据类型,如果输入字符串不是该数据类型的有效值,则TryParse将失败。

答案 1 :(得分:0)

您无法区分表示为字符串和1长度字符串的字符。 (char - >字符串隐式转换将隐藏原始类型差异。) 你可以(必须)假设长度将在char和string之间选择。