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.

82 lines
1.8 KiB

  1. using MiniGames.Shared.Models;
  2. namespace MiniGames.Client.ViewModel
  3. {
  4. public class TicTacToe : ITicTacToe
  5. {
  6. TicTacToeModel Model;
  7. public TicTacToe(TicTacToeModel model)
  8. {
  9. this.Model = model;
  10. }
  11. public SpielerModel[] Spieler
  12. {
  13. get { return Model.Spieler; }
  14. set { Model.Spieler = value; }
  15. }
  16. public TicTacToeBrett Brett
  17. {
  18. get { return Model.Brett; }
  19. set { Model.Brett = value; }
  20. }
  21. public int AktiverSpielerIndex
  22. {
  23. get { return Model.AktiverSpielerIndex; }
  24. set { Model.AktiverSpielerIndex = value; }
  25. }
  26. public int GewinnerIndex
  27. {
  28. get { return Model.GewinnerIndex; }
  29. set {
  30. if (Model.GewinnerIndex < 0)
  31. {
  32. Model.GewinnerIndex = value;
  33. }
  34. }
  35. }
  36. public SpielerModel GewinnerSpieler
  37. {
  38. get { return Model.GewinnerSpieler; }
  39. set { Model.GewinnerSpieler = value; }
  40. }
  41. public bool Fertig()
  42. {
  43. return Model.Fertig();
  44. }
  45. public void SpielerInput(int posIndex)
  46. {
  47. if (Fertig()) return;
  48. if (Brett.Set(posIndex, AktiverSpielerIndex))
  49. {
  50. SpielerWechsel();
  51. }
  52. GewinnerIndex = Brett.Gewinner();
  53. PunkteBerechnung();
  54. }
  55. public void SpielerWechsel()
  56. {
  57. AktiverSpielerIndex = 1 - AktiverSpielerIndex;
  58. }
  59. public void PunkteBerechnung()
  60. {
  61. SpielerModel gewinner = GewinnerSpieler;
  62. if (gewinner != null)
  63. {
  64. gewinner.Punkte++;
  65. }
  66. }
  67. }
  68. }