all work today

This commit is contained in:
Makussu 2023-10-22 22:58:49 +02:00
parent a527307ee1
commit 82e3afcfe5
4 changed files with 68 additions and 19 deletions

View File

@ -13,7 +13,7 @@
float speed = 20;
float gravitation = 9.81;
float jumpheight;
float jumpcooldown = 12;
boolean canjump = true;
// for moving x-axis (mostly depracted)
// But dont delete yet!!
@ -23,12 +23,12 @@ int playerRadius = 25;
// float actualPos;
PVector tilesize = new PVector(50, 50);
PVector tilesize = new PVector(100, 50);
int[][] level;
int tilesmoved = 0;
int tilespeed = 3;
int tilespeed = 4;
// The actual game
void play() {
@ -86,6 +86,7 @@ void collisionTest() {
// Collision with baseline
if ( pos.y > 0.850*height - playerRadius/2 ) {
pos.set(pos.x, 0.850*height - playerRadius/2);
canjump = true;
}
// Collision with all the tiles bottom site
@ -93,13 +94,16 @@ void collisionTest() {
boolean xSideEdges = pos.x > level[i][0] - tilesize.x/2 && pos.x < level[i][0] + tilesize.x/2;
boolean ySideEdges = pos.y < level[i][1] + tilesize.y/2 && pos.y > level[i][1] - tilesize.y/2;
if (level[i][4] == 0) {
// Bottom
if ( (xSideEdges) && (ySideEdges)) {
pos.set(pos.x, level[i][1] + tilesize.y/2);
}
// Top
if ( (xSideEdges) && (pos.y < level[i][1] + tilesize.y/2 && pos.y > level[i][1] - tilesize.y/2 - playerRadius)) {
pos.set(pos.x, level[i][1] - tilesize.y/2 - 15);
if ( (xSideEdges) && (ySideEdges)) {
pos.set(pos.x, level[i][1] + tilesize.y/2);
}
// Top
if ( (xSideEdges) && (pos.y < level[i][1] + tilesize.y/2 && pos.y > level[i][1] - tilesize.y/2 - playerRadius)) {
pos.set(pos.x, level[i][1] - tilesize.y/2 - 15);
canjump = true;
}
}
}
}

View File

@ -15,7 +15,10 @@ void keyPressed () {
// pos.x = pos.x + direction.x * speed;
// }
} else if (key == ' ') {
jumpspeed =+ 30;
if(canjump) {
jumpspeed =+ 31;
canjump = false;
}
}
} else if (iseditor) {
if (key == 's') {

View File

@ -1,3 +1,7 @@
import processing.sound.*;
SoundFile jumpsound;
SoundFile deathsound;
void setup() {
size(800,800);
frameRate(60);
@ -25,30 +29,48 @@ boolean iseditor = false;
// This is the start screen and main menu. It has a few Buttons
void mainMenu() {
background(14, 181, 59);
background(246, 244, 235);
fill(116, 155, 194);
textSize(128);
textAlign(CENTER);
text("p4dash", width/2, height/2 - 100);
// go to game
if (drawRectWithMouseColission(width/2, height/2, 100, 100)) {
fill(70, 130, 169);
if (drawRectWithMouseColission(width/2, height/2, 300, 100)) {
if (mousePressed) {
ismenu = false;
isgame = true;
}
}
// go to menu
if (drawRectWithMouseColission(width/2, height/2+200, 100, 100)) {
fill(0);
textSize(40);
text("Play", width/2, height/2);
// go to editor
fill(70, 130, 169);
if (drawRectWithMouseColission(width/2, height/2+200, 300, 100)) {
if (mousePressed) {
ismenu = false;
iseditor = true;
}
}
fill(0);
textSize(40);
text("Editor", width/2, height/2+200);
fill(145, 200, 228);
// exit game
if (drawRectWithMouseColission(50, 100, 80, 40)) {
if (mousePressed) {
exit();
}
}
fill(0);
textSize(40);
text("Exit", 50, 110);
}
void menuButton() {
fill(145, 200, 228);
if (drawRectWithMouseColission(50, 50, 80, 40)) {
if (mousePressed) {
ismenu = true;
@ -58,6 +80,9 @@ void menuButton() {
savetofile("save");
}
}
fill(0);
textSize(40);
text("Exit", 50, 50+10);
}
// Map Editor Mode
@ -97,6 +122,19 @@ boolean drawTriangleWithMouseColission(int x, int y, int rectwidth, int rectheig
}
}
boolean drawTriangleWithPlayerColission(int x, int y, int rectwidth, int rectheight) {
// Draw A Rect
rectMode(CENTER);
triangle(x - rectwidth/2, y, x + rectwidth/2, y, x, y - rectheight);
// Check it for collission
if(dist(pos.x, pos.y, x+rectwidth/2, y-rectheight/2) < rectheight/2) {
return true;
} else {
return false;
}
}
// These are my Debugger Functions
void debug() {
// println(screenoffset);

View File

@ -13,7 +13,9 @@ void generate_tiles() {
if (level[i][4] == 0) {
rect(level[i][0]-screenx, level[i][1], level[i][2], level[i][3]);
} else {
triangle(level[i][0]-level[i][2]/2 -screenx, level[i][1], level[i][0]+level[i][2]/2, level[i][1], level[i][0], level[i][1]-level[i][3]);
if (drawTriangleWithPlayerColission(level[i][0] -screenx, level[i][1], level[i][2], level[i][3])) {
moveTilesBack(tilespeed);
}
}
}
}
@ -84,14 +86,16 @@ void drawBackground() {
fill(sun);
ellipse(130, 100, 70, 70);
fill(0);
randomSeed(0);
drawPalm(100, 700);
drawPalm(200, 700);
drawPalm(300, 700);
drawPalm(400, 700);
fill(darksand);
point(500, 770);
fill(0);
}
// No Clouds yet
@ -144,7 +148,7 @@ boolean checkSaveFile(String filepath) {
// Check if there already is a safefile and load it if it is possible. If not load empty array
int[][] loadJson(String jsonfile) {
if (checkSaveFile("./saves/save.json")) {
if (!checkSaveFile("./saves/save.json")) {
JSONArray values = loadJSONArray(jsonfile);
// println(values.size());