Continous Integration in der Praxis Gruppenarbeit
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
3.2 KiB

  1. using MiniGames.Shared.Enums;
  2. using MiniGames.Shared.Models;
  3. using System;
  4. using System.Linq;
  5. namespace MiniGames.Client.ViewModel
  6. {
  7. public class Uno : IUno
  8. {
  9. public StapelModel AblageStabel { get; set; }
  10. public bool IstAblageStabelFarbeGleichHand(string ablegeStapelKarte, string neueKarte)
  11. {
  12. if (ablegeStapelKarte.Equals(neueKarte))
  13. {
  14. return true;
  15. }
  16. else
  17. {
  18. return false;
  19. }
  20. }
  21. public HandKartenModel ZiehEineKarte(HandKartenModel handStapel, StapelModel stapelModel)
  22. {
  23. HandKartenModel _handStapel = handStapel;
  24. StapelModel _stapelModel = stapelModel;
  25. _handStapel.KartenModels.Add(_stapelModel.KartenModels.FirstOrDefault());
  26. return _handStapel;
  27. }
  28. public static StapelModel ErstelleStandardKarten()
  29. {
  30. StapelModel stapelModel = new();
  31. stapelModel.KartenModels = new();
  32. for (int f = 1; f <= 4; f++)
  33. {
  34. for (int k = 1; k <= 9; k++)
  35. {
  36. var kartenbezeichnung = (Kartenbezeichnung)k;
  37. var kartenfarbe = (Farbe)f;
  38. stapelModel.KartenModels.Add(
  39. new KartenModel
  40. {
  41. Name = kartenbezeichnung.ToString(),
  42. Farbe = kartenfarbe.ToString(),
  43. Spezial = false
  44. }
  45. );
  46. }
  47. }
  48. return stapelModel;
  49. }
  50. public static StapelModel ErstelleFarbigeSpezialKarten(string kartenbezeichnung)
  51. {
  52. var _kartenbezeichnung = kartenbezeichnung;
  53. StapelModel stapelModel = new();
  54. stapelModel.KartenModels = new();
  55. for (int f = 1; f <= 4; f++)
  56. {
  57. for (int i = 0; i < 2; i++)
  58. {
  59. var kartenfarbe = (Farbe)f;
  60. stapelModel.KartenModels.Add(
  61. new KartenModel
  62. {
  63. Name = _kartenbezeichnung.ToString(),
  64. Farbe = kartenfarbe.ToString(),
  65. Spezial = true
  66. }
  67. );
  68. }
  69. }
  70. return stapelModel;
  71. }
  72. public static StapelModel ErstelleJokerKarten()
  73. {
  74. StapelModel stapelModel = new();
  75. stapelModel.KartenModels = new();
  76. for (int k = 13; k <= 14; k++)
  77. {
  78. for (int a = 0; a < 4; a++)
  79. {
  80. var kartenbezeichnung = (Kartenbezeichnung)k;
  81. stapelModel.KartenModels.Add(
  82. new KartenModel
  83. {
  84. Name = kartenbezeichnung.ToString(),
  85. Farbe = Farbe.Keine.ToString(),
  86. Spezial = true
  87. }
  88. );
  89. }
  90. }
  91. return stapelModel;
  92. }
  93. }
  94. }