import pitaru.sonia_v2_9.*; //import processing.serial.*; int num_balls = 400; Ball[] Balls; String[] pics; int count=0; int numSounds=5; Sample sounds[]; int InX=113, InY=96; PImage b; int updown=0; int reset=0; int L1=0, L2=0, L3=0, R1=0, R2=0, R3=0, N=0; //Serial myPort; float[] normalX= new float[400]; float[] normalY= new float[400]; String accumulation = ""; int soundplay=0; void setup() { size(600,400); framerate(30); colorMode(RGB, 255); b = loadImage("water.gif"); //smooth(); Sonia.start(this); sounds=new Sample[numSounds]; sounds[0]= new Sample("scream1.wav"); sounds[1]= new Sample("scream2.wav"); pics = new String[46]; // println(Serial.list()); // myPort = new Serial(this, Serial.list()[0], 9600); // myPort.write(65); for (int k=0; k<=45; k++) { String file; file=str(k+1)+".gif"; pics[k]=file; } fire(); } /*void serialEvent(Serial p) { int input = myPort.read(); // if the last thing in was a carriage return, it means that a whole reading is ready if (input== 13) { String[] asText = accumulation.split(","); //separate out the reading based on the comma (44) int[] asNumbers = int(asText); //turn the text reading in to numbers, beware if there is a 13 still attached at the InX = asNumbers[0]; InY = asNumbers[1]; accumulation=""; } else{ accumulation= accumulation + char(input); //if you did not hear 13, accumulate } }*/ void fire() { Balls = new Ball[num_balls]; for ( int i=0; i=111 && InX<=120 && InY>=117 && InY<=135) { if (soundplay!=0) {soundplay=0; sounds[0].play(); } L2=0; L3=0; R1=0; R2=0; R3=0; N=0; L1=0; if (updown==0){ updown=1; for ( int i=0; i=105 && InX<=115 && InY>=102 && InY<=123) { if (soundplay!=0) {soundplay=0; sounds[0].play(); } L2=0; L3=0; R1=0; R2=0; R3=0; N=0; L1=0; if (updown==0){ updown=1; for ( int i=0; i103) { updown=0; L2=0; L3=0; R1=0; R2=0; R3=0; N=0; if (L1==0||L1%5==0 && L1<50){ if (soundplay==3 || soundplay==0) { sounds[1].play(); soundplay=2; } for ( int i=0; i50) { sounds[1].stop(); soundplay=3; } } else if (keyPressed && key=='s') //if(InX<=103 && InX>98) { updown=0; L1=0; L3=0; R1=0; R2=0; R3=0; N=0; if (L2==0||L2%5==0 && L2<50){ if (soundplay==3 || soundplay==0) { sounds[1].play(); soundplay=2; } for ( int i=0; i50) { sounds[1].stop(); soundplay=3; } } else if (keyPressed && key=='d') //if(InX<=98) { updown=0; L2=0; L1=0; R1=0; R2=0; R3=0; N=0; if (L3==0||L3%5==0 && L3<50){ if (soundplay==3 || soundplay==0) { sounds[1].play(); soundplay=2; } for ( int i=0; i50) { sounds[1].stop(); soundplay=3; } } else if (keyPressed && key=='l') // if(InX>116 && InX<126) { updown=0; L1=0; L2=0; L3=0; R2=0; R3=0; N=0; if (R1==0||R1%5==0 && R1<50){ if (soundplay==3 || soundplay==0) { sounds[1].play(); soundplay=2; } for ( int i=0; i50) { sounds[1].stop(); soundplay=3; } } else if (keyPressed && key=='k') //if(InX>=126 && InX<134) { updown=0; L1=0; L2=0; L3=0; R1=0; R3=0; N=0; if (R2==0||R2%5==0 && R2<50){ if (soundplay==3 || soundplay==0) { sounds[1].play(); soundplay=2; } for ( int i=0; i50) { sounds[1].stop(); soundplay=3; } } else if (keyPressed && key=='j') //if(InX>=134) { updown=0; L1=0; L2=0; L3=0; R1=0; R2=0;N=0; if (R3==0||R3%5==0 && R3<50){ if (soundplay==3 || soundplay==0) { sounds[1].play(); soundplay=2; } for ( int i=0; i50) { sounds[1].stop(); soundplay=3; } } else { updown=0; L1=0; L2=0; L3=0; R1=0; R2=0; R3=0; //println("Normal"); if (N==0||N%5==0 && N<50){ if (soundplay==3 || soundplay==0) { sounds[1].play(); soundplay=2; } for ( int i=0; i50) { sounds[1].stop(); soundplay=3; } } } for ( int i=0; i height - level && speed_y > 0 ) //bouncing before it landed on the ground y-axis { speed_y *= -bounce_y; speed_x *= bounce_x; } if ( ( x + speed_x > width && speed_x > 0 ) || ( x + speed_x < 0 && speed_x < 0 ) ) //controlling x-axis { speed_x *= -bounce_x; } } void slideL1(int i) { if (i<150) { locationX= random(0, 600); locationY= 0.1*locationX+300; } else if (i<200){ locationX= random(0, 520); locationY= 0.1*locationX+320; } else if (i<250){ locationX= random(0, 480); locationY= 0.1*locationX+330; } else if (i<300){ locationX= random(0, 420); locationY= 0.1*locationX+340; } else if (i<350){ locationX= random(0, 380); locationY= 0.1*locationX+350; } else if (i<=400){ locationX= random(0, 300); locationY= 0.1*locationX+360; } if (locationY>=400) locationY=400; if (locationX>=600) locationX=0; x=locationX; y=locationY; } void slideL2(int i) { if (i<100) { locationX= random(0, 500); locationY= 0.3*locationX+240; } else if (i<150){ locationX= random(0, 460); locationY= 0.3*locationX+260; } else if (i<220){ locationX= random(0, 430); locationY= 0.3*locationX+280; } else if (i<250){ locationX= random(0, 415); locationY= 0.3*locationX+300; } else if (i<300){ locationX= random(0, 300); locationY=0.3*locationX+320; } else if (i<350){ locationX= random(0, 200); locationY= 0.3*locationX+330; } else if (i<=400){ locationX= random(0, 150); locationY= 0.3*locationX+350; } if (locationY>=400) locationY=400; if (locationX>=600) locationX=0; x=locationX; y=locationY; } void slideL3(int i) { if (i<100) { locationX= random(0, 400); locationY= 0.4*locationX+200; } else if (i<150){ locationX= random(0, 460); locationY= 0.4*locationX+230; } else if (i<220){ locationX= random(0, 430); locationY= 0.4*locationX+250; } else if (i<250){ locationX= random(0, 415); locationY= 0.4*locationX+260; } else if (i<280){ locationX= random(0, 380); locationY= 0.4*locationX+280; } else if (i<310){ locationX= random(0, 300); locationY= 0.4*locationX+300; } else if (i<350){ locationX= random(0, 200); locationY= 0.4*locationX+320; } else if (i<=400){ locationX= random(0, 150); locationY= 0.3* 0.4*locationX+350; } if (locationY>=400) locationY=400; if (locationX>=600) locationX=0; x=locationX; y=locationY; } void slideR1(int i) { if (i<150) { locationX= random(0, 600); locationY= -0.1*locationX+350; } else if (i<200){ locationX= random(10,600); locationY= -0.1*locationX+360; } else if (i<250){ locationX= random(80, 600); locationY=- 0.1*locationX+380; } else if (i<300){ locationX= random(120, 600); locationY=- 0.1*locationX+400; } else if (i<350){ locationX= random(300, 600); locationY=- 0.1*locationX+410; } else if (i<=400){ locationX= random(450,600); locationY=- 0.1*locationX+420; } if (locationY>=400) locationY=400; if (locationX>=600) locationX=0; x=locationX; y=locationY; } void slideR2(int i) { if (i<100) { locationX= random(100, 600); locationY= -0.3*locationX+390; } else if (i<150){ locationX= random(130, 600); locationY= -0.3*locationX+410; } else if (i<200){ locationX= random(150, 600); locationY= -0.3*locationX+430; } else if (i<250){ locationX= random(150, 600); locationY= -0.3*locationX+450; } else if (i<300){ locationX= random(250, 600); locationY= -0.3*locationX+480; } else if (i<350){ locationX= random(300, 600); locationY= -0.3*locationX+490; } else if (i<=370){ locationX= random(400, 600); locationY= -0.3*locationX+510; } else if (i<=400){ locationX= random(500, 600); locationY= -0.3*locationX+520; } if (locationY>=400) locationY=400; if (locationX>=600) locationX=0; x=locationX; y=locationY; } void slideR3(int i) { if (i<100) { locationX= random(200, 600); locationY= -0.4*locationX+450; } else if (i<150){ locationX= random(260, 600); locationY= -0.4*locationX+470; } else if (i<220){ locationX= random(290, 600); locationY= -0.4*locationX+490; } else if (i<250){ locationX= random(320, 600); locationY= -0.4*locationX+510; } else if (i<280){ locationX= random(360, 600); locationY= -0.4*locationX+530; } else if (i<310){ locationX= random(400, 600); locationY= -0.4*locationX+550; } else if (i<350){ locationX= random(440, 600); locationY= -0.4*locationX+570; } else if (i<=400){ locationX= random(470, 600); locationY= -0.4*locationX+590; } if (locationY>=400) locationY=400; if (locationX>=600) locationX=0; x=locationX; y=locationY; } void move() { x += speed_x; y += speed_y; } void make(int i) { count++; for (int k=0; k<=46; k++) { if (i%46==k) c=loadImage(pics[k]); } image(c,x,y); } }