Advertisement
PrincessFumi

Untitled

Jan 24th, 2015
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. #include "Plansza.h"
  2.  
  3. Pionek* Plansza:: spytaj_o_pole(Pionek* tablica[], int nr_pola)
  4. {
  5. int i;
  6. int liczbaPionkow=16;
  7. for(i=0; i<liczbaPionkow; i++)
  8. {
  9. if(tablica[i]->pobierz_polozenie() == nr_pola)
  10. return tablica[i];
  11. }
  12. return NULL;
  13. }
  14. int Plansza::na_jakie_pole_przejdzie(Pionek* pionek, int kostka)
  15. {
  16.  
  17. int przyszla_pozycja;
  18. int aktualna_pozycja;
  19. int start, roznica, start_bazy;
  20. przyszla_pozycja = pionek->pobierz_polozenie() + kostka;
  21. aktualna_pozycja = pionek->pobierz_polozenie();
  22. if(pionek->zwroc_kolor() == czerwony)
  23. {
  24. start = 20;
  25. roznica = 28;
  26. start_bazy = 48;
  27. }
  28. else if(pionek->zwroc_kolor() == niebieski)
  29. {
  30. start = 30;
  31. roznica = 15;
  32. start_bazy = 44;
  33.  
  34. }
  35. else if(pionek->zwroc_kolor() == zielony)
  36. {
  37. start = 10;
  38. roznica = 43;
  39. start_bazy = 52;
  40.  
  41. }
  42. else if(pionek->zwroc_kolor() == zolty)
  43. {
  44. start = 40;
  45. roznica = 0;
  46. start_bazy = 40;
  47.  
  48. }
  49.  
  50. if (przyszla_pozycja >= start && aktualna_pozycja<start)
  51. {
  52. if(przyszla_pozycja>=start && przyszla_pozycja<=(start+3))
  53. {
  54. return przyszla_pozycja + roznica ;
  55. }
  56. else
  57. return aktualna_pozycja;
  58. }
  59.  
  60. if(aktualna_pozycja>=start_bazy && aktualna_pozycja<=(start_bazy+3))
  61. {
  62. if(przyszla_pozycja>(start_bazy+3))
  63. return aktualna_pozycja;
  64.  
  65. else
  66. return przyszla_pozycja;
  67. }
  68.  
  69.  
  70. return przyszla_pozycja %40;
  71.  
  72. }
  73. bool Plansza:: ruch_pionka(Pionek *pionek,Pionek* tablica[], int kostka)
  74. {
  75. Pionek *p;
  76. int m;
  77.  
  78. if(pionek->w_grze == false)
  79. {
  80. if(kostka!=6)
  81. {
  82. return false;
  83. }
  84. int start;
  85.  
  86. switch( pionek->zwroc_kolor())
  87. {
  88.  
  89. case czerwony:
  90. start = 20;
  91. m=start;
  92. break;
  93.  
  94. case zielony:
  95. start=10;
  96. m=start;
  97. break;
  98. case zolty:
  99. start=0;
  100. m=start;
  101. break;
  102.  
  103. case niebieski:
  104. start=30;
  105. m=start;
  106. break;
  107. }
  108. p=spytaj_o_pole(tablica,m);
  109.  
  110. }
  111. else
  112. {
  113. m = na_jakie_pole_przejdzie(pionek,kostka);
  114. p = spytaj_o_pole(tablica,m);
  115.  
  116.  
  117. }
  118. if(p!= NULL)
  119. {
  120. if(pionek->zwroc_kolor() != p->zwroc_kolor())
  121. {
  122. p->wroc_do_domku();
  123. }
  124. else
  125. return false;
  126. }
  127. if(pionek->pobierz_polozenie() != m)
  128. {
  129. pionek->ustaw_polozenie(m);
  130. pionek->w_grze = true;
  131.  
  132. return true;
  133. }
  134. }
  135.  
  136.  
  137.  
  138. /* Gracz* Plansza:: zwroc_kolor_nastepnego(kolor_pionka a)
  139. {
  140. if(a==zolty)
  141. return &green;
  142. if(a== zielony) // to do funkcji gra
  143. return &red;
  144. if(a==czerwony)
  145. return &blue;
  146. if(a==niebieski)
  147. return &yellow;
  148.  
  149. }
  150. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement