关于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

相关文章

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时

C# $字符串插值的使用

《C#$字符串插值的使用》本文介绍了C#中的字符串插值功能,详细介绍了使用$符号的实现方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录$ 字符使用方式创建内插字符串包含不同的数据类型控制内插表达式的格式控制内插表达式的对齐方式内插表达式中使用转义序列内插表达式中使用

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

RabbitMQ消费端单线程与多线程案例讲解

《RabbitMQ消费端单线程与多线程案例讲解》文章解析RabbitMQ消费端单线程与多线程处理机制,说明concurrency控制消费者数量,max-concurrency控制最大线程数,prefe... 目录 一、基础概念详细解释:举个例子:✅ 单消费者 + 单线程消费❌ 单消费者 + 多线程消费❌ 多

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于