PageRenderTime 44ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/Samples/Breakout/LevelData.cs

#
C# | 118 lines | 100 code | 9 blank | 9 comment | 7 complexity | 7f4a0fef6509f15fc67d4852ba5d6ebb MD5 | raw file
Possible License(s): Apache-2.0
  1. using Delta.Utilities.Datatypes;
  2. namespace Breakout
  3. {
  4. /// <summary>
  5. /// Helper class to setup the different levels of the game, level 1-5 are
  6. /// custom made, then anything bigger will just use level 5 data again.
  7. /// </summary>
  8. public static class LevelData
  9. {
  10. #region SetupLevelColors
  11. /// <summary>
  12. /// Setup level colors for level 1-5
  13. /// </summary>
  14. /// <param name="bricks">Bricks to set the color to</param>
  15. /// <param name="level">Current level number</param>
  16. public static void SetupLevelColors(Brick[,] bricks, int level)
  17. {
  18. switch (level)
  19. {
  20. case 1:
  21. Level1(bricks);
  22. break;
  23. case 2:
  24. Level2(bricks);
  25. break;
  26. case 3:
  27. Level3(bricks);
  28. break;
  29. case 4:
  30. Level4(bricks);
  31. break;
  32. case 5:
  33. Level5(bricks);
  34. break;
  35. }
  36. }
  37. #endregion
  38. #region Level1
  39. private static void Level1(Brick[,] bricks)
  40. {
  41. for (int i = 0; i < 2; i++)
  42. {
  43. bricks[i, 0].Color = Color.Green;// Color.Purple;
  44. bricks[i, 1].Color = Color.Orange;// Color.Blue;
  45. }
  46. }
  47. #endregion
  48. #region Level2
  49. private static void Level2(Brick[,] bricks)
  50. {
  51. for (int i = 0; i < 3; i++)
  52. {
  53. bricks[i, 0].Color = new Color(0.25f, 0.25f, 0.25f);
  54. bricks[i, 1].Color = Color.Red;
  55. bricks[i, 2].Color = Color.Gold;
  56. }
  57. }
  58. #endregion
  59. #region Level3
  60. private static void Level3(Brick[,] bricks)
  61. {
  62. bricks[0, 0].Color = Color.Yellow;
  63. bricks[1, 1].Color = Color.Yellow;
  64. bricks[2, 2].Color = Color.Yellow;
  65. bricks[3, 3].Color = Color.Yellow;
  66. bricks[1, 0].Color = Color.Teal;
  67. bricks[2, 1].Color = Color.Teal;
  68. bricks[3, 2].Color = Color.Teal;
  69. bricks[0, 1].Color = Color.Teal;
  70. bricks[1, 2].Color = Color.Teal;
  71. bricks[2, 3].Color = Color.Teal;
  72. bricks[2, 0].Color = Color.Green;
  73. bricks[3, 1].Color = Color.Green;
  74. bricks[0, 2].Color = Color.Green;
  75. bricks[1, 3].Color = Color.Green;
  76. bricks[3, 0].Color = Color.LightBlue;
  77. bricks[0, 3].Color = Color.LightBlue;
  78. }
  79. #endregion
  80. #region Level4
  81. private static void Level4(Brick[,] bricks)
  82. {
  83. float factor = 1f / 255f;
  84. for (int x = 0; x < 5; x++)
  85. {
  86. for (int y = 0; y < 5; y++)
  87. {
  88. bricks[x, y].Color = new Color((x * 42) * factor,
  89. (64 + y * 32) * factor, 128 * factor);
  90. }
  91. }
  92. }
  93. #endregion
  94. #region Level5
  95. private static void Level5(Brick[,] bricks)
  96. {
  97. float factor = 1f / 255f;
  98. for (int x = 0; x < 6; x++)
  99. {
  100. for (int y = 0; y < 6; y++)
  101. {
  102. bricks[x, y].Color = new Color((x * 36 + 32) * factor,
  103. 0.33f, (x * 36 + 32) * factor);
  104. }
  105. }
  106. }
  107. #endregion
  108. }
  109. }