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.

65 lines
1.4 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 void SpielerInput(int posIndex)
  37. {
  38. if (GewinnerIndex >= 0) return;
  39. if (Brett.Set(posIndex, AktiverSpielerIndex))
  40. {
  41. SpielerWechsel();
  42. }
  43. GewinnerIndex = Brett.Gewinner();
  44. if (GewinnerIndex >= 0)
  45. {
  46. Spieler[GewinnerIndex].Punkte++;
  47. }
  48. }
  49. public void SpielerWechsel()
  50. {
  51. AktiverSpielerIndex = 1 - AktiverSpielerIndex;
  52. }
  53. }
  54. }