Advertisement
Guest User

Untitled

a guest
May 25th, 2015
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.57 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class Scianka
  6. {
  7. private:
  8. char *Tab;
  9. const char KolorSrodka;
  10. public:
  11. Scianka(char kolor);
  12. ~Scianka();
  13. void ObrotC();
  14. void ObrotAC();
  15. void Wypisz();
  16. void Wypisz(int i);
  17. void Set(int i,char k, char h, char l);
  18. char Get(int i);
  19. void Obrot(Scianka &A,int a1,int a2,int a3,Scianka &B,int b1,int b2,int b3,Scianka &C,int c1,int c2,int c3,Scianka &D,int d1,int d2,int d3);
  20. friend void Obrot(Scianka &A,int a1,int a2,int a3,Scianka &B,int b1,int b2,int b3,Scianka &C,int c1,int c2,int c3,Scianka &D,int d1,int d2,int d3);
  21. };
  22.  
  23.  
  24.  
  25. Scianka::Scianka(char kolor): KolorSrodka(kolor)
  26. {
  27. Tab=new char [8];
  28. for (int i=0; i<9; i++) {
  29. Tab[i]=kolor;
  30. }
  31. Tab[4] = kolor;
  32. }
  33.  
  34. Scianka::~Scianka()
  35. {
  36. //delete [] Tab;
  37. }
  38.  
  39. void Scianka::Set(int i,char k,char h,char l)
  40. {
  41. Tab[i]=k;
  42. Tab[i+2]=h;
  43. Tab[i+3]=l;
  44. }
  45.  
  46. char Scianka::Get(int i)
  47. {
  48. return Tab[i];
  49. }
  50.  
  51. void Scianka::Wypisz(int i)
  52. {
  53. cout << Tab[(i-1)*3]<<Tab[(i-1)*3+1]<<Tab[(i-1)*3+2]<<endl;
  54. }
  55.  
  56. void Scianka::Wypisz()
  57. {
  58. cout << endl;
  59. for(int j=1; j<4;j++)
  60. {
  61. Wypisz(j);
  62. }
  63. }
  64.  
  65. void Scianka::ObrotC()
  66. {
  67. char kopiaWartosci;
  68.  
  69. kopiaWartosci=Tab[0];
  70.  
  71. Tab[0]=Tab[6];
  72. Tab[6]=Tab[8];
  73. Tab[8]=Tab[2];
  74. Tab[2]=kopiaWartosci;
  75.  
  76. kopiaWartosci=Tab[1];
  77.  
  78. Tab[1]=Tab[3];
  79. Tab[3]=Tab[7];
  80. Tab[7]=Tab[5];
  81. Tab[5]=kopiaWartosci;
  82. }
  83.  
  84. void Scianka::ObrotAC()
  85. {
  86. char kopiaWartosci;
  87. Tab[4]=Tab[4];
  88. kopiaWartosci=Tab[0];
  89.  
  90. Tab[0]=Tab[2];
  91. Tab[2]=Tab[8];
  92. Tab[8]=Tab[6];
  93. Tab[6]=kopiaWartosci;
  94.  
  95. kopiaWartosci=Tab[1];
  96.  
  97. Tab[1]=Tab[5];
  98. Tab[5]=Tab[7];
  99. Tab[7]=Tab[3];
  100. Tab[3]=kopiaWartosci;
  101. }
  102.  
  103. void Obrot(Scianka &A,int a1,int a2,int a3,Scianka &B,int b1,int b2,int b3,Scianka &C,int c1,int c2,int c3,Scianka &D,int d1,int d2,int d3)
  104. {
  105. //A[ai]=>B[bi]=>C[ci]=>D[di]=>A[ai];
  106.  
  107. char a1_kopia, a2_kopia, a3_kopia;
  108.  
  109. a1_kopia=A.Tab[a1];
  110. a2_kopia=A.Tab[a2];
  111. a3_kopia=A.Tab[a3];
  112.  
  113. A.Tab[a1]=D.Tab[d1];
  114. A.Tab[a2]=D.Tab[d2];
  115. A.Tab[a3]=D.Tab[d3];
  116.  
  117. D.Tab[d1]=C.Tab[c1];
  118. D.Tab[d2]=C.Tab[c2];
  119. D.Tab[d3]=C.Tab[c3];
  120.  
  121. C.Tab[c1]=B.Tab[b1];
  122. C.Tab[c2]=B.Tab[b2];
  123. C.Tab[c3]=B.Tab[b3];
  124.  
  125. B.Tab[b1]=a1_kopia;
  126. B.Tab[b2]=a2_kopia;
  127. B.Tab[b3]=a3_kopia;
  128. }
  129. class Kostka
  130. {
  131. private:
  132. Scianka Up,Left,Front,Right,Back,Down;
  133. public:
  134. Kostka();
  135. void U();
  136. void u();
  137. void L();
  138. void l();
  139. void F();
  140. void f();
  141. void R();
  142. void r();
  143. void B();
  144. void b();
  145. void D();
  146. void d();
  147. void Wypisz();
  148. bool CzyUlozona();
  149. void Ruch(char c);
  150. };
  151. Kostka::Kostka()
  152. {//Scianka Up,Left,Front,Right,Back,Down;
  153. Char W = "w";
  154. Scianka A = Scianka('a') : Scianka;
  155. //Left=Scianka('R');
  156. //Front=Scianka('B');
  157. //Right=Scianka('O');
  158. //Back=Scianka('G');
  159. //Down=Scianka('Y');
  160. }
  161.  
  162. int main(int argc, const char * argv[])
  163. {
  164. Scianka A = Scianka('a');
  165. A.Set(3, 'I','E','S');
  166. A.Wypisz();
  167. A.ObrotAC();
  168. A.Wypisz();
  169. A.ObrotC();
  170. A.Wypisz();
  171. /*
  172. Scianka A = Scianka('a');
  173. A.Set(3, 'I','E','S');
  174. Scianka B = Scianka('b');
  175. Scianka C = Scianka('c');
  176. Scianka D = Scianka('d');
  177. //cout << &tester;
  178.  
  179. B.Set(3, 'I');
  180. C.Set(3, 'I');
  181. D.Set(3, 'I');
  182.  
  183. B.Wypisz();
  184. B.ObrotAC();
  185. B.ObrotC();
  186.  
  187. C.Wypisz();
  188. C.ObrotAC();
  189. C.ObrotC();
  190.  
  191. D.Wypisz();
  192. D.ObrotAC();
  193. D.ObrotC();
  194. */
  195. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement