我有一个简单的游戏,其中点击移动通过一组图片框的图像为玩家提供一个点,我计划为此添加另一个图像,以便子类在点击时为用户授予不同的点数一个不同的形象。 我想知道如何让派生类继承基类中的变量并更改数值。
以下是我的代码的相关部分:
public class Monster
{
public static int Score = 1;
public Monster()
{
}
}
class Skeleton:Monster
{
public Skeleton()
{
Score = 2;
}
}
public partial class Form1 : Form
{
PictureBox[] boxes;
int initialscore = 0;
public Form1()
{
InitializeComponent();
}
private void boxes_MouseClick(object sender, MouseEventArgs e)
{
for (int x = 0; x < 27; x++)
{
if (sender.Equals(boxes[x]))
{
Image grass = Image.FromFile("swamp.png");
PictureBox temp = (PictureBox)sender;
temp.Image = grass;
}
if (sender.Equals(boxes[x]))
{
PictureBox pb = (PictureBox)sender;
if (pb.Tag == "skeleton.png")
{
addScore(Monster.Score);
}
}
}
label1.Text = " Score: " +initialscore.ToString();
}
public void addScore(int add)
{
initialscore += add;
label1.Text = " Score: " + initialscore.ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
addScore(0);
}
}
我如何让骨架类能够获得与Monster类不同的分数值?是否需要为Form1添加/更改任何其他内容,如果是这样,需要做些什么才能维护工作分数系统?
答案 0 :(得分:0)
这应该可以解决问题:
public class Monster
{
public Monster()
{
this.Score = 1;
}
public int Score
{
get;
set;
}
}
public class Skeleton : Monster
{
public Skeleton()
: base()
{
this.Score = 2;
}
}