第二章综合练习小游戏
练习内容
- 向控制台输出“这是学号+姓名的C#基础小游戏”。
- 向控制台换行再输出“请输入你的游戏昵称:”。
- 向控制台输入你的游戏昵称,赋给一个字符串变量。
- 向控制台换行再输出“请输入你的性别:”。
- 向控制台输入你的性别,赋给一个字符变量。
- 定义三个整型变量,分别表示你的等级、生命值、伤害值,变量值自定。
- 向控制台换行再输出你的人物属性。
- 以上运行结果如:
- 定义一个布尔变量、和一个字符串变量,分别表示你是否有魔法天赋、和你的天赋技能,默认值分别为“true”、“无”。
- 使用if进行判断,如果你有魔法天赋,则:
(1)向控制台换行再输出如下内容:
- 向控制台换行再输出“请输入你的选择:”。
- 向控制台输入你选择的天赋技能,赋给第10步定义的天赋技能变量。
- 使用switch对输入天赋技能进行判断:
- 如果你输入的是火焰之力,则向控制台换行再输出“恭喜你,你获得了操控火焰的能力,伤害加成30!”。
- 如果你输入的是水之护盾,则向控制台换行再输出“恭喜你,你获得了创建水护盾的能力,伤害加成20!”。
- 如果你输入的是风之疾行,则向控制台换行再输出“恭喜你,你获得了风之加速的能力,伤害加成10!”。
- 如果以上都不是,则向控制台换行再输出“很遗憾,你没有任何能力”。
以上运行结果如:
- 向控制台换行再输出“现在,有一只凶恶的怪物出现在你的面前!”。
- 定义两个整型变量,分别表示怪物的生命值和伤害值,变量值自定。
- 声明一个方法,传入两个参数:你的生命值(第6步定义)和怪物的生命值(第13步定义),方法内容为:向控制台换行再输出你的生命值(第6步定义)和怪物的生命值(第13步定义过),声明完成后,调用该方法。
- 向控制台换行再输出“开始进入战斗!”。
以上运行结果如:
- 使用while循环战斗,当你和怪物一个都没死的时候,(即你的生命值大于0且怪物的生命值大于0的时候),循环执行:
- 玩家攻击怪物:
怪物生命值 = 当前生命值 - 你的伤害值
向控制台换行再输出“你对怪物发起攻击,造成了(你的伤害值)点伤害!”
调用第14步定义的方法,输出你的生命值和怪物的生命值
判断:如果怪物生命值小于等于0,向控制台换行再输出“你成功击败了怪物!”,并结束整个循环。
- 怪物反击:
玩家生命值 = 当前生命值 - 怪物的伤害值
向控制台换行再输出“怪物进行反击,对你造成了(怪物的伤害值)点伤害!”
调用第14步定义的方法,输出你的生命值和怪物的生命值
判断:如果你的生命值小于等于0,向控制台换行再输出“你被怪物击败了!”,并结束整个循环。
以上运行结果如:
- 向控制台换行再输出如下内容:
- 定义一个长度为5的字符串数组变量,用来存你的队友昵称,其中数组第一个值为你的游戏昵称(第3步定义)。
- 使用for循环遍历,向控制台输入你四个队友的昵称,并赋值给数组的第2到第5个值,如:
- 使用for循环遍历数组,向控制台输出数组中的昵称,如:
下面是练习的代码案例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Test2
{class Program{static void Main(string[] args){//综合练习小游戏Console.WriteLine("这是学号:xxx,姓名:xxx的C#基础小游戏");Console.WriteLine();Console.WriteLine("请输入您的游戏昵称");string nemo = Console.ReadLine();Console.WriteLine();Console.WriteLine("请输入您的性别");string xb = Console.ReadLine();int dj = 1;int hp = 100;int sh=20;Console.WriteLine();Console.WriteLine("以下是您的人物属性");Console.WriteLine("昵称:"+nemo);Console.WriteLine("性别"+xb);Console.WriteLine("等级"+dj);Console.WriteLine("生命值"+hp);Console.WriteLine("伤害值"+sh);bool isRain = true;if (isRain){Console.WriteLine("你是一个拥有魔法天赋的玩家");Console.WriteLine("你可以选择修炼一个天赋技能:火焰之力,水之护盾,风之疾行");Console.WriteLine();Console.WriteLine("请输入您的选择");//天赋技能string tf = Console.ReadLine();switch (tf){case "火焰之力":Console.WriteLine();//现在我的伤害值sh += 30;Console.WriteLine("恭喜你,你获得了操控火焰的能力,伤害加成30!");break;case "水之护盾":Console.WriteLine();sh += 20;Console.WriteLine("恭喜你,你获得了创建水护盾的能力,伤害加成20");break;case "风之疾行":Console.WriteLine();sh += 10;Console.WriteLine("恭喜你,你获得了风之加速的能力,伤害加成10");break;default:{Console.WriteLine("很遗憾,你没有任何能力,重开吧兄弟!");break;}}}Console.WriteLine();Console.WriteLine("现在有一只怪物出现在你面前!");int hp1 = 50;//怪物生命值int sh1 = 1; //怪物伤害//调用方法FangFa1(hp,hp1);Console.WriteLine();Console.WriteLine("开始进入战斗!");Console.WriteLine();//开始打架啦!!!int i = 1;//攻击次数while (hp>=0||hp1>=0){//我的攻击hp1 -= sh;Console.WriteLine();Console.WriteLine("你对怪物发起攻击,造成了"+sh+"点伤害");FangFa1(hp, hp1);//怪物反击hp -= sh1;Console.WriteLine();Console.WriteLine("怪物对你发起攻击,造成了" + sh1 + "点伤害");FangFa1(hp, hp1);if (hp1<=0){Console.WriteLine();Console.WriteLine("你成功击败了怪物");break;}else if (hp<=0){Console.WriteLine();Console.WriteLine("你被怪物击杀了");break;}i++;Console.WriteLine("打了" + i + "次");}Console.WriteLine();Console.WriteLine("你走进一个神秘的深林中,发现一座宫殿");Console.WriteLine("你需要组成一个五人队伍,才能进入宫殿");Console.WriteLine();Console.WriteLine("现在开始组队...");//开始循环string[] arr =new string[5];arr[0]=nemo;for (int j=1;j<arr.Length;j++){Console.WriteLine("请输入第" + (j ) + "个队友的昵称:"+arr[j]);arr[j] = Console.ReadLine();Console.WriteLine();}for (int t=0;t<arr.Length;t++){Console.WriteLine("组队成功,你的队伍成员有:"+arr[t]);}Console.WriteLine();Console.WriteLine("现在你们可以一起探索宫殿了...");Console.WriteLine();Console.WriteLine("游戏尚未结束,我们的故事未完待续...");Console.ReadKey();}static void FangFa1(int hp,int hp1){Console.WriteLine();Console.WriteLine("您的生命值:"+hp);Console.WriteLine("怪物的生命值:"+hp1);}}
}