2017-01-27 40 views
1

因此,我正在製作某種遊戲,其中立方體出現,它們掉下來,你壓在它們上面,然後出現在它們出現之前的位置,分數越高,立方體下降得越快。如果所有的立方體都不在表格中,我該如何檢查?我試圖使一個布爾值,但它似乎沒有工作,這裏的代碼:如何檢查數組中的所有標籤是否都失去形狀?

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!"); 
     } 
    } 
} 
+2

「我如何檢查,如果所有的立方體都出了形式?」那有什麼意思?你能否讓你的問題更清楚? –

+0

我已標記winforms。當你試圖用winform創建一個表單時。我已經提到立方體下降,他們走出了形式,所以這意味着他們的位置比你看不到的位置要低。 – ewn

回答

2

要檢查標籤X位置到窗體Y位置

試圖改變

(kubeliai => kubeliai.Left >= this.Height == true); 

(kubeliai => kubeliai.Top >= this.Height); 
+0

ty,我剛剛意識到我是多麼愚蠢:D – ewn

+0

每當我看到這個時,我都會傷害我的眼睛:(kubeliai => kubeliai.Top> = this.Height == true);不需要添加「==真」。這是一個布爾表達式。 –

+0

謝謝,我有點新的編程,目前正在做一個課程,謝謝反正 – ewn

相關問題