SkanaarKey sk; Sperm playerA, playerB; Vector entities; PFont font; float gameSpeed = 0.333333; float friction = 0.035; int fieldMargin = 5; int foodCount = 0; //------------------------- void setup(){ size(400,300); smooth(); sk = new SkanaarKey(); font = loadFont("Calibri-Bold-24.vlw"); textFont(font); playerA = new Sperm(width/2, height/2, 0); playerB = new Sperm(width/2, height/2, 1); entities = new Vector(); entities.add( playerA ); entities.add( playerB ); for( int i=0 ; i<10 ; i++ ) entities.add( new Cloud( 255 ) ); for( int i=0 ; i<10 ; i++ ) entities.add( new Spore( 255 ) ); } //------------- void draw(){ background( 128 ); if(sk.keyDown(sk.UP)) playerA.boost(); if(sk.keyDown(sk.LEFT)) playerA.turn(1); if(sk.keyDown(sk.RIGHT)) playerA.turn(-1); if(sk.keyDown('w')) playerB.boost(); if(sk.keyDown('a')) playerB.turn(1); if(sk.keyDown('d')) playerB.turn(-1); for( int i=0 ; i=0 ; i-- ){ Entity e = (Entity) entities.elementAt(i); if(e.killMe) entities.remove(i); } if( foodCount<5 && random(1) < 0.005 ) entities.add( new Food( (int)random(width), (int)random(height) ) ); } //------------- void keyPressed(){ sk.keyPressed(key,keyCode); if(keyCode==sk.DOWN) playerA.pulse(); if(key=='s') playerB.pulse(); if(key==' ')entities.add( new Food( (int)random(width), (int)random(height) ) ); } //------------- void keyReleased(){ sk.keyReleased(key,keyCode); } //-------------