• c#基础逻辑练习案例


     第二章综合练习小游戏

    练习内容

    1. 向控制台输出这是学号+姓名的C#基础小游戏”。
    2. 向控制台换行再输出请输入你的游戏昵称:”。
    3. 向控制台输入你的游戏昵称,赋给一个字符串变量。
    4. 向控制台换行再输出请输入你的性别:”。
    5. 向控制台输入你的性别,赋给一个字符变量。
    6. 定义三个整型变量,分别表示你的等级、生命值、伤害值,变量值自定。
    7. 向控制台换行再输出你的人物属性。
    8. 以上运行结果如:

    1. 定义一个布尔变量、和一个字符串变量,分别表示你是否有魔法天赋、和你的天赋技能,默认值分别为“true”、“无”。
    2. 使用if进行判断,如果你有魔法天赋,则:

    (1)向控制台换行再输出如下内容:

    1. 向控制台换行再输出请输入你的选择:”。
    2. 向控制台输入你选择的天赋技能,赋给第10步定义的天赋技能变量。
    1. 使用switch对输入天赋技能进行判断:
    1. 如果你输入的是火焰之力,则向控制台换行再输出恭喜你,你获得了操控火焰的能力,伤害加成30!”。
    2. 如果你输入的是水之护盾,则向控制台换行再输出恭喜你,你获得了创建水护盾的能力,伤害加成20!”。
    3. 如果你输入的是风之疾行,则向控制台换行再输出恭喜你,你获得了风之加速的能力,伤害加成10!”。
    4. 如果以上都不是,则向控制台换行再输出很遗憾,你没有任何能力”。

    以上运行结果如:

    1. 向控制台换行再输出现在,有一只凶恶的怪物出现在你的面前!”。
    2. 定义两个整型变量,分别表示怪物的生命值和伤害值,变量值自定。
    3. 声明一个方法,传入两个参数:你的生命值(第6步定义)和怪物的生命值(第13步定义),方法内容为:向控制台换行再输出你的生命值(第6步定义)和怪物的生命值(第13步定义过),声明完成后,调用该方法。
    4. 向控制台换行再输出开始进入战斗!”。

    以上运行结果如:

    1. 使用while循环战斗,当你和怪物一个都没死的时候,(即你的生命值大于0且怪物的生命值大于0的时候),循环执行:
    1. 玩家攻击怪物:

    怪物生命值 = 当前生命值 - 你的伤害值

    向控制台换行再输出你对怪物发起攻击,造成了(你的伤害值)点伤害!

    调用第14步定义的方法,输出你的生命值和怪物的生命值

    判断:如果怪物生命值小于等于0,向控制台换行再输出你成功击败了怪物!”,并结束整个循环。

    1. 怪物反击:

    玩家生命值 = 当前生命值 - 怪物的伤害值

    向控制台换行再输出怪物进行反击,对你造成了(怪物的伤害值)点伤害!

    调用第14步定义的方法,输出你的生命值和怪物的生命值

    判断:如果你的生命值小于等于0,向控制台换行再输出你被怪物击败了!”,并结束整个循环。

    以上运行结果如:

    1. 向控制台换行再输出如下内容:

    1. 定义一个长度为5的字符串数组变量,用来存你的队友昵称,其中数组第一个值为你的游戏昵称(第3步定义)。
    2. 使用for循环遍历,向控制台输入你四个队友的昵称,并赋值给数组的第2到第5个值,如:

    1. 使用for循环遍历数组,向控制台输出数组中的昵称,如:

    下面是练习的代码案例:

    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Text;
    5. using System.Threading.Tasks;
    6. namespace Test2
    7. {
    8. class Program
    9. {
    10. static void Main(string[] args)
    11. {
    12. //综合练习小游戏
    13. Console.WriteLine("这是学号:xxx,姓名:xxx的C#基础小游戏");
    14. Console.WriteLine();
    15. Console.WriteLine("请输入您的游戏昵称");
    16. string nemo = Console.ReadLine();
    17. Console.WriteLine();
    18. Console.WriteLine("请输入您的性别");
    19. string xb = Console.ReadLine();
    20. int dj = 1;
    21. int hp = 100;
    22. int sh=20;
    23. Console.WriteLine();
    24. Console.WriteLine("以下是您的人物属性");
    25. Console.WriteLine("昵称:"+nemo);
    26. Console.WriteLine("性别"+xb);
    27. Console.WriteLine("等级"+dj);
    28. Console.WriteLine("生命值"+hp);
    29. Console.WriteLine("伤害值"+sh);
    30. bool isRain = true;
    31. if (isRain)
    32. {
    33. Console.WriteLine("你是一个拥有魔法天赋的玩家");
    34. Console.WriteLine("你可以选择修炼一个天赋技能:火焰之力,水之护盾,风之疾行");
    35. Console.WriteLine();
    36. Console.WriteLine("请输入您的选择");
    37. //天赋技能
    38. string tf = Console.ReadLine();
    39. switch (tf)
    40. {
    41. case "火焰之力":
    42. Console.WriteLine();
    43. //现在我的伤害值
    44. sh += 30;
    45. Console.WriteLine("恭喜你,你获得了操控火焰的能力,伤害加成30!");
    46. break;
    47. case "水之护盾":
    48. Console.WriteLine();
    49. sh += 20;
    50. Console.WriteLine("恭喜你,你获得了创建水护盾的能力,伤害加成20");
    51. break;
    52. case "风之疾行":
    53. Console.WriteLine();
    54. sh += 10;
    55. Console.WriteLine("恭喜你,你获得了风之加速的能力,伤害加成10");
    56. break;
    57. default:
    58. {
    59. Console.WriteLine("很遗憾,你没有任何能力,重开吧兄弟!");
    60. break;
    61. }
    62. }
    63. }
    64. Console.WriteLine();
    65. Console.WriteLine("现在有一只怪物出现在你面前!");
    66. int hp1 = 50;//怪物生命值
    67. int sh1 = 1; //怪物伤害
    68. //调用方法
    69. FangFa1(hp,hp1);
    70. Console.WriteLine();
    71. Console.WriteLine("开始进入战斗!");
    72. Console.WriteLine();
    73. //开始打架啦!!!
    74. int i = 1;//攻击次数
    75. while (hp>=0||hp1>=0)
    76. {
    77. //我的攻击
    78. hp1 -= sh;
    79. Console.WriteLine();
    80. Console.WriteLine("你对怪物发起攻击,造成了"+sh+"点伤害");
    81. FangFa1(hp, hp1);
    82. //怪物反击
    83. hp -= sh1;
    84. Console.WriteLine();
    85. Console.WriteLine("怪物对你发起攻击,造成了" + sh1 + "点伤害");
    86. FangFa1(hp, hp1);
    87. if (hp1<=0)
    88. {
    89. Console.WriteLine();
    90. Console.WriteLine("你成功击败了怪物");
    91. break;
    92. }else if (hp<=0)
    93. {
    94. Console.WriteLine();
    95. Console.WriteLine("你被怪物击杀了");
    96. break;
    97. }
    98. i++;
    99. Console.WriteLine("打了" + i + "次");
    100. }
    101. Console.WriteLine();
    102. Console.WriteLine("你走进一个神秘的深林中,发现一座宫殿");
    103. Console.WriteLine("你需要组成一个五人队伍,才能进入宫殿");
    104. Console.WriteLine();
    105. Console.WriteLine("现在开始组队...");
    106. //开始循环
    107. string[] arr =new string[5];
    108. arr[0]=nemo;
    109. for (int j=1;j
    110. {
    111. Console.WriteLine("请输入第" + (j ) + "个队友的昵称:"+arr[j]);
    112. arr[j] = Console.ReadLine();
    113. Console.WriteLine();
    114. }
    115. for (int t=0;t
    116. {
    117. Console.WriteLine("组队成功,你的队伍成员有:"+arr[t]);
    118. }
    119. Console.WriteLine();
    120. Console.WriteLine("现在你们可以一起探索宫殿了...");
    121. Console.WriteLine();
    122. Console.WriteLine("游戏尚未结束,我们的故事未完待续...");
    123. Console.ReadKey();
    124. }
    125. static void FangFa1(int hp,int hp1)
    126. {
    127. Console.WriteLine();
    128. Console.WriteLine("您的生命值:"+hp);
    129. Console.WriteLine("怪物的生命值:"+hp1);
    130. }
    131. }
    132. }

  • 相关阅读:
    Vue 项目开发将数据下载到本地的方法
    SpringAMQP WorkQueue消息队列模型的理解与使用
    申请发明专利的步骤有哪些?
    C# HttpPost WebApi调用
    Leetcode682:棒球比赛
    nginx详细安装教程
    基于深度学习的边缘计算与云计算结合
    无人机--行业生命周期分析
    JavaScript系列之获取变量数据类型
    .net 6 api 修改URL为小写
  • 原文地址:https://blog.csdn.net/2301_76661564/article/details/133438523