Advertisement
Guest User

Untitled

a guest
May 28th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.46 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include "Scena.hh"
  4. #include "Przeszkoda.hh"
  5. #include <unistd.h>
  6. #include <iomanip>
  7. #include <fstream>
  8. #include <ctime>
  9. #include <vector>
  10. #include <memory>
  11.  
  12. using namespace std;
  13.  
  14. Scena::Scena ()
  15. {
  16.  
  17. Wektor2D P1A,P1C,P2A,P2C,P3A,P3C,P4A,P4C,wekR1,wekR2,wekR3;
  18.  
  19. P1A[0]=100; P1A[1]=380; P1C[0]=50; P1C[1]=320;
  20. P2A[0]=300; P2A[1]=390; P2C[0]=200; P2C[1]=200;
  21. P3A[0]=70; P3A[1]=70; P3C[0]=10; P3C[1]=10;
  22. P4A[0]=350; P4A[1]=150; P4C[0]=230; P4C[1]=50;
  23.  
  24. wekR1[0]=100; wekR1[1]=100;
  25. wekR2[0]=50; wekR2[1]=200;
  26. wekR3[0]=150; wekR3[1]=70;
  27.  
  28.  
  29. ObiektGraficzny *R= new Robot(wekR1,0);
  30. ObiektGraficzny *R2=new Robot(wekR2,280);
  31. ObiektGraficzny *R3=new Robot(wekR3,140);
  32. ObiektGraficzny *P= new Przeszkoda (P1A,P1C);//undefined reference Przeszkoda::Przeszkoda(Wektor2D,Wektor2D)
  33. ObiektGraficzny *P2=new Przeszkoda (P2A,P2C);//undefined reference Przeszkoda::Przeszkoda(Wektor2D,Wektor2D)
  34. ObiektGraficzny *P3=new Przeszkoda (P3A,P3C);//undefined reference Przeszkoda::Przeszkoda(Wektor2D,Wektor2D)
  35. ObiektGraficzny *P4=new Przeszkoda (P4A,P4C);//undefined reference Przeszkoda::Przeszkoda(Wektor2D,Wektor2D)
  36. ObiektGraficzny *S1=new Sciezka(wekR1);
  37. ObiektGraficzny *S2=new Sciezka(wekR2);
  38. ObiektGraficzny *S3=new Sciezka(wekR3);
  39. roboty.push_back(R);
  40. roboty.push_back(R2);
  41. roboty.push_back(R3);
  42. obiekty.push_back(P);
  43. obiekty.push_back(P2);
  44. obiekty.push_back(P3);
  45. obiekty.push_back(P4);
  46. obiekty.push_back(S1);
  47. obiekty.push_back(S2);
  48. obiekty.push_back(S3);
  49. Lacze.DodajNazwePliku("Robot1.dat",PzG::RR_Ciagly,2);
  50. Lacze.DodajNazwePliku("Robot2.dat",PzG::RR_Ciagly,2);
  51. Lacze.DodajNazwePliku("Robot3.dat",PzG::RR_Ciagly,2);
  52. Lacze.DodajNazwePliku("Przeszkoda1.dat",PzG::RR_Ciagly,2);
  53. Lacze.DodajNazwePliku("Przeszkoda2.dat",PzG::RR_Ciagly,2);
  54. Lacze.DodajNazwePliku("Przeszkoda3.dat",PzG::RR_Ciagly,2);
  55. Lacze.DodajNazwePliku("Przeszkoda4.dat",PzG::RR_Ciagly,2);
  56. Lacze.DodajNazwePliku("Sciezka1.dat",PzG::RR_Ciagly,2);
  57. Lacze.DodajNazwePliku("Sciezka2.dat",PzG::RR_Ciagly,2);
  58. Lacze.DodajNazwePliku("Sciezka3.dat",PzG::RR_Ciagly,2);
  59. roboty[0]->PrzykladZapisuWspolrzednychDoPliku("Robot1.dat");
  60. roboty[1]->PrzykladZapisuWspolrzednychDoPliku("Robot2.dat");
  61. roboty[2]->PrzykladZapisuWspolrzednychDoPliku("Robot3.dat");
  62. obiekty[0]->PrzykladZapisuWspolrzednychDoPliku("Przeszkoda1.dat");
  63. obiekty[1]->PrzykladZapisuWspolrzednychDoPliku("Przeszkoda2.dat");
  64. obiekty[2]->PrzykladZapisuWspolrzednychDoPliku("Przeszkoda3.dat");
  65. obiekty[3]->PrzykladZapisuWspolrzednychDoPliku("Przeszkoda4.dat");
  66. obiekty[4]->PrzykladZapisuWspolrzednychDoPliku("Sciezka1.dat");
  67. obiekty[5]->PrzykladZapisuWspolrzednychDoPliku("Sciezka2.dat");
  68. obiekty[6]->PrzykladZapisuWspolrzednychDoPliku("Sciezka3.dat");
  69. Lacze.UstawZakresX(-30, 400);
  70. Lacze.UstawZakresY(-30, 400);
  71. Lacze.ZmienTrybRys(PzG::TR_2D);
  72. Lacze.Rysuj();
  73. }
  74.  
  75. Scena::~Scena()
  76. {
  77.  
  78. }
  79.  
  80. void Scena::Przesun(Wektor2D Wek)
  81. {
  82. int ind;
  83. for(ind=0; ind < 7; ind++)
  84. {
  85. obiekty[ind]->Przesun()=Wek;
  86. }
  87. for(ind=0; ind < 3; ind++)
  88. {
  89. roboty[ind]->Przesun()=Wek;
  90. }
  91.  
  92. }
  93. void Scena::Rysuj()
  94. {
  95. roboty[0]->PrzykladZapisuWspolrzednychDoPliku("Robot.dat");
  96. roboty[1]->PrzykladZapisuWspolrzednychDoPliku("Robot2.dat");
  97. roboty[2]->PrzykladZapisuWspolrzednychDoPliku("Robot3.dat");
  98. obiekty[0]->PrzykladZapisuWspolrzednychDoPliku("Przeszkoda1.dat");
  99. obiekty[1]->PrzykladZapisuWspolrzednychDoPliku("Przeszkoda2.dat");
  100. obiekty[2]->PrzykladZapisuWspolrzednychDoPliku("Przeszkoda3.dat");
  101. obiekty[3]->PrzykladZapisuWspolrzednychDoPliku("Przeszkoda4.dat");
  102. obiekty[4]->PrzykladZapisuWspolrzednychDoPliku("Sciezka1.dat");
  103. obiekty[5]->PrzykladZapisuWspolrzednychDoPliku("Sciezka2.dat");
  104. obiekty[6]->PrzykladZapisuWspolrzednychDoPliku("Sciezka3.dat");
  105. Lacze.Rysuj();
  106. }
  107.  
  108. ObiektGraficzny* Scena::ZwrocRobota (int ind) const
  109. {
  110. return roboty[ind];
  111. }
  112.  
  113. void Scena::AnimacjaJazdy (float droga, int ind)
  114. {
  115. double kat=roboty[ind]->Kat()*M_PI/180;
  116. Wektor2D Wek;
  117. Wek[0]=cos(kat);Wek[1]=sin(kat);
  118. //Wektor2D Wek(cos(kat),sin(kat));
  119. float i;
  120. for (i=0; i< droga; i++)
  121. {
  122. roboty[ind]->PrzesunOG(Wek);
  123. Rysuj();
  124. Lacze.Rysuj();
  125. usleep(2000);
  126. }
  127. }
  128.  
  129. void Scena::AnimacjaObrotu (double _kat, int ind)
  130. {
  131. double i;
  132. for(i=0; i<_kat; i++)
  133. {
  134. roboty[ind]->Obroc(1);
  135. Rysuj();
  136. Lacze.Rysuj();
  137. usleep(2000);
  138. }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement