Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int x=50;//x startowe
- int y=50;//y startowe
- float kat1=PI/4;//kąty ustalone eksperymentalnie dla położenia wcięcia w okręgu tworzącym pacmana
- float kat2=PI*1.8;
- float kat3=PI/10;
- float kat4=PI*1.93;
- int x1=(int)random(0, 500);//położenie kulek
- int y1=(int)random(0, 500);
- int k=0;//początkowa wartość licznika kulek
- void setup() {
- size(600, 600);//rozmiar ekranu
- background(0);//czarne tło
- otwarta(x, y, kat1, kat2);
- punkt(x1, y1);//rysowanie nowej kulkifill(#FAD12B);
- textSize(50);//licznik
- text(k, 400, 400);
- }
- void draw() {
- if (keyPressed) {//warunek przsunięcia w prawo
- if (key=='d') {
- background(0);
- x=x+1;
- }
- if (key=='a') {//lewo
- background(0);
- x=x-1;
- }
- if (key=='w') {//góra
- background(0);
- y=y-1;
- }
- if (key=='s') {//dół
- background(0);
- y=y+1;
- }
- if (x==x1 && y==y1 || x==x1-1 && y==y1-1 || x==x1-2 && y==y1 -2|| y==y1+1 && x==x1+1 || x==x1+2 && y==y1+2) {
- zamknieta(x, y, kat3, kat4);//warunek określający zmiany kątów=zamknięcie gęby po najechaniu
- k++;//po najechaniu na kulkę wartość licznika zwiększa się o 1
- x1=(int)random(0, 500);//losowanie pozycji nowej kulki
- y1=(int)random(0, 500);
- } else {//ponowne otwarcie gęby
- otwarta(x, y, kat1, kat2);
- punkt(x1, y1);//rysowanie nowej kulkifill(#FAD12B);
- textSize(50);//licznik
- text(k, 400, 400);
- }
- }
- }
- void otwarta(int x, int y, float kat1, float kat2) {//metoda rysująca otwartą gębę
- fill(#F5EE19);
- arc(x, y, 80, 80, kat1, kat2);
- }
- void zamknieta(int x, int y, float kat1, float kat2) {
- fill(#F5EE19);
- arc(x, y, 80, 80, kat1, kat2);
- }
- void punkt(int x, int y) {//metoda rysująca kulki
- for (int i=0; i<10; i++) {
- fill(#FAD12B);
- ellipse(x, y, 15, 15);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement