我正在尝试在游戏中取得高分。因此,如果游戏正在运行并且最高分数最初为0。在游戏结束(20秒)之后,最高分数应该查看分数是否更高,是否应该更新分数并将此信息提供给其他形式,可悲的是,给我最高分0。尽管如此,我还是应该推迟一些更新最高分的过程
那是我的第一个表格1:
private void button1_Click(object sender, EventArgs e)
{
if (numberE < 5)
{
swi = 0;
Füttern f = new Füttern();
f.Show();
this.Hide();
timer9.Start();
label6.Text = (++numberE).ToString();
tim = 1;
label1.Text = f.Highsco.ToString();
}
}
然后就是带有分数和高分的表格:
int Zeit = 20;
int Punkte = 0;
private int Highsc = 10;
public int Highsco
{
get { return Highsc;}
set { Highsc = value;}
}
private void button1_KeyDown(object sender, KeyEventArgs e)
{
int x = dog.Location.X;
if (e.KeyCode == Keys.D) x = 712;
else if (e.KeyCode == Keys.A) x = 65;
else if (e.KeyCode == Keys.S) x = 350;
dog.Location = new Point(x, 420);
}
Random r = new Random();
private void timer1_Tick(object sender, EventArgs e)
{
Burger.Visible = true;
int random = r.Next(1, 4);
int c = Burger.Location.X;
if (random == 1) c = 65;
else if (random == 2) c = 712;
else if (random == 3) c = 350;
Burger.Location = new Point(c, 0);
}
private void timer2_Tick(object sender, EventArgs e)
{
int y = Burger.Location.Y +40;
if (Burger.Location.X == 65) Burger.Location = new Point(65, y);
else if (Burger.Location.X == 350) Burger.Location = new Point(350, y);
else if (Burger.Location.X == 712) Burger.Location = new Point(712, y);
if (dog.Location.X == Burger.Location.X && dog.Location.Y == Burger.Location.Y - 20)
{
Punkte = Punkte + 1;
label1.Text = Highsc.ToString();
if(Punkte> Highsc)
{
Highsc = Punkte;
}
Burger.Visible = false;
}
}
private void timer3_Tick(object sender, EventArgs e)
{
if (Zeit > 0)
label2.Text = (--Zeit).ToString();
else
{
this.Close();
MessageBox.Show("Du hast " + Punkte + " erreicht!");
}
}
}
}
那么我该如何管理Highscore确定Highscore?