对战小游戏

我们先封装一个叫做战士的类

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

namespace 对战游戏
{
public class Soldier
{
//名字,生命值,攻击力,招式

private string _Name;

public string Name
{
get { return _Name; }
set { _Name = value; }
}

private int _Blood;

public int Blood
{
get { return _Blood; }
set { _Blood = value; }
}

private int _gongji;

public int Gongji
{
get { return _gongji; }
set { _gongji = value; }
}

private zhaoshi xiaozhao;

public zhaoshi Xiaozhao
{
get { return xiaozhao; }
set { xiaozhao = value; }
}


private zhaoshi dazhao;

public zhaoshi Dazhao
{
get { return dazhao; }
set { dazhao = value; }
}

private int _Miss;

public int Miss
{
get { return _Miss; }
set { _Miss = value; }
}

 


}
}

然后我们在封装一个招式的类

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

namespace 对战游戏
{
public class zhaoshi
{
private string _Name;

/// <summary>
/// 招式名称
/// </summary>
public string Name
{
get { return _Name; }
set { _Name = value; }
}

private int _gongji;

/// <summary>
/// 招式攻击
/// </summary>
public int Gongji
{
get { return _gongji; }
set { _gongji = value; }
}


}
}

最后我们游戏主页开始

编写游戏

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

