iliya87

Tetris

Mar 23rd, 2015
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.39 KB | None | 0 0
  1. using System;
  2.  
  3. class Tetris
  4. {
  5.     static void Main(string[] args)
  6.     {
  7.         //take the input
  8.         string[] matrixSize = Console.ReadLine().Split();
  9.         int matrixRows = int.Parse(matrixSize[0]);
  10.         int matrixCols = int.Parse(matrixSize[1]);
  11.         string[] inputLines = new string[matrixRows];
  12.         for (int i = 0; i < matrixRows; i++)
  13.         {
  14.             inputLines[i] = Console.ReadLine();
  15.         }
  16.  
  17.         //fill the matrix
  18.         char[,] gameField = new char[matrixRows, matrixCols];
  19.         for (int row = 0; row < matrixRows; row++)
  20.         {
  21.             for (int col = 0; col < matrixCols; col++)
  22.             {
  23.                 string currerntLine = inputLines[row];
  24.                 gameField[row, col] = currerntLine[col];
  25.             }
  26.         }
  27.  
  28.         //count the 'I'
  29.         int countI = 0;
  30.         for (int row = 0; row < matrixRows - 3; row++)
  31.         {
  32.             for (int col = 0; col < matrixCols; col++)
  33.             {
  34.                 if (gameField[row, col] == 'o' &&
  35.                     gameField[row, col] == gameField[row + 1, col] &&
  36.                     gameField[row, col] == gameField[row + 2, col] &&
  37.                     gameField[row, col] == gameField[row + 3, col])
  38.                 {
  39.                     countI++;
  40.                 }
  41.             }
  42.         }
  43.         //count the 'L'
  44.         int countL = 0;
  45.         for (int row = 0; row < matrixRows - 2; row++)
  46.         {
  47.             for (int col = 0; col < matrixCols - 1; col++)
  48.             {
  49.                 if (gameField[row, col] == 'o' &&
  50.                     gameField[row, col] == gameField[row + 1, col] &&
  51.                     gameField[row, col] == gameField[row + 2, col] &&
  52.                     gameField[row, col] == gameField[row + 2, col + 1])
  53.                 {
  54.                     countL++;
  55.                 }
  56.             }
  57.         }
  58.         //count the 'J'
  59.         int countJ = 0;
  60.         for (int row = 0; row < matrixRows - 2; row++)
  61.         {
  62.             for (int col = 1; col < matrixCols; col++)
  63.             {
  64.                 if (gameField[row, col] == 'o' &&
  65.                     gameField[row, col] == gameField[row + 1, col] &&
  66.                     gameField[row, col] == gameField[row + 2, col] &&
  67.                     gameField[row, col] == gameField[row + 2, col - 1])
  68.                 {
  69.                     countJ++;
  70.                 }
  71.             }
  72.         }
  73.         //count the 'O'
  74.         int countO = 0;
  75.         for (int row = 0; row < matrixRows - 1; row++)
  76.         {
  77.             for (int col = 0; col < matrixCols - 1; col++)
  78.             {
  79.                 if (gameField[row, col] == 'o' &&
  80.                     gameField[row, col] == gameField[row, col + 1] &&
  81.                     gameField[row, col] == gameField[row + 1, col] &&
  82.                     gameField[row, col] == gameField[row + 1, col + 1])
  83.                 {
  84.                     countO++;
  85.                 }
  86.             }
  87.         }
  88.         //count the 'Z', 'S' and 'T'
  89.         int countZ = 0, countS = 0, countT = 0;
  90.         for (int row = 0; row < matrixRows - 1; row++)
  91.         {
  92.             for (int col = 0; col < matrixCols - 2; col++)
  93.             {
  94.                 //Z
  95.                 if (gameField[row, col] == 'o' &&
  96.                     gameField[row, col] == gameField[row, col + 1] &&
  97.                     gameField[row, col] == gameField[row + 1, col + 1] &&
  98.                     gameField[row, col] == gameField[row + 1, col + 2])
  99.                 {
  100.                     countZ++;
  101.                 }
  102.                 //S
  103.                 if (gameField[row, col + 1] == 'o' &&
  104.                     gameField[row, col + 1] == gameField[row, col + 2] &&
  105.                     gameField[row, col + 1] == gameField[row + 1, col] &&
  106.                     gameField[row, col + 1] == gameField[row + 1, col + 1])
  107.                 {
  108.                     countS++;
  109.                 }
  110.                 //T
  111.                 if (gameField[row, col] == 'o' &&
  112.                     gameField[row, col] == gameField[row, col + 1] &&
  113.                     gameField[row, col] == gameField[row, col + 2] &&
  114.                     gameField[row, col] == gameField[row + 1, col + 1])
  115.                 {
  116.                     countT++;
  117.                 }
  118.             }
  119.         }
  120.         Console.WriteLine("I:{0}, L:{1}, J:{2}, O:{3}, Z:{4}, S:{5}, T:{6}", countI, countL, countJ, countO, countZ, countS, countT);
  121.     }
  122. }
Advertisement
Add Comment
Please, Sign In to add comment