SHOW:
|
|
- or go back to the newest paste.
| 1 | - | //Aufgabe 1 |
| 1 | + | final color THMLightBlue = #40ffed; |
| 2 | final color THMGreen = color(128, 186, 36); | |
| 3 | //Balloon Klasse | |
| 4 | class Balloon{
| |
| 5 | //Attribute | |
| 6 | float x,y; | |
| 7 | float w,h; | |
| 8 | float vy; | |
| 9 | color c; | |
| 10 | //Konstruktor | |
| 11 | Balloon(float x, float y, float w, float h){
| |
| 12 | - | this.h = h; |
| 12 | + | |
| 13 | this.y = y; | |
| 14 | - | void move(float velocity){
|
| 14 | + | |
| 15 | - | y+=velocity; |
| 15 | + | this.h = h; |
| 16 | vy = random(-4,-1); | |
| 17 | c = color((int)random(0,255), | |
| 18 | (int) random(0,255), | |
| 19 | (int)random(0,255), 200); | |
| 20 | } | |
| 21 | void move(){
| |
| 22 | y+=vy; | |
| 23 | - | move(-3); //bewegt Ballon 3 pixeln nach oben |
| 23 | + | |
| 24 | boolean visible(){
| |
| 25 | - | } |
| 25 | + | |
| 26 | if(y+h<0) return false; | |
| 27 | - | //Aufgabe 2: 20 ballons spawnen |
| 27 | + | |
| 28 | } | |
| 29 | void display(){
| |
| 30 | if(!visible()) y = height; | |
| 31 | noStroke(); | |
| 32 | - | for (int i=0; i<balloons.length;i++) |
| 32 | + | fill(c); |
| 33 | - | balloons[i]=new Balloon((int) random(0,width),height,10,15); |
| 33 | + | |
| 34 | } | |
| 35 | void puff(){
| |
| 36 | - | background(0); |
| 36 | + | y = height; |
| 37 | - | for (int i=0; i<balloons.length;i++) |
| 37 | + | |
| 38 | } | |
| 39 | //Vogelklasse | |
| 40 | class Bird{
| |
| 41 | //Attribute | |
| 42 | float x,y; | |
| 43 | float w,h; | |
| 44 | float vx; | |
| 45 | color c; | |
| 46 | Bird(float x, float y, float w, float h){
| |
| 47 | this.x = x; | |
| 48 | this.y = y; | |
| 49 | this.w = w; | |
| 50 | this.h = h; | |
| 51 | vx = 0; | |
| 52 | c = THMGreen; | |
| 53 | } | |
| 54 | void move(){
| |
| 55 | x+=vx; | |
| 56 | } | |
| 57 | void display(){
| |
| 58 | noStroke(); | |
| 59 | fill(c); | |
| 60 | if (visible()){
| |
| 61 | triangle(x,y+h/2,x+w,y,x+w,y+h); | |
| 62 | } else | |
| 63 | stop(); | |
| 64 | } | |
| 65 | void stop(){
| |
| 66 | vx = 0; | |
| 67 | } | |
| 68 | void start(){
| |
| 69 | vx = -5; | |
| 70 | } | |
| 71 | void spawn(){
| |
| 72 | x = width; | |
| 73 | y = mouseY; | |
| 74 | start(); | |
| 75 | } | |
| 76 | boolean visible(){
| |
| 77 | //Ausserhalb vom oberen Rand | |
| 78 | if(x+w<0) return false; | |
| 79 | return true; | |
| 80 | } | |
| 81 | boolean intersects(Balloon b){
| |
| 82 | if (x<b.x+w && x+w>b.x && y<b.y+b.h && y+h>b.y ) return true; | |
| 83 | return false; | |
| 84 | } | |
| 85 | } | |
| 86 | ||
| 87 | Balloon[] balloons = new Balloon[20]; | |
| 88 | Bird bird; | |
| 89 | void setup(){
| |
| 90 | size(400,300); | |
| 91 | //Ballons initiieren | |
| 92 | float w; | |
| 93 | for (int i=0; i<balloons.length;i++){
| |
| 94 | w = random(10,50); | |
| 95 | balloons[i]=new Balloon((int) random(0,width/2),height,20,30); | |
| 96 | } | |
| 97 | bird = new Bird(width, 0, 30,20); | |
| 98 | } | |
| 99 | void draw(){
| |
| 100 | bird.move(); | |
| 101 | background(255); | |
| 102 | for (int i=0; i<balloons.length;i++){
| |
| 103 | balloons[i].move(); | |
| 104 | balloons[i].display(); | |
| 105 | if (bird.intersects(balloons[i])) | |
| 106 | balloons[i].puff(); | |
| 107 | } | |
| 108 | bird.display(); | |
| 109 | ||
| 110 | } | |
| 111 | ||
| 112 | void mouseReleased(){
| |
| 113 | bird.spawn(); | |
| 114 | } |