c# 判断与循环语句练习,简易文字游戏

c#的循环有四种方式。

for循环

for(创建并初始化循环值;循环条件;改变循环条件的值)

{

      循环体

}

案例:

for(int i=0;i<5;i++)

{
   ;
}

for循环中按照顺序执行,创建值,判断条件 ,更改值,执行循环内容,因此,在第三个值中i++与++i其实表达的内容一模一样。 当语句只有一行的时候,也可以省略花括号,更加简便。

while循环

此循环通过判断while()括号内的条件,返回一个布尔值(true 与false)来执行循环

int a=5 ;
int b=1;

while(b<a)
{


b++;
}

切记在while的循环体内要写跳出循环的方法,来终止括号内的判断条件,否则无法跳出,就成了死循环。

do{

}

whlie();

此循环作中 ,循环体内语句一定会被执行一次。执行完第一次后才会进入判断条件,如果while中值为true,则返回do后的循环体中再一次运行。


int a=1;

do
{

a++;
}
whlie(a>=5);

foreach(数据类型 in 数组    );

{

}

这个循环一般只作于遍历输出数组,

int[] b = new int[]{1,2,3};

foreach(int a  in b  )
{
    Console.WriteLine(a);
}

foreach中,先创建一个用于存储的类型,in后是要进行遍历的数组(从b[0]开始,到b数组的所有数都被输出后,遍历结束)。

最后就是放出文本游戏代码了,利用判断与循环完成的简单文本。选择宝可梦与小智战斗,输入数字键位来获得技能。敌人会根据生成的随机数来选择技能反击。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            int a;
            string c;
            string b = "  000\n 00000\n  000    ";
            string d;//名字

            string jineng="喷射火焰",jineng1="藤鞭",jineng2 ="撞击",jineng3="十万伏特",jineng4="水溅跃",jineng5="断崖之剑",jineng6 = "画龙点睛";
            string[] ji = new string[] { "喷射火焰", "藤鞭" , "撞击", "十万伏特", "水溅跃" , "断崖之剑" , "画龙点睛" };  //我方技能库
            string[] ji1 = new string[] {"",jineng2,jineng3 };  //敌人技能库

            Console.WriteLine("选择你的宝可梦");
            for (int i = 1; i <=3; i++)
                Console.WriteLine("\n"+b+"\t"+i);
            c = Console.ReadLine();
          a = Convert.ToInt32(c); 
            string a1= "小火龙", a2 = "鲤鱼王", a3 = "妙蛙种子", a4 = "皮卡丘";
            switch (a)
            {
                case 1:
                    Console.WriteLine("你选择了小火龙");
                    d = a1;
                    break;
                case 2:
                    Console.WriteLine("你选择了鲤鱼王");
                    d = a2;
                    break;
                      
                case 3:
                    Console.WriteLine("你选择了妙蛙种子");
                    d = a3;
                    break;
                default:
                    Console.WriteLine("选都能选歪来,给你个皮卡丘吧");
                    d = a4;
                    break;

            }

            Console.WriteLine("开始进入战斗了,你选择的是"+d);
                    Console.WriteLine("你的对手是来自真新镇的小智,他使用的宝可梦是皮卡丘");

                    int h=50,h1=h;
               //h为对方的hp
                    string b1 = "  000\n 00000\n  000  \t假装是皮卡丘  "+"当前血量为"+h;

                    string b2 = "000\n 00000\n  000  \t假装是" + d + "当前血量为" + h1;

                    Console.WriteLine(b1);

                    Console.WriteLine("放出你的宝可梦"+"\n"+b2 );
            Console.WriteLine("使用你的技能(输入1~2)");
            int j;
            c = Console.ReadLine();
            j = Convert.ToInt32(c);

         
            if(h1>0)
            { 
           
           
                int n = 0;

                while (n==0&&h1>0)
                {
                 
                  

                    switch (j)
                    {
                        case 1:
                            if (d == a1)
                            {
                                Console.WriteLine(d + "使用了" + ji[0]);
                                h -= 15;
                                Console.WriteLine("效果一般,造成了15点伤害,目标剩余血量" + h);
                            }
                            else if(d==a2)
                            {
                                Console.WriteLine(d + "使用了" + ji[4]);
                                Console.WriteLine("然鹅无事发生,目标剩余血量" + h);
                              
                            }
                           else if (d == a3)
                            {
                                Console.WriteLine(d + "使用了" + ji[1]);
                                Console.WriteLine("效果一般,造成了15点伤害,目标剩余血量" + h);
                                h -= 15;
                            }
                           else if (d == a4)
                            {
                                Console.WriteLine(d + "使用了" + ji[3]);
                                Console.WriteLine("效果一般,造成了15点伤害,目标剩余血量" + h);
                                h -= 15;
                            }
                            break;
                    
                          

                        case 2:
                            Console.WriteLine(d + "使用了" + ji[2]);
                            h -= 16;
                            Console.WriteLine("效果一般,造成了16点伤害,目标剩余血量" + h);

                            break;
                        default:
                    
                            if (d == a2)
                            {
                         



                                Random rd2 = new Random();

                                int rd3 = rd2.Next(1, 4);
                                if (rd3 == 2)
                                {
                                    Console.WriteLine(d + "妄图挑战规则,他打算进化了" + ji[6] + "成功了!!!");

                                    Console.WriteLine(d + "进化成了暴鲤龙,使用了" + ji[6]);
                                    h -= 9999;
                                    Console.WriteLine("效果拔群,造成了9999点伤害,目标剩余血量" + h);
                                }
                                else
                                {
                                    Console.WriteLine(d + "妄图挑战规则,他打算进化了" + ji[5] + "很可惜失败了...");

                                }
                            }
                            else 
                            {
                                Random rd2 = new Random();

                                int rd3 = rd2.Next(1, 5);
                                if (rd3 == 2)
                                {
                                    Console.WriteLine(d + "妄图挑战规则,他打算使出" + ji[5] + "成功了!!!");

                                    Console.WriteLine(d + "使用了" + ji[5]);
                                    h -= 40;
                                    Console.WriteLine("效果绝佳,造成了40点伤害,目标剩余血量" + h);
                                }
                                else
                                {
                                    Console.WriteLine(d + "妄图挑战规则,他打算使出" + ji[5] + "很可惜失败了...");

                                }


                            }
                            break;

                    }
                    if (h <= 0)
                    {
                        Console.WriteLine("战斗胜利!");
                        break;
                    }

                   
                    Random rd = new Random();
                         
                    int rd1 = rd.Next(1, 3); 
                    Console.WriteLine("小智的皮卡丘使用了"+ ji1[rd1]);
                    if (rd1==1)
                    {

                        h1 -= 20;

                      
                    }
                   else if (rd1 == 2)
                    {

                        h1 -= 10;
                      
                    }
                    Console.WriteLine("你剩余血量为" + h1);

                    if (h1 <= 0)
                    {
                        Console.WriteLine("战斗结束,你失败了!");
                        break;
                    }
                    Console.WriteLine("使用你的技能(输入1~2)");
                    c = Console.ReadLine();
                   
                    j = Convert.ToInt32(c);
                }
                

            }
            Console.ReadLine();
        }




       
        }
    }

上一篇:4.1 js小练习题javascript 今日小练习


下一篇:Leetcode 969 煎饼排序 (C++题解)