实现相同功能的两个方法 优缺不言而喻
2012-07-31 12:12
246 查看
// 两个footman 相互你一下我一下的对方lift为零者 输
public void Fight(Footman a, Footman b)
{
int a_p = 0;
int b_p = 0;
Random rd = new Random();
Console.WriteLine("比赛开始:");
Console.WriteLine("{0}的生命值为{1},攻击力下限为{2},上限为{3}", a.Name, a.Life, a.AttackLow, a.AttackHigh);
Console.WriteLine("{0}的生命值为{1},攻击力下限为{2},上限为{3}", b.Name, b.Life, b.AttackLow, b.AttackHigh);
while (true)
{
a_p = rd.Next(a.AttackHigh- a.AttackLow+1)+a.AttackLow;
b.Life -= a_p;
Console.WriteLine("{0}以{1}的攻击力打了{2}", a.Name, a_p, b.Name);
if (b.Life <= 0)
{
Console.WriteLine("The winner is {0}",a.Name);
break;
}
// Console.WriteLine("{0}以{1}的攻击力打了{3}", a.Name, a_p, b.Name);
b_p = rd.Next(b.AttackHigh-b.AttackLow+1)+b.AttackLow;
a.Life -= b_p;
Console.WriteLine("{0}以{1}的攻击力打了{2}", b.Name, b_p, a.Name);
if (a.Life <= 0)
{
Console.WriteLine("The winner is {0}",b.Name);
break;
}
//Console.WriteLine("{0}以{1}的攻击力打了{3}", b.Name, b_p, a.Name);
}
。。。。。。。。。。。。。。。。
public void Fight1(Footman a, Footman b)
{
Random rd = new Random();
Footman battle = a;
Footman define = b;
while (battle.Life > 0 && define.Life > 0)
{
int power = rd.Next(battle.AttackHigh - battle.AttackLow + 1) + battle.AttackLow;
define.Life -= power;
Console.WriteLine("{0}攻击了{1},造成{2}的伤害",battle.Name,define.Name,power);
Footman tmp = battle;
battle = define;
define = tmp;
}
if (a.Life <= 0)
{
Console.WriteLine("{0}挂了",a.Name );
}
if (b.Life <= 0)
{
Console.WriteLine("{0}挂了", b.Name);
}
}
public void Fight(Footman a, Footman b)
{
int a_p = 0;
int b_p = 0;
Random rd = new Random();
Console.WriteLine("比赛开始:");
Console.WriteLine("{0}的生命值为{1},攻击力下限为{2},上限为{3}", a.Name, a.Life, a.AttackLow, a.AttackHigh);
Console.WriteLine("{0}的生命值为{1},攻击力下限为{2},上限为{3}", b.Name, b.Life, b.AttackLow, b.AttackHigh);
while (true)
{
a_p = rd.Next(a.AttackHigh- a.AttackLow+1)+a.AttackLow;
b.Life -= a_p;
Console.WriteLine("{0}以{1}的攻击力打了{2}", a.Name, a_p, b.Name);
if (b.Life <= 0)
{
Console.WriteLine("The winner is {0}",a.Name);
break;
}
// Console.WriteLine("{0}以{1}的攻击力打了{3}", a.Name, a_p, b.Name);
b_p = rd.Next(b.AttackHigh-b.AttackLow+1)+b.AttackLow;
a.Life -= b_p;
Console.WriteLine("{0}以{1}的攻击力打了{2}", b.Name, b_p, a.Name);
if (a.Life <= 0)
{
Console.WriteLine("The winner is {0}",b.Name);
break;
}
//Console.WriteLine("{0}以{1}的攻击力打了{3}", b.Name, b_p, a.Name);
}
。。。。。。。。。。。。。。。。
public void Fight1(Footman a, Footman b)
{
Random rd = new Random();
Footman battle = a;
Footman define = b;
while (battle.Life > 0 && define.Life > 0)
{
int power = rd.Next(battle.AttackHigh - battle.AttackLow + 1) + battle.AttackLow;
define.Life -= power;
Console.WriteLine("{0}攻击了{1},造成{2}的伤害",battle.Name,define.Name,power);
Footman tmp = battle;
battle = define;
define = tmp;
}
if (a.Life <= 0)
{
Console.WriteLine("{0}挂了",a.Name );
}
if (b.Life <= 0)
{
Console.WriteLine("{0}挂了", b.Name);
}
}
相关文章推荐
- JS实现快速比较两个字符串中包含有相同数字的方法
- Java编程实现比对两个文本文件并标记相同与不同之处的方法
- python实现查找两个字符串中相同字符并输出的方法
- Extjs4实现两个GridPanel之间数据拖拽功能具体方法
- PHP使用两个栈实现队列功能的方法
- Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
- python实现查找两个字符串中相同字符并输出的方法
- YIi2.0 中有没有一个方法是跟TP框架里的setInc和setDec相同的功能,实现 加 减
- 在11g中使用ASM功能实现两个存储做镜像的方法
- 由于设计页面需要,要把两个并排显示的 div 实现一样高的效果, n 行 n 列布局,每列高度(事先并不能确定哪列的高度)相同,每个设计师追求的目标。方法有以下几种: 1 JS 实现(判断 2 个 d
- 缓慢画点功能实现的两个方法
- Extjs4实现两个GridPanel之间数据拖拽功能具体方法
- 一个类有两个类别中,在类别里实现了相同的方法结果?
- 如何实现两个接口中的两个名称相同的方法?
- Android简单的实现音乐播放器功能(一个按钮可相应两个事件的方法)
- 在11g中使用ASM功能实现两个存储做镜像的方法
- Java类实现含有相同方法签名的两个接口
- Java中一个类怎么实现两个接口中相同名字的抽象方法
- 模拟点击的方法实现视频监控功能(完整版)
- iOS 混合应用的关键点分析 - 仿 Android 平台 WebView 可注入本地对象方法的功能实现要点