戰士類代碼:dom
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; }