因此,我正在製作某種遊戲,其中立方體出現,它們掉下來,你壓在它們上面,然後出現在它們出現之前的位置,分數越高,立方體下降得越快。如果所有的立方體都不在表格中,我該如何檢查?我試圖使一個布爾值,但它似乎沒有工作,這裏的代碼:如何檢查數組中的所有標籤是否都失去形狀?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Label [] kubeliai = new Label [5];
Random pos = new Random();
int poz = 100;
Timer kritimo_laikrodis = new Timer();
int kritimo_greitis = 1;
int paspaudimu_skaicius = 0;
int kritimo_didinimas = 0;
Label paspaudimai = new Label();
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < kubeliai.Length; i++)
{
kubeliai[i] = new Label();
Controls.Add(kubeliai[i]);
kubeliai[i].Top = 50;
kubeliai[i].Left = poz;
poz += pos.Next(50, 200);
kubeliai[i].BackColor = Color.Red;
kubeliai[i].Height = 20;
kubeliai[i].Width = 20;
kubeliai[i].Click += new EventHandler(kubelio_clickas);
}
Controls.Add(paspaudimai);
paspaudimai.Left = 850;
paspaudimai.Top = 30;
paspaudimai.Font = new Font("Microsoft Sans Serif", 14);
paspaudimai.Text = "Taskai : 0";
kritimo_laikrodis.Interval = 50;
kritimo_laikrodis.Tick += new EventHandler(laikrodis);
kritimo_laikrodis.Enabled = true;
}
void kubelio_clickas (object sender, EventArgs e)
{
((Label)sender).Top = 50;
paspaudimu_skaicius += 1;
kritimo_didinimas += 1;
if (kritimo_didinimas == 5)
{
kritimo_didinimas = 0;
kritimo_greitis += 1;
}
paspaudimai.Text = string.Format("Taskai: {0}", paspaudimu_skaicius);
}
void laikrodis (object sender, EventArgs e)
{
for (int i = 0; i < kubeliai.Length; i++)
{
kubeliai[i].Top += kritimo_greitis;
}
bool visi_iskrito_is_zaidimo_lauko = kubeliai.All(kubeliai => kubeliai.Left >= this.Height == true);
if (visi_iskrito_is_zaidimo_lauko)
{
MessageBox.Show("YOU LOST!", "LOSER!");
}
}
}
「我如何檢查,如果所有的立方體都出了形式?」那有什麼意思?你能否讓你的問題更清楚? –
我已標記winforms。當你試圖用winform創建一個表單時。我已經提到立方體下降,他們走出了形式,所以這意味着他們的位置比你看不到的位置要低。 – ewn