关于C#知识讲解中的switch多分支语句、分支嵌套,菜单,猜数吗,模拟蛋仔的游戏

本文主要是介绍关于C#知识讲解中的switch多分支语句、分支嵌套,菜单,猜数吗,模拟蛋仔的游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下是一个用C语言中的switch多分支语句、分支嵌套编写的简单菜单程序示例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _12
{
    internal class Program
    {
        static void Main(string[] args)
        {
            {
                Random random = new Random();
                int targetNumber = random.Next(1, 101);
                int guessCount = 0;
                int guessedNumber = 0;
                Console.WriteLine("\t今日菜谱");
                Console.WriteLine("\t1.红烧排骨");
                Console.WriteLine("\t2.酸菜鱼");
                Console.WriteLine("\t3.板栗鸭");
                Console.WriteLine("\t4.番茄大虾");
                Console.WriteLine("\t5.油闷大虾");
                Console.WriteLine("\t6.素炒青菜");
                Console.WriteLine("\t0.不想点");
                Console.Write("客官今天想吃点什么,请点菜(1-6):");
                int choice = int.Parse(Console.ReadLine());
                switch (choice)
                {

                    case 1:
                        Console.WriteLine("客官点的是:红烧排骨");
                        break;
                    case 2:
                        Console.WriteLine("客官点的是:酸菜鱼");
                        break;
                    case 3:
                        Console.WriteLine("客官点的是:板栗鸭");
                        break;
                    case 4:
                        Console.WriteLine("客官点的是:番茄炒蛋");
                        break;
                    case 5:
                        Console.WriteLine("客官点的是:油闷大虾");
                        break;
                    case 6:
                        Console.WriteLine("客官点的是:素炒青菜");
                        break;
                    case 0:
                        Console.WriteLine("客官慢走,欢迎下次光临");
                        break;
                    default:
                        Console.WriteLine("客官对不起,你点的菜本店没有,欢迎下次光临!");
                        break;
                }
                Console.ReadLine();
            }
        }
    }
}

这个程序会显示一个简单的菜单,然后要求用户输入菜单选项的序号(1-6)。根据用户的选择,在switch语句中执行相应的操作。选项1、2,3,4,5,6仅仅是简单的展示了对应选项的信息。选项0退出程序。

以下是一个用C#语言编写的100以内的猜数字游戏的示例代码:

```csharp
using System;

namespace GuessNumberGame
{
    class Program
    {
        static void Main(string[] args)
        {
            Random random = new Random();
            int targetNumber = random.Next(1, 101);
            int guessCount = 0;
            int guessedNumber = 0;

            Console.WriteLine("猜数字游戏 - 猜一个1到100之间的数字!");

            while (guessedNumber != targetNumber)
            {
                Console.Write("请输入你的猜测:");
                string input = Console.ReadLine();
                if (!int.TryParse(input, out guessedNumber))
                {
                    Console.WriteLine("请输入一个有效的整数!");
                    continue;
                }

                if (guessedNumber < targetNumber)
                {
                    Console.WriteLine("太小了,请继续猜测!");
                }
                else if (guessedNumber > targetNumber)
                {
                    Console.WriteLine("太大了,请继续猜测!");
                }

                guessCount++;
            }

            Console.WriteLine("恭喜你猜对了!");
            Console.WriteLine("你一共猜测了 {0} 次。", guessCount);

            Console.WriteLine("按任意键退出...");
            Console.ReadKey();
        }
    }
}
```

这个游戏会随机生成一个1到100之间的数字,然后要求用户猜测这个数字。如果用户输入的数字比目标数字小,会显示"太小了,请继续猜测!";如果用户输入的数字比目标数字大,会显示"太大了,请继续猜测!"。当用户猜对数字时,会显示"恭喜你猜对了!"并展示用户猜测的次数。

 

你上班的公司做套相当成功的模拟蛋仔的游戏:SimEggs。游戏中会出现各种蛋仔,蛋仔的种类及属性如下:
种类:绿头蛋仔、红头蛋仔、橡皮蛋仔、诱饵蛋仔……不确定什么时候上线新类型蛋仔。
属性:外观、游泳行为、飞行行为、狮吼行为……也不确定新行为。
不同种类的蛋仔所对应的属性如下:
由于不同种类的蛋仔可能具有不同的行为,因此,可以使如何利用多态来实现?
绿头蛋仔:绿头蛋仔的外观、会游泳、会飞行、呱呱叫。
红头蛋仔:红头蛋仔的外观、会游泳、会飞行、呱呱叫。
橡皮蛋仔:橡皮蛋仔的外观、会游泳(漂浮)、不会飞行、吱吱叫。