namespace 对战游戏
{
class Program
{
static void Main(string[] args)
{
Random r = new Random();

//战士,名字,生命值,攻击力,招式

Soldier s1 = new Soldier();
Console.Write("请输入第一个拳皇的名称:");
s1.Name = Console.ReadLine();
s1.Gongji = r.Next(10, 101);
s1.Blood = r.Next(1000, 2001);
zhaoshi z1 = new zhaoshi();
Console.Write("请输入小招名称:");
z1.Name = Console.ReadLine();
z1.Gongji = r.Next(100, 201);
s1.Xiaozhao = z1;
zhaoshi z2 = new zhaoshi();
Console.Write("请输入大招名称:");
z2.Name = Console.ReadLine();
z2.Gongji = r.Next(300, 501);
s1.Dazhao = z2;

s1.Miss = r.Next(0, 31);


Soldier s2 = new Soldier();
Console.Write("请输入第二个拳皇战士的名称:");
s2.Name = Console.ReadLine();
s2.Gongji = r.Next(10, 101);
s2.Blood = r.Next(1000, 2001);
zhaoshi z3 = new zhaoshi();
Console.Write("请输入小招名称:");
z3.Name = Console.ReadLine();
z3.Gongji = r.Next(100, 201);
s2.Xiaozhao = z3;
zhaoshi z4 = new zhaoshi();
Console.Write("请输入大招名称:");
z4.Name = Console.ReadLine();
z4.Gongji = r.Next(300, 501);
s2.Dazhao = z4;

s2.Miss = r.Next(0, 31);

Console.WriteLine("*******************************战士信息榜*******************************");
Console.WriteLine("战士1:" + s1.Name + ",攻击:" + s1.Gongji + ",闪避:" + s1.Miss + ",血量:" + s1.Blood + ",小招:" + s1.Xiaozhao.Name + "," + s1.Xiaozhao.Gongji + ",大招:" + s1.Dazhao.Name + "," + s1.Dazhao.Gongji);
Console.WriteLine("战士2:" + s2.Name + ",攻击:" + s2.Gongji + ",闪避:" + s2.Miss + ",血量:" + s2.Blood + ",小招:" + s2.Xiaozhao.Name + "," + s2.Xiaozhao.Gongji + ",大招:" + s2.Dazhao.Name + "," + s2.Dazhao.Gongji);
Console.WriteLine("按下任意键开始战斗!!!");
Console.ReadKey();

//循环战斗,战个痛快(不死不休)

int count = 1;
while (true)
{
Console.WriteLine("*******************************第" + count + "回合*******************************");
System.Threading.Thread.Sleep(1500);

if (r.Next(0, 101) < s2.Miss)
{
Console.WriteLine(s2.Name + "躲避了此次攻击!!!");
}
else
{
int ss1 = r.Next(0, 100);

if (ss1 > 95)//开大招
{
Console.ForegroundColor = ConsoleColor.Blue;

Console.WriteLine("【" + s1.Name + "】对【" + s2.Name + "】释放了☆☆☆☆☆" + s1.Dazhao.Name + "☆☆☆☆☆,造成" + s1.Dazhao.Gongji + "点伤害,【" + s2.Name + "】剩余" + (s2.Blood - s1.Dazhao.Gongji) + "点血量");
Console.WriteLine();
//S2扣血
s2.Blood -= s1.Dazhao.Gongji;
}
else if (ss1 >= 80 && ss1 <= 95)//开小招
{
Console.ForegroundColor = ConsoleColor.Green;

Console.WriteLine("【" + s1.Name + "】对【" + s2.Name + "】释放了☆☆" + s1.Xiaozhao.Name + "☆☆,造成" + s1.Xiaozhao.Gongji + "点伤害,【" + s2.Name + "】剩余" + (s2.Blood - s1.Xiaozhao.Gongji) + "点血量");
Console.WriteLine();
//S2扣血
s2.Blood -= s1.Xiaozhao.Gongji;
}
else//普通攻击
{
Console.ForegroundColor = ConsoleColor.White;

Console.WriteLine("【" + s1.Name + "】攻击了【" + s2.Name + "】,造成" + s1.Gongji + "点伤害,【" + s2.Name + "】剩余" + (s2.Blood - s1.Gongji) + "点血量");
Console.WriteLine();
//S2扣血
s2.Blood -= s1.Gongji;
}

//判断战士2是否阵亡
if (s2.Blood <= 0)
{
Console.WriteLine("【" + s2.Name + "】已over【" + s1.Name + "】fight!!!");
break;
}
}
//战士2开始攻击

System.Threading.Thread.Sleep(1500);
if (r.Next(0, 101) < s1.Miss)
{
Console.WriteLine(s1.Name + "躲避了此次攻击!!!");
}
else
{
int ss2 = r.Next(0, 100);

if (ss2 > 95)//开大招
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("【" + s2.Name + "】对【" + s1.Name + "】释放了☆☆☆☆☆" + s2.Dazhao.Name + "☆☆☆☆☆,造成" + s2.Dazhao.Gongji + "点伤害,【" + s1.Name + "】剩余" + (s1.Blood - s2.Dazhao.Gongji) + "点血量");
Console.WriteLine();
//S1扣血
s1.Blood -= s2.Dazhao.Gongji;
}
else if (ss2 >= 80 && ss2 <= 95)//开小招
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("【" + s2.Name + "】对【" + s1.Name + "】释放了☆☆" + s2.Xiaozhao.Name + "☆☆,造成" + s2.Xiaozhao.Gongji + "点伤害,【" + s1.Name + "】剩余" + (s1.Blood - s2.Xiaozhao.Gongji) + "点血量");
Console.WriteLine();
//S1扣血
s1.Blood -= s2.Xiaozhao.Gongji;
}
else//普通攻击
{
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("【" + s2.Name + "】攻击了【" + s1.Name + "】,造成" + s2.Gongji + "点伤害,【" + s1.Name + "】剩余" + (s1.Blood - s2.Gongji) + "点血量");
Console.WriteLine();
//S1扣血
s1.Blood -= s2.Gongji;
}

//判断战士2是否阵亡
if (s1.Blood <= 0)
{
Console.WriteLine("【" + s1.Name + "】已over【" + s2.Name + "】fight");
break;
}
}

count++;
}

Console.ReadKey();
}
}
}

posted @ 2016-11-26 23:15  吴皓杰  阅读(233)  评论(0编辑  收藏  举报