Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //ATTENTION: this code is written in PROCESSING
- //ATTENTION: THIS IS JUST THE SOURCE CODE AND IT WON'T WORK WITHOUT THE RELEVANT FILES.
- // FOR THE FULL, PLAYABLE GAME PLEASE DOWNLOAD:
- // http://www.mediafire.com/?ofxbyuqg1er7asf
- //program almost complete, little updates could follow!!
- //follow us on twitter: @d_codes_
- int window_x, window_y=400;
- int schiff_x=100, schiff_y=20;
- int xPos, yPos;
- int xRichtung=2, yRichtung=2;
- int r=10, x, y;
- //Fuer Balken:
- int anz_x=8, anz_y=5;
- int px=0, py=10, abstand=5;
- int bbalken=90, hbalken=20;
- int [][] wall = new int[anz_x][anz_y];
- int xblockpos, yblockpos;
- int xlauf, ylauf;
- int festigkeit;
- int life=3;
- int hschiff=40;
- int schraeg=30;
- boolean gameOver;
- PFont schrift;
- void setup() {
- schrift = loadFont("schriftartgo.vlw");
- window_x = anz_x*bbalken+px*2;
- size(window_x,window_y);
- yPos=window_y-hschiff-schiff_y;
- x = window_x/2;
- y = window_y/2;
- smooth();
- for (xblockpos=0; xblockpos<anz_x; xblockpos++)
- {
- for (yblockpos=0; yblockpos<anz_y; yblockpos++)
- {
- float rdmfestigkeit=random(1,5);
- festigkeit = int(rdmfestigkeit);
- wall[xblockpos][yblockpos]=festigkeit;
- //println(festigkeit);
- }
- }
- gameOver = false;
- life=3;
- }
- //int altemouse = 0;
- void draw() {
- fill (255);
- background(0);
- text("life: "+ life, 20, window_y-20, 10);
- text("speed (y): "+ yRichtung, 200, window_y-20, 10);
- text("speed (x): "+ xRichtung, 100, window_y-20, 10);
- if (mouseX>=px && mouseX<=(window_x-px-schiff_x))
- {
- //int dmouse;
- //int g;
- xPos=mouseX-schiff_x/2;
- // schraeg an seite
- if (y==yPos-r && x>=xPos && x<=xPos+schraeg && xRichtung<=0)
- {
- yRichtung++;
- }
- if (y==yPos-r && x>=xPos && x<=xPos+schraeg && xRichtung>0)
- {
- yRichtung--;
- }
- if (y==yPos-r && x>=xPos+schiff_x-schraeg && x<=xPos+schiff_x && xRichtung<0)
- {
- yRichtung--;
- }
- if (y==yPos-r && x>=xPos+schiff_x-schraeg && x<=xPos+schiff_x && xRichtung>=0)
- {
- yRichtung++;
- }
- /*
- if ((y-r) >= yPos)
- {
- dmouse = xPos - altemouse;
- if (abs(dmouse) > 10){
- if (dmouse > 0)
- dmouse -=10;
- if (dmouse < 0)
- dmouse += 10;
- }
- //weitere Ueberlegung notwendig
- xRichtung = xRichtung +dmouse;
- println("x:"+xRichtung+" delta:"+dmouse+" Mouse: "+xPos);
- }
- altemouse = xPos;*/
- }
- rect(xPos, yPos, schiff_x, schiff_y);
- fill(0, 0, 255); //color down
- rect(xPos, yPos, schraeg, schiff_y);
- fill(0, 0, 255); //color down
- rect(xPos+schiff_x-schraeg, yPos, schraeg, schiff_y);
- fill(255);
- if (life>0)
- {
- ellipse(x,y,r*2,r*2);
- }
- x+=xRichtung;
- y+=yRichtung;
- if (y==r)
- yRichtung*=-1;
- if (y>=(window_y-hschiff-schiff_y-r) && (x>xPos && x<(xPos+schiff_x)))
- yRichtung*=-1;
- if (x>=(window_x-r) || x<=r)
- xRichtung*=-1;
- if ((x>=xPos && y>=yPos && y<=yPos+schiff_y) || (x<=xPos+schiff_x-r && y>=yPos && y<=yPos+schiff_y))
- xRichtung*=-1;
- if (y>window_y+r && life>0)
- {
- life--;
- delay(1000);
- x=window_x/2;
- y=window_y/2;
- }
- if (life==0)
- {
- text("GAME OVER", window_x-120, window_y-20, 10);
- text("Click the left mouse button", window_x/2, window_y/2, 10);
- gameOver = true;
- }
- for(ylauf=0; ylauf<anz_y; ylauf++)
- {
- for(xlauf=0; xlauf<anz_x; xlauf++)
- {
- if (wall[xlauf][ylauf]==4)
- {
- fill(43, 93, 39);
- rect(px+xlauf*bbalken, py+ylauf*hbalken, bbalken, hbalken);
- }
- if (wall[xlauf][ylauf]==3)
- {
- fill(57, 139, 52);
- rect(px+xlauf*bbalken, py+ylauf*hbalken, bbalken, hbalken);
- }
- if (wall[xlauf][ylauf]==2)
- {
- fill(56, 175, 48);
- rect(px+xlauf*bbalken, py+ylauf*hbalken, bbalken, hbalken);
- }
- if (wall[xlauf][ylauf]==1)
- {
- fill(46, 224, 34);
- rect(px+xlauf*bbalken, py+ylauf*hbalken, bbalken, hbalken);
- }
- }
- }
- for (xlauf=0; xlauf<anz_x; xlauf++)
- {
- for (ylauf=0; ylauf<anz_y; ylauf++)
- {
- if (y<=py+ylauf*hbalken+r+hbalken && y>=py+ylauf*hbalken-r)
- {
- if (x<=px+xlauf*bbalken+bbalken && x>=px+xlauf*bbalken)
- {
- if (wall[xlauf][ylauf]>0)
- {
- wall[xlauf][ylauf]--;
- yRichtung*=-1;
- }
- }
- }
- }
- }
- }
- void keyPressed ()
- {
- switch (key)
- {
- case '1': xRichtung=xRichtung/abs(xRichtung);
- yRichtung=yRichtung/abs(yRichtung);
- break;
- case '2': xRichtung=2*xRichtung/abs(xRichtung);
- yRichtung=2*yRichtung/abs(yRichtung);
- break;
- case '3': xRichtung=3*xRichtung/abs(xRichtung);
- yRichtung=3*yRichtung/abs(yRichtung);
- break;
- case '4': xRichtung=4*xRichtung/abs(xRichtung);
- yRichtung=4*yRichtung/abs(yRichtung);
- break;
- case '5': xRichtung=5*xRichtung/abs(xRichtung);
- yRichtung=5*yRichtung/abs(yRichtung);
- break;
- case '6': xRichtung=6*xRichtung/abs(xRichtung);
- yRichtung=6*yRichtung/abs(yRichtung);
- break;
- case '7': xRichtung=7*xRichtung/abs(xRichtung);
- yRichtung=7*yRichtung/abs(yRichtung);
- break;
- case 'M': x=mouseX;
- y=mouseY;
- break;
- case '*': life++;
- break;
- case '+': life--;
- break;
- }
- }
- void mousePressed ()
- {
- if(gameOver==true)
- {
- setup();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement