Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Schlange {
- ArrayList<PVector> pos;
- int len;
- Schlange(PVector spos) {
- pos=new ArrayList<PVector>();
- //pos.add(new PVector(spos.x/size,spos.y/size));
- len=5;
- for (int i=0; i<len; i++) {
- pos.add(new PVector(spos.x/size+i, spos.y/size));
- }
- }
- void zeichne() {
- for (int i=0; i<pos.size(); i++) {
- fill(#0000FF);
- if (i==0) {
- fill(#FF0000);
- }
- ellipse(pos.get(i).x*50, pos.get(i).y*50, size, size);
- }
- }
- void keyPressed(char k) {
- switch(k) {
- case 'w':
- up();
- break;
- case 'a':
- right();
- break;
- case 's':
- down();
- break;
- case 'd':
- left();
- break;
- }
- }
- void up() {
- move(0,-1);
- }
- void down() {
- move(0,1);
- }
- void right() {
- move(-1,0);
- }
- void left() {
- move(1,0);
- }
- void move(int dx,int dy /*dx=Dimension X; dy=Dimension Y*/) {
- PVector p=new PVector();
- p.x=pos.get(0).x+dx;
- p.y=pos.get(0).y+dy;
- for(int i=1;i<pos.size();i++) {
- PVector test=pos.get(i);
- if(p.x==test.x&&p.y==test.y) {
- return;
- }
- }
- pos.remove(pos.size()-1);
- pos.add(0,p);
- }
- }
- final float size=50;
- Schlange s;
- void setup() {
- fullScreen();
- s=new Schlange(new PVector(500, 500));
- }
- void draw() {
- background(255);
- s.zeichne();
- }
- void keyPressed() {
- s.keyPressed(key);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement