年初立的FLAG嘛,要试着做游戏。
自学C#的时候,有一个练习题,跟着赵新政老师做完后,自己又拓展了1天的内容。
首先是随处可见的异界生物猫猫,不知道在别人的机器上是否能显示正常。
游戏玩法猜数字,增加了随着等级扩大的动态猜测范围,页面内容过多时自动刷新的功能,我尝试了几次,如果运气不太差应该能通关。
哦,还有3,6,9,15关的奇遇系统,会有一些好事发生。
找了个朋友帮我测试,修复了输入英文会退出的恶性BUG,其他好像没什么问题了,运行的还挺流畅。
应该问题不大,先发布了,欢迎大家来试一试,跟数独一样还挺有趣的。
现在再看代码,脑袋要宕机了,第一次体会了什么叫屎山代码的形成。
继续往下学吧还是。
链接: https://pan.baidu.com/s/1iJoVnZtiuwCdkKwgoWgnNA?pwd=1234 提取码: 1234 复制这段内容后打开百度网盘手机App,操作更方便哦
附上代码,已经乱了套了O O
namespace randomGame
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("———————————————————————");
Console.WriteLine("\" /\\_/\\\" ");
Console.WriteLine("\"(=o.o=)\" 来自地球的人类,欢迎来到猜谜世界");
Console.WriteLine("\" > ^ <\" ");
Console.WriteLine("———————————————————————");
Console.ReadKey();
Console.WriteLine("邪恶的魔王将我们的世界从故乡剥离,做成了谜题"); Console.WriteLine(" ");
Console.ReadKey();
Console.WriteLine("唯有解开这个世界的 2 4 个谜题,才能让我们的世界回归"); Console.WriteLine(" ");
Console.ReadKey();
Console.WriteLine("这需要你强大的逻辑推理能力和一点点运气。"); Console.WriteLine(" ");
Console.ReadKey();
Console.WriteLine("那么,让我们开始游戏吧!");
Console.ReadKey();
Console.Clear();
int lv = 0;
int lownumber = 1;
int highnumber =20;
Random random = new Random();
bool game = true;
int lucky = 0;
int time = 6;
while (game)
{
Console.WriteLine("———————————————————————");
Console.WriteLine("\" /\\_/\\\" ");
if (lv < 3){Console.WriteLine("\"( o.o )\" 欢迎{0}级菜鸟萌新来到残酷的猜谜世界!", lv );}
else if (lv <= 6) {Console.WriteLine("\"(='.'=)\" 欢迎{0}级实力猜谜强者来到猜谜世界!", lv); }
else if (lv <= 15){Console.WriteLine("\"(=o.o=)\" 强大的{0}级猜谜大神莅临于此,Respect!", lv);}
else if (lv <= 22){Console.WriteLine("\"(=o.o=)\" 尊敬的{0}级猜谜强者抵达他忠实的猜谜世界", lv); }
else if (lv <= 25){Console.WriteLine("\"(=o.o=)\" 猜谜世界即将被{0}级猜谜皇帝驯服", lv); }
Console.WriteLine("\" > ^ <\" ");
Console.WriteLine("———————————————————————");
highnumber = 20 + lv * 10;
int number = random.Next(lownumber, highnumber);
Console.WriteLine("请在{0}次内,猜一个{1}至{2}的随机数,回车键确认", time,lownumber, highnumber);
int empty = 0;
for (int i = 1; i <= time; i++)
{
empty++;
Console.WriteLine("请输入你猜的数字:");
int gamerNmuber = 0;
bool isValidInput = false;
while (!isValidInput)
{
try
{
string input = Console.ReadLine();
gamerNmuber = Convert.ToInt32(input);
isValidInput = true; // 如果转换成功,设置为true退出循环
}
catch (FormatException)
{
// 捕获FormatException,提示用户输入的是无效的数字
}
catch (Exception ex)
{
// 捕获其他可能的异常
Console.WriteLine("发生未知错误:" + ex.Message);
break; // 退出循环,避免无限循环
}
break;
}
if (gamerNmuber == 88888888) {
Console.WriteLine("开启作弊功能"); Console.WriteLine(" "); Console.WriteLine(" ");
Console.WriteLine("创世神在测试他的作品是否存在BUG");
Console.WriteLine("以游戏成功的结果跳过此关");
game = false;
break;
}else if (gamerNmuber == number)
{
Console.WriteLine(" ");
Console.WriteLine("恭喜你猜对了");
game = false;
break;
}
else if (gamerNmuber > highnumber)
{
Console.WriteLine("请按题目猜数,还有{0}次机会", time - i);
}
else if (gamerNmuber < lownumber)
{
Console.WriteLine("请按题目猜数,还有{0}次机会", time - i);
}
else if (gamerNmuber > number)
{
Console.WriteLine("猜大了,还有{0}次机会", time - i);
}
else if (gamerNmuber < number)
{
Console.WriteLine("猜小了,还有{0}次机会", time - i);
}
if (empty % 4 == 0)
{
Console.Clear();
Console.WriteLine("———————————————————————");
Console.WriteLine("\" /\\_/\\\" ");
if (lv < 3)
{
Console.WriteLine("\"( o.o )\" 欢迎{0}级菜鸟萌新来到残酷的猜谜世界!", lv);
}
else if (lv <= 6)
{
Console.WriteLine("\"(='.'=)\" 欢迎{0}级实力猜谜强者来到猜谜世界!", lv);
}
else if (lv <= 15)
{
Console.WriteLine("\"(=o.o=)\" 强大的{0}级猜谜大神莅临于此,Respect!", lv);
}
else if (lv <= 20)
{
Console.WriteLine("\"(=o.o=)\" 尊敬的{0}级猜谜强者抵达他忠实的猜谜世界", lv);
}
else if (lv <= 25)
{
Console.WriteLine("\"(=o.o=)\" 猜谜世界即将被{0}级猜谜皇帝驯服", lv);
}
Console.WriteLine("\" > ^ <\" ");
Console.WriteLine("———————————————————————");
Console.WriteLine("请在{0}次内,猜一个{1}至{2}的随机数,回车键确认", time, lownumber, highnumber);
Console.WriteLine(gamerNmuber);
if (gamerNmuber == number)
{
Console.WriteLine("恭喜你猜对了"); Console.WriteLine(" ");
game = false;
break;
}
else if (gamerNmuber > highnumber)
{
Console.WriteLine("请按题目猜数,还有{0}次机会", time - i);
}
else if (gamerNmuber < lownumber)
{
Console.WriteLine("请按题目猜数,还有{0}次机会", time - i);
}
else if (gamerNmuber > number)
{
Console.WriteLine("猜大了,还有{0}次机会", time - i);
}
else if (gamerNmuber < number)
{
Console.WriteLine("猜小了,还有{0}次机会", time - i);
}
}
}
if (game == true) {
Console.Clear();
Console.WriteLine("———————————————————————");
Console.WriteLine("\" /\\_/\\\" ");
if (lv < 6)
{
Console.WriteLine("\"( o.o )\" 在这里就倒下,也是令我没想到的");
}
else if (lv <= 15)
{
Console.WriteLine("\"(='.'=)\" 有时候运气也是实力的一部分");
}
else if (lv <= 18)
{
Console.WriteLine("\"(='.'=)\" 胜败乃兵家常事,请大佬重新过关");
}
else if (lv > 18)
{
Console.WriteLine("\"(=o.o=)\" 千年间,人们称颂着一位{0}级强者陨落于此", lv);
}
Console.WriteLine("\" > ^ <\" ");
Console.WriteLine("———————————————————————");
Console.WriteLine(" "); Console.WriteLine(" ");
Console.WriteLine(" /\\_/\\ ");
Console.WriteLine(" // o o\\");
Console.WriteLine(" : : ");
Console.WriteLine(" "); Console.WriteLine(" ");
Console.WriteLine("失败了,谜底是:{0}", number);
Console.WriteLine(" "); Console.WriteLine(" "); Console.WriteLine(" ");
Console.WriteLine(" ");
Console.WriteLine("**********************************");
Console.WriteLine("***-------任意键重新开始-------***");
Console.WriteLine("**********************************");
lv = 0;
lucky = 0;
time = 6;
lownumber = 1;
Console.ReadKey();
Console.Clear();
}
else if(game == false) {
Console.WriteLine("———————————————————————");
Console.WriteLine("按任意键进入下一关");
Console.ReadKey();
game = true;
lv++;
Console.Clear();
if (lv == 3)
{
Console.WriteLine("———————————————————————");
switch (number % 2)
{
case 0:
Console.WriteLine(" "); Console.WriteLine("世界意志察觉到了你的存在"); Console.WriteLine(" ");
Console.WriteLine("他决定稍微帮助你一下"); Console.WriteLine(" ");
Console.WriteLine("本轮猜谜回合数永久加一次"); Console.WriteLine(" ");
time = time + 1;
break;
case 1:
Console.WriteLine(" ");
Console.WriteLine("世界意志忽视了你的存在"); Console.WriteLine(" ");
Console.WriteLine("什么都没有发生"); Console.WriteLine(" ");
Console.WriteLine("你决定用实力证明自己的强大"); Console.WriteLine(" ");
lucky = 1;
break;
}
Console.WriteLine("———————————————————————");
Console.ReadKey();
Console.Clear();
}
else if (lv == 6)
{
Console.WriteLine("———————————————————————");
switch (number % 3)
{
case 0:
Console.WriteLine(" "); Console.WriteLine("世界意志察觉到了你的存在"); Console.WriteLine(" ");
Console.WriteLine("他决定稍微帮助你一下"); Console.WriteLine(" ");
Console.WriteLine("本轮猜谜回合数永久加一次"); Console.WriteLine(" ");
time = time + 1;
break;
case 1:
Console.WriteLine(" "); Console.WriteLine("世界意志忽视了你的存在"); Console.WriteLine(" ");
Console.WriteLine("什么都没有发生"); Console.WriteLine(" ");
Console.WriteLine("你决定用实力证明自己的强大"); Console.WriteLine(" ");
lucky = lucky+1 ;
break;
case 2:
Console.WriteLine(" "); Console.WriteLine("幸运女神察觉到你的存在"); Console.WriteLine(" ");
Console.WriteLine("她为你献上了幸运的祝福"); Console.WriteLine(" ");
Console.WriteLine("本轮猜谜范围下限产生变化"); Console.WriteLine(" ");
lownumber = 30;
break;
}
Console.WriteLine("———————————————————————");
Console.ReadKey();
Console.Clear();
}
else if (lv == 10)
{
Console.WriteLine("———————————————————————");
switch (number % 3)
{
case 0:
Console.WriteLine(" "); Console.WriteLine("世界意志察觉到了你的存在"); Console.WriteLine(" ");
Console.WriteLine("他决定稍微帮助你一下"); Console.WriteLine(" ");
Console.WriteLine("本轮猜谜回合数永久加一次"); Console.WriteLine(" ");
time = time + 1;
break;
case 1:
Console.WriteLine(" "); Console.WriteLine("世界意志忽视了你的存在"); Console.WriteLine(" ");
Console.WriteLine("什么都没有发生"); Console.WriteLine(" ");
Console.WriteLine("你决定用实力证明自己的强大"); Console.WriteLine(" ");
lucky = lucky + 1;
break;
case 2:
Console.WriteLine(" "); Console.WriteLine("幸运女神察觉到你的存在"); Console.WriteLine(" ");
Console.WriteLine("她为你献上了幸运的祝福"); Console.WriteLine(" ");
Console.WriteLine("本轮猜谜范围下限产生变化"); Console.WriteLine(" ");
lownumber = lownumber + 30;
break;
}
Console.WriteLine("———————————————————————");
Console.ReadKey();
Console.Clear();
}
else if (lv == 15)
{
Console.WriteLine("———————————————————————");
if (lucky == 3) {
Console.WriteLine(" "); Console.WriteLine("你的实力(划掉)运气让世界意志大为震撼"); Console.WriteLine(" ");
Console.WriteLine("他决定全力帮助你"); Console.WriteLine(" ");
Console.WriteLine("本轮猜谜回合数永久加八次"); Console.WriteLine(" ");
time = time + 8;
}else if (lucky == 2)
{
Console.WriteLine(" "); Console.WriteLine("你的运气让世界意志感到震撼"); Console.WriteLine(" ");
Console.WriteLine("他决定好好帮助你"); Console.WriteLine(" ");
Console.WriteLine("本轮猜谜回合数永久加三次"); Console.WriteLine(" ");
time = time + 3;
}
else if (lucky == 1)
{
Console.WriteLine(" "); Console.WriteLine("世界意志察觉到了你的存在"); Console.WriteLine(" ");
Console.WriteLine("他决定稍微帮助你一下"); Console.WriteLine(" ");
Console.WriteLine("本轮猜谜回合数永久加一次"); Console.WriteLine(" ");
time = time + 1;
}else {
Console.WriteLine(" "); Console.WriteLine("幸运女神察觉到你的存在"); Console.WriteLine(" ");
Console.WriteLine("她为你献上了幸运的祝福"); Console.WriteLine(" ");
Console.WriteLine("本轮猜谜范围下限产生变化"); Console.WriteLine(" ");
lownumber = lownumber + 30;
}
Console.WriteLine("———————————————————————");
Console.ReadKey();
Console.Clear();
}
else if (lv == 25)
{
Console.WriteLine("———————————————————————"); Console.WriteLine(" "); Console.WriteLine(" ");
Console.WriteLine("您已经成功破解这个世界的全部谜题"); Console.WriteLine(" ");
Console.WriteLine("不朽的猜谜帝皇"); Console.WriteLine(" ");
Console.WriteLine("破碎虚空离开了这个简单的黑白世界"); Console.WriteLine(" ");
Console.WriteLine("在今后的百万年间"); Console.WriteLine(" ");
Console.WriteLine("此世界不断流传着您的伟大传说"); Console.WriteLine(" ");
Console.WriteLine("而不朽的您,依然在其他世界,破解着更加困难的谜题"); Console.WriteLine(" "); Console.WriteLine(" ");
Console.WriteLine("———————————————————————"); Console.WriteLine(" "); Console.WriteLine(" "); Console.WriteLine(" ");
Console.WriteLine("Have Fun");
Console.WriteLine(" ");
Console.WriteLine("Game made by 雪白的橘猫");
Console.WriteLine("2024/6/27");
game = false;
}
}
}
}
}
}