饵蛋仔:诱饵蛋仔的外观、会游泳(漂浮)、不会飞行、不会叫。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace EggsGame
{/// <summary>/// 你上班的公司做了一套相当成功的模拟蛋仔的游戏:SimEggs。/// 游戏中会出现各种蛋仔,蛋仔的种类及属性如下: 种类:绿头蛋仔、红头蛋仔、橡皮蛋仔、诱饵蛋仔……不确定什么时候上线新类型蛋仔。 /// 属性:外观、游泳行为、飞行行为、狮吼行为……也不确定新行为。 /// 不同种类的蛋仔所对应的属性如下: 由于不同种类的蛋仔可能具有不同的行为,因此,可以使如何利用多态来实现? /// 绿头蛋仔:绿头蛋仔的外观、会游泳、会飞行、呱呱叫。 /// 红头蛋仔:红头蛋仔的外观、会游泳、会飞行、呱呱叫。 /// 橡皮蛋仔:橡皮蛋仔的外观、会游泳(漂浮)、不会飞行、吱吱叫。 /// 诱饵蛋仔:诱饵蛋仔的外观、会游泳(漂浮)、不会飞行、不会叫。///【缺陷】增加一种 翻滚的行为,那么有多少个派生的蛋仔类,就得修改多少次代码,这是很不安全/// </summary>class Program{static void Main(string[] args){Egg greenheadEgg = new GreenHeadEgg();greenheadEgg.Display();greenheadEgg.Fly();greenheadEgg.Swim();greenheadEgg.Sound();Console.WriteLine();Egg rubberEgg = new RubberEgg();rubberEgg.Display();rubberEgg.Fly();rubberEgg.Swim();rubberEgg.Sound();Console.WriteLine();Egg robotEgg = new RobotEgg();robotEgg.Display();robotEgg.Fly();robotEgg.Swim();robotEgg.Sound();Console.ReadKey();}}
}

namespace EggsGame
{public abstract class Egg{// 蛋仔的名称public string EggName { get; set; }public void Display(){Console.WriteLine($"名称:{EggName}");}// 行为: 游泳  飞   叫public abstract void Swim();public abstract void Fly();public abstract void Sound();}
}

namespace EggsGame
{public class GreenHeadEgg : Egg{public GreenHeadEgg(){EggName = "绿头蛋仔";}public override void Fly(){Console.WriteLine("用翅膀飞");}public override void Sound(){Console.WriteLine("呱呱叫");}public override void Swim(){Console.WriteLine("用脚来游");}}
}

namespace EggsGame
{public class RobotEgg : Egg{public RobotEgg(){EggName = "机器蛋仔";}public override void Fly(){Console.WriteLine("喷气式引擎起飞");}public override void Sound(){Console.WriteLine("嗡……");}public override void Swim(){Console.WriteLine("用螺旋桨游");}}
}

namespace EggsGame
{public class RubberEgg : Egg{public RubberEgg(){EggName = "橡皮蛋仔";}public override void Fly(){Console.WriteLine("不会飞");}public override void Sound(){Console.WriteLine("……");}public override void Swim(){Console.WriteLine("漂浮");}}
}

这篇关于关于C#知识讲解中的switch多分支语句、分支嵌套,菜单,猜数吗,模拟蛋仔的游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/366804

相关文章

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

C#如何去掉文件夹或文件名非法字符

《C#如何去掉文件夹或文件名非法字符》:本文主要介绍C#如何去掉文件夹或文件名非法字符的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#去掉文件夹或文件名非法字符net类库提供了非法字符的数组这里还有个小窍门总结C#去掉文件夹或文件名非法字符实现有输入字

C#之List集合去重复对象的实现方法

《C#之List集合去重复对象的实现方法》:本文主要介绍C#之List集合去重复对象的实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C# List集合去重复对象方法1、测试数据2、测试数据3、知识点补充总结C# List集合去重复对象方法1、测试数据

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

Java进程CPU使用率过高排查步骤详细讲解

《Java进程CPU使用率过高排查步骤详细讲解》:本文主要介绍Java进程CPU使用率过高排查的相关资料,针对Java进程CPU使用率高的问题,我们可以遵循以下步骤进行排查和优化,文中通过代码介绍... 目录前言一、初步定位问题1.1 确认进程状态1.2 确定Java进程ID1.3 快速生成线程堆栈二、分析

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

Mybatis嵌套子查询动态SQL编写实践

《Mybatis嵌套子查询动态SQL编写实践》:本文主要介绍Mybatis嵌套子查询动态SQL编写方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、实体类1、主类2、子类二、Mapper三、XML四、详解总结前言MyBATis的xml文件编写动态SQL

Mybatis Plus JSqlParser解析sql语句及JSqlParser安装步骤

《MybatisPlusJSqlParser解析sql语句及JSqlParser安装步骤》JSqlParser是一个用于解析SQL语句的Java库,它可以将SQL语句解析为一个Java对象树,允许... 目录【一】jsqlParser 是什么【二】JSqlParser 的安装步骤【三】使用场景【1】sql语