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次
else forCount = 4;
for (int i = 0; i < forCount; i++)
{
// 把第一张牌放到数组最后面 (好运留下来)
string element = list[0];
list.RemoveAt(0);
list.Add(element); //烦恼丢出去
list.RemoveAt(0);
}
return list[0];
}
}

C# 实现刘谦春晚魔术的更多相关文章

  1. 亲临现场不是梦,2017央视春晚推出VR直播

    自里约奥运会首次试水VR直播 后,用户开始关注这种观影方式,一瞬间VR直播开始流行.就在月初,江苏卫视宣布2017年跨年晚会将进行VR全景直播.当然,央视是绝对不会错过这中潮流方式. 据悉,央视201 ...

  2. 爱奇艺直播 - 春晚直播业务API架构

    小结: 1.服务熔断策略 在网关服务中经常会对后端不同api接口做服务聚合,比如A服务 -> B服务 -> C服务 ,如果C服务出现问题,那么在调用C服务之前需要做熔断.而在设计熔断器的时 ...

  3. 中软国际首届嘉年华晚会 创新网络年会PK“春晚”

    随着新年脚步的来临,各大公司的年会陆续出炉,但是中软国际的首届嘉年华晚会,以创新网络年会和全国八地同步进行的模式,演绎不一样的互联网年会,简直可以PK“春晚”.IT届中最漂亮的美女热舞,程序员中最会唱 ...

  4. 英语口语练习系列-C34-儿童-谈论物品和人-武陵春

    词汇-儿童 child a child favorite game toy regulation breadwinner dominant selfish ancestor custom belief ...

  5. 晋城6397.7539(薇)xiaojie:晋城哪里有xiaomei

    晋城哪里有小姐服务大保健[微信:6397.7539倩儿小妹[晋城叫小姐服务√o服务微信:6397.7539倩儿小妹[晋城叫小姐服务][十微信:6397.7539倩儿小妹][晋城叫小姐包夜服务][十微信 ...

  6. AutoESL与Xilinx那些人和事

    大年三十,看到Xilinx收购AutoESL的新闻, 顿时觉得今年特别喜庆,于是,连春晚也懒得骂了. 本想立即写一篇博文八卦一番, 怎奈亲朋好友饭局不断,一直拖到今天才动笔. 与一年前Xilinx宣布 ...

  7. 论文keywords和规则匹配的baseline

    详细的思路可以参照小论文树立0317 关键词分为以下几类: t/****一些通用的过滤词,这些通用的过滤词可以使用和节目一起出现的词语,结合tf-idf看出来么?*****/    public st ...

  8. mysql benchmark基准测试

    git项目地址: https://github.com/akopytov/sysbench 利用sysbench很容易对mysql做性能基准测试(当然这个工具很强大,除了测试主流数据库性能,还能测试其 ...

  9. 用自己赚的钱第一次坐飞机 那feel倍儿爽

    马年春晚上,歌手大张伟的神曲<倍儿爽>如今已传遍大街小巷.其实,不管人家到底有没有炒作,能让我们这些观众感觉到放松.乐呵,那就是一个成功的春晚节目.而今年,我也如同这歌中唱的一样,活得倍儿 ...

  10. 所有古诗词的api

    服务商:api.getlove.cn 分类:诗词 更新时间:2016-03 如果接口不满足您的要求,您可以联系qq:2265658022购买完整的数据库 免费apikey:56eab527a0facb ...

随机推荐

  1. Java 有效字符串判断

    转载请注明出处: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. ...

  2. 代码使我头疼之React初学习

    前言 开始了,去年(2020)说要学的React,到现在2021年的12月底了,才来实施--(年底警告!年末总结还没开始写!) 不过前端为啥要学React呢?Vue不是很好用吗?Vue确实很好用,并且 ...

  3. [转帖]MySQL多版本并发控制机制(MVCC)-源码浅析

    https://zhuanlan.zhihu.com/p/144682180 MySQL多版本并发控制机制(MVCC)-源码浅析 前言 作为一个数据库爱好者,自己动手写过简单的SQL解析器以及存储引擎 ...

  4. [转帖]详解nginx的rewrite应用,Nginx高级之Rewrite规则

    https://zhuanlan.zhihu.com/p/359801091 Rewrite主要的功能是实现URL重写,Nginx 的 Rewrite 规则采用 PCRE Perl 兼容正则表达式的语 ...

  5. [转帖]linux删除文本文件空白行

    linux删除文本文件空白行https://www.zhihu.com/people/chen-kai-84-54-75 sed命令 在Linux中,可以使用sed命令批量删除文本中的空白行.以下是一 ...

  6. [转帖]用实力诠释细节!“Java性能调优六大工具”之JDK命令行工具

    https://www.zhihu.com/people/javajia-gou-ji-zhu-44/posts   JDK命令行工具 在JDK的开发包中,除了大家熟知的java.exe和javac. ...

  7. 深入浅出RPC服务 | 不同层的网络协议

    导读: 本系列文章从RPC产生的历史背景开始讲解,涉及RPC核心原理.RPC实现.JSF的实现等,通过图文类比的方式剖析它的内部世界,让大家对RPC的设计思想有一个宏观的认识. 作者:王禹展   京东 ...

  8. 【贪心】AGC018C Coins

    Problem Link 现在有 \(X+Y+Z\) 个人,第 \(i\) 个人有三个权值 \(a_i,b_i,c_i\),现在要求依次选出 \(X\) 个人,\(Y\) 个人和 \(Z\) 个人(一 ...

  9. 【计数,DP】ABC306Ex Balance Scale

    Problem Link 现在有 \(n\) 个球,每个球有一个重量,重量未知.接下来会进行 \(m\) 次称重,每次给定 \(a_i\) 和 \(b_i\),比较这两个球的重量,结果可能是 \(&g ...

  10. 模块化Common.js与ES6

    为什么要模块化开发 1. 依赖关系(a文件依赖b文件中的方法,b文件必须在a文件之前引入) 2. 命名问题 (多个文件变量名,方法名相同会出现覆盖) 3. 代码组织(后期不好维护) 模块化规范有 1. ...