Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.73 KB | None | 0 0
  1. int ilosc=10; //ilosc kwadratow
  2. int a; // bok kwadratu na osi oraz przesunecie mrowki
  3. int gora=0;
  4. int prawo=1;
  5. int dol=2;
  6. int lewo=3;
  7. int biale;
  8. int czarne;
  9. boolean tab [][] = new boolean [ilosc][ilosc]; //tablica do zmiany koloru
  10. PImage antImage;
  11. ArrayList<Ant> ants = new ArrayList<Ant>(); //lista z przechowywanym obiektem Ants
  12.  
  13.  
  14.  
  15.  
  16.  
  17. void setup() {
  18. frameRate(1);
  19. size(400, 400);
  20. background(255);
  21. a=width/ilosc;
  22. antImage = loadImage("mrowkabeztla.png");
  23. //for (int i = 0; i<1; i++) {
  24. ants.add(new Ant(5, 5)); //ustawienie mrowek po przekatnej
  25. //}
  26. }
  27. void draw() {
  28. for (int i=0; i<ilosc; i++) {
  29. for (int j=0; j<ilosc; j++) {
  30. if (tab[i][j]==true) { //1 -> czarne
  31. fill(0);
  32. } else {
  33. fill(255);
  34. }
  35. rect(a*j, a*i, a, a);
  36. print(tab[i][j] + " ");
  37. }
  38. println();
  39. }
  40. println("x " + ants.get(0).x + ":" + ants.get(0).y);
  41. for (int i = 0; i<1; i++) {
  42. ants.get(i).draw();
  43. }
  44. }
  45.  
  46.  
  47. class Ant {
  48. //pozycja
  49.  
  50. int x;
  51. int y;
  52. int kierunek;
  53. Ant(int x, int y) {
  54. this.x = x;
  55. this.y = y;
  56. }
  57. //metoda przemieszczajaca mrowke //przesuwanie nie o piksele a kwadraty -> latwiejsze sprawdzanie na jakim polu stoi mrowka
  58. void ustawPozycje(int x, int y) {
  59. this.x = x;
  60. this.y = y;
  61. }
  62. void ustawKierunek(int kierunek) {
  63. this.kierunek = kierunek;
  64. }
  65.  
  66. void idz() {
  67. if (kierunek==gora) {
  68. y--;
  69. } else if (kierunek==dol) {
  70. y++;
  71. } else if (kierunek==prawo) {
  72. x++;
  73. } else if (kierunek==lewo) {
  74. x--;
  75. }
  76.  
  77. if (tab[x][y] == true) {
  78. tab[x][y] = false;
  79. ruchWPrawo();
  80. } else if (tab[x][y]==false) {
  81. tab[x][y] = true;
  82. ruchWLewo();
  83.  
  84. }
  85.  
  86.  
  87.  
  88.  
  89. }
  90. //metoda opisujaca ruch mrowki wg zasad
  91. //metoda na ruch w prawo (wg wskazowek zegara) <=> gdy stanie na białym polu->zmiana na czarny
  92. void ruchWPrawo() {
  93.  
  94. if (kierunek==prawo) {
  95.  
  96. kierunek=dol;
  97. } else if (kierunek==dol) {
  98.  
  99. kierunek=lewo;
  100. } else if (kierunek==lewo) {
  101.  
  102. kierunek=gora;
  103. } else if (kierunek==gora) {
  104.  
  105. kierunek=prawo;
  106. }
  107.  
  108. //}
  109.  
  110. }
  111. //metoda na ruch w lewo (przeciwnie do wskazowek zegara) <=> gdy stanie na czarnym polu -> zamiana na biale
  112. void ruchWLewo() {
  113. if (kierunek==prawo) {
  114.  
  115. kierunek=gora;
  116. } else if (kierunek==gora) {
  117.  
  118. kierunek=lewo;
  119. } else if (kierunek==lewo) {
  120.  
  121. kierunek=dol;
  122. } else if (kierunek==dol) {
  123.  
  124. kierunek=prawo;
  125. }
  126.  
  127. }
  128. void draw() {
  129. image(antImage, (x-1)*a, (y-1)*a, a, a);
  130. idz();
  131. }
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement