2月9日总结

C# 实现刘谦春晚魔术

internal class Program
{
    static List<string> list=new List<string>() { "A","B","C","D","A","B","C","D" };
    static string hiddenEle1 = string.Empty;//第一次藏起来的牌
    static void Main(string[] args)
    {
        Console.WriteLine($"初始牌组:{string.Join(',',list)}");
        //第一趴 名字有几个字
        Console.WriteLine("请输入你的名字有几个字");
        var nameCount = Convert.ToInt32(Console.ReadLine());
        Fun1(nameCount);
        Console.WriteLine($"变化之后:{string.Join(',', list)}");
        //第二趴 拿掉三张牌
        Fun2(3);
        Console.WriteLine($"插入三张牌后:{string.Join(',', list)}");
        //第三趴 把最上面一张牌藏起来
        Fun3();
        Console.WriteLine($"藏起来第一张牌后:{string.Join(',', list)}");
        //第四趴南方人北方人
        Console.WriteLine("北方-1 南方-2 不南不北-3,请输入对应数字");
        var directCount=Convert.ToInt32(Console.ReadLine());
        Fun2(directCount);
        Console.WriteLine($"南北方人后:{string.Join(',', list)}");
        //第五趴 男女生
        Console.WriteLine("男-1 女-2,请输入对应数字");
        var sexCount = Convert.ToInt32(Console.ReadLine());
        Fun4(sexCount);
        Console.WriteLine($"男女生后:{string.Join(',', list)}");
        //第六趴 见证奇迹的时刻
        Fun5();
        Console.WriteLine($"见证奇迹后:{string.Join(',', list)}");
        //第七趴 好运留下来烦恼丢出去
        Console.WriteLine("开始好运留下了 烦恼丢出去");
        var hiddenEle2 = Fun6(sexCount);

        Console.WriteLine($"牌1:{hiddenEle1} 牌2:{hiddenEle2}");
    }
    private static void Fun1(int nameCount)
    {
        if (nameCount >= list.Count)
        {
            // 如果 nameCount 大于或等于列表长度,则不需要进行操作
            return;
        }

        for (int i = 0; i < nameCount; i++)
        {
            string element = list[0];  // 获取第0个元素
            list.RemoveAt(0);          // 移除第0个元素
            list.Add(element);         // 将第0个元素添加到最后
        }
    }
    private static void Fun2(int forCount)
    {
        //被删除掉的三张牌
        var removeElement = new List<string>();
        for (int i = 0; i < forCount; i++)
        {
            removeElement.Add(list[0]);
            list.RemoveAt(0);
        }

        //把拿到的三张牌插到中间
        var random = new Random();
        int insertIndex = random.Next(1, list.Count - 1); // 生成一个介于第一个和倒数第二个位置之间的随机插入位置

        for (int i = removeElement.Count - 1; i >= 0; i--)
        {
            list.Insert(insertIndex, removeElement[i]);
        }
    }
    private static void Fun3()
    {
        //把第一张牌藏起来
        hiddenEle1 = list[0];
        list.RemoveAt(0);
    }

    private static void Fun4(int count)
    {
        for (int i = 0; i < count; i++)
        {
            list.RemoveAt(0);
        }
    }

    private static void Fun5()
    {
        for (int i = 0; i < 7; i++)
        {
            string element = list[0];
            list.RemoveAt(0);
            list.Add(element);
        }
    }

    private static string Fun6(int sexCount)
    {
        int forCount = 0;
        if (sexCount == 1) forCount = 5;//男生要5次
posted @ 2024-02-16 23:36  lmyyyy  阅读(15)  评论(0)    收藏  举报