Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.78 KB | None | 0 0
  1. private bool ergebnisValidierung()
  2.         {
  3.             // Zeilen vom Spielfeld durchgehen und in Bloecke unterteilen
  4.             // Jede Zeile hat eine Liste an Bloecken. Gespeichert wird die Groeße der Bloecke
  5.             List<int>[] zeilenBloecke = new List<int>[spielfeldY];
  6.             for (int x = 0; x < spielfeldX; x++)
  7.             {
  8.                 zeilenBloecke[x] = new List<int>();
  9.  
  10.                 for (int y = 0; y < spielfeldY; y++)
  11.                 {
  12.                     if (spielfeldPanelArray[x, y].BackColor == Color.Black)
  13.                     {
  14.                         // Ueberprufen, ob es an einen Block angehaengt wird oder ein neuer Block erstellt wird
  15.                         if (y - 1 >= 0 && spielfeldPanelArray[x, y - 1].BackColor == Color.Black)
  16.                         {
  17.                             //MessageBox.Show("block von " + zeilenBloecke[x][zeilenBloecke[x].Count - 1] + " auf " + (zeilenBloecke[x][zeilenBloecke[x].Count - 1] + 1) + "erhoehen.");
  18.                             // An den letzten Block in der Liste anhaengen
  19.                             zeilenBloecke[x][zeilenBloecke[x].Count - 1]++;
  20.                         }
  21.                         else
  22.                         {
  23.                             // Neuen Block hinzufuegen
  24.                             zeilenBloecke[x].Add(1);
  25.                             MessageBox.Show("neuen block hinzufügen x:" + x + " y:" + y);
  26.                         }
  27.                     }
  28.                 }
  29.             }
  30.  
  31.             // Ueberpruefen, ob die Groeßen der Bloecke mit den Vorderungen uebereinstimmen
  32.             // hier ist x und y vertauscht
  33.             for (int y = 0; y < zahlenZeilePanelArray.GetLength(1); y++)
  34.             {
  35.                 int indexBlock = 0;
  36.                 MessageBox.Show("x" + y + " " + zeilenBloecke[y].Count);
  37.                 for (int x = 0; x < zahlenZeilePanelArray.GetLength(0); x++)
  38.                 {
  39.                     int zahl = int.Parse(((Label)zahlenZeilePanelArray[x, y].Controls[0]).Text);
  40.                     if (zahl == 0)
  41.                     {
  42.                         continue;
  43.                     }
  44.  
  45.                     if (zeilenBloecke[y].Count == 0)
  46.                     {
  47.                         return false;
  48.                     }
  49.                     //MessageBox.Show("index: " + indexBlock + " y: " + y + " anzahl blocke " + zeilenBloecke[y].Count);
  50.                     int blockgroesse = zeilenBloecke[y][indexBlock];
  51.                     //MessageBox.Show("index: " + indexBlock + "  groesseblock " + blockgroesse);
  52.                     if (zahl != blockgroesse)
  53.                     {
  54.                         return false;
  55.                     }
  56.  
  57.                     indexBlock++;
  58.                 }
  59.             }
  60.  
  61.             return true;
  62.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement