战士类代码:

class Fight
{
String name;
int attack, speed, crit, armor;// 生命、攻击力,攻速,暴击,护甲
public int life;
public Form1 main_Form;
public void set_MainForm(Form1 x)
{
main_Form = x;
} public void set_Fight(String a, int a1, int a2, int a3, int a4, int a5)//可改为构造函数
{
name = a;
life = a1;
attack = a2;
speed = a3;
crit = a4;
armor = a5;
} public void attack_Sb(Fight x)
{
int send_attack;
Random r1 = new Random();
if (r1.Next(100) <= crit)
{
send_attack = attack * speed * 2;
}
else
{
send_attack = attack * speed;
}
main_Form.set_Text(name + "发出攻击:" + send_attack);
x.be_Attack(send_attack);
} public void be_Attack(int x)
{
life = (int)(life - x * 100.0 / (100 + armor));
show_Me();
}
void show_Me()
{
main_Form.set_Text(name + ",life:" + life);
}
}

  窗体调用代码:

private void button1_Click(object sender, EventArgs e)
{
Fight shoot, soldier;
shoot = new Fight();
soldier = new Fight();
shoot.set_MainForm(this);
soldier.set_MainForm(this);
shoot.set_Fight("射手", 300, 75, 2, 10, 30);
soldier.set_Fight("战士", 500, 90, 1, 20, 45);
textBox1.Text = "";
while (true)
{
shoot.attack_Sb(soldier);
if (soldier.life <= 0)
{
break;
}
soldier.attack_Sb(shoot);
if (shoot.life <= 0)
{
break;
}
set_Text("------------");
}
}
public void set_Text(string s)
{
textBox1.Text += "\r\n" + s;
}

  

类例程_c#战斗程序(窗体版)的更多相关文章

  1. 类例程_java战斗程序

    代码如下: package t11; import java.util.Random; public class Fight { String name; int life, attack, spee ...

  2. C#通过WIN32 API实现嵌入程序窗体

    本文实例讲述了C#通过WIN32 API实现嵌入程序窗体的方法,分享给大家供大家参考.具体如下: 这是一个不使用COM,而是通过WIN32 API实现的示例, 它把写字板程序嵌在了自己的一个面板中. ...

  3. Android应用程序窗体设计框架介绍

    在Android系统中,一个Activity相应一个应用程序窗体.不论什么一个Activity的启动都是由AMS服务和应用程序进程相互配合来完毕的.AMS服务统一调度系统中全部进程的Activity启 ...

  4. Android应用程序窗体View的创建过程

    View类是android中非常重要的一个类.view是应用程序界面的直观体现,我们看到的应用程序界面就能够看作是View(视图)组成的. 那么我们应用程序的界面是怎么创建的呢,也就是应用程序的Vie ...

  5. J2msi 自己制作的把exe打成安装包简易GUI程序(第二版 带DLL注册)

    J2msi 自己制作的把exe打成安装包简易GUI程序(第二版 带DLL注册) 之前那一版本(http://www.cnblogs.com/rojas/p/4794684.html)没考虑 DLL 注 ...

  6. chrome常用扩展程序汇总(程序员版)

    chrome常用扩展程序之程序员版 1.chrome扩展程序 Chrome插件是一个由Web技术开发.用来增强浏览器功能的小程序,其实就是一个由HTML.CSS.JS.图片等静态资源组成的一个.crx ...

  7. 数独求解程序 php版

    数独求解程序 php版 <?php class Sudoku { var $matrix; function __construct($arr = null) { if ($arr == nul ...

  8. 微信小程序横版日历,tab栏

    代码地址如下:http://www.demodashi.com/demo/14243.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...

  9. ROS Learning-015 learning_tf(编程) 编写一个监听器程序 (Python版)

    ROS Indigo learning_tf-02 编写一个 监听器 程序 (Python版) 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 1 ...

随机推荐

  1. Jmeter(四十四)启动提示 Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.

    有已知的已知:有些事情我们自己知道自己知道: 我们也知道有已知的未知:这是指我们知道有些事情自己不知道: 但是还有未知的未知:有些事情我们不知道自己不知道:   ---美国国防部长 唐纳德·拉姆斯菲尔 ...

  2. 【Servlet】Servlet的配置

    创建时间:6.15 Servlet的配置 1. 基本配置 其中url-pattern的配置方式: 1)完全匹配 访问的资源与配置的资源完全相同才能访问到 2)目录匹配 格式:/虚拟的目录../*   ...

  3. node 淘宝镜像

    永久使用 打开终端执行 npm config set registry https://registry.npm.taobao.org 临时使用 npm --registry https://regi ...

  4. LOJ 3160: 「NOI2019」斗主地

    题目传送门:LOJ #3160. 简要题意: 有一个长度为 \(n\) 的序列 \(a\),初始时 \(a_i=i\) 或 \(a_i=i^2\),这取决于 \(\mathrm{type}\) 的值. ...

  5. Consul 学习资料

    资料 网址 Consul 入门指南 https://book-consul-guide.vnzmi.com/

  6. 解决opencart设置SSL后评论不能翻页的问题

    为了网站的安全和seo,我们为客户的opencart网站添加了SSL加密实现https,并设置了301跳转使http跳到https,基本所有的功能都完好,就是有一点评论分页无法加载分页,去分析了链接源 ...

  7. Linux 命令 mv

    mv 命令 --no-target-directory 参数确保对目录进行重命名而不是移动 https://www.gnu.org/software/coreutils/manual/html_nod ...

  8. 使用 Docker-Compose 编排容器

    我们知道使用一个 Dockerfile 模板文件可以定义一个单独的应用容器,如果需要定义多个容器就需要服务编排.服务编排有很多种技术方案,今天给大家介绍 Docker 官方产品 Docker Comp ...

  9. 防御流类型的xss攻击

    1.建立一个工具类 package im.lsn.oss.exhibition.utils; import org.apache.commons.lang3.StringUtils; import j ...

  10. 【java异常】Parsing error was found in mapping #{}. Check syntax #{property|(expression), var1=value1, var2=val

    在增删改查的过程中有一个#{ }没有填写