521 lines
12 KiB
Plaintext
521 lines
12 KiB
Plaintext
void draw()
|
|
{
|
|
|
|
status_server = status;
|
|
//STARTSCREEN
|
|
if (status==0)
|
|
{
|
|
if (mousePressed && mouseX>100 && mouseX<300 && mouseY>10 && mouseY<60 && player_character_server !=0)
|
|
{
|
|
status = 1;
|
|
background(255);
|
|
heal_server = 100000;
|
|
if (!serverRunning)
|
|
{
|
|
s = new Server(this, 4444); // starte den Server
|
|
serverRunning = true;
|
|
}
|
|
}
|
|
//Background
|
|
image(Background_Start, 0, 0);
|
|
|
|
//character abfrage für vorschau
|
|
if (mousePressed && mouseX>175 && mouseX<225 && mouseY>400 && mouseY<450)
|
|
{
|
|
player_character_server = 1;
|
|
}
|
|
if (mousePressed && mouseX>100 && mouseX<150 && mouseY>400 && mouseY<450)
|
|
{
|
|
player_character_server = 2;
|
|
}
|
|
|
|
if (mousePressed && mouseX>250 && mouseX<300 && mouseY>400 && mouseY<450)
|
|
{
|
|
player_character_server= 3;
|
|
}
|
|
|
|
//Menu button
|
|
if (mousePressed && mouseX>1800 && mouseX<1900 && mouseY>100 && mouseY<200 )
|
|
{
|
|
status=2;
|
|
}
|
|
|
|
//character vorschau mainscreen
|
|
fill(255);
|
|
textSize(22);
|
|
text("Character auswahl", 110, 150);
|
|
textSize(12);
|
|
|
|
//Defaultcharacter IMAGE
|
|
if (player_character_server == 1)
|
|
{
|
|
fill(#FAAB00);
|
|
ellipse(200, 230, 64, 64);
|
|
fill(255);
|
|
fill(0);
|
|
}
|
|
//Mario
|
|
if (player_character_server == 2)
|
|
{
|
|
image(Mario_character, 175, 200);
|
|
}
|
|
//Luigi
|
|
if (player_character_server == 3)
|
|
{
|
|
image(Luigi_character, 175, 200);
|
|
}
|
|
|
|
|
|
//Namen Text Feld
|
|
switch (state) {
|
|
case 0:
|
|
fill(0);
|
|
textSize(32);
|
|
text("Gib deinem charakter einen namen \n" + ": "+player_name_server, 600, 100);
|
|
textSize(12);
|
|
noFill();
|
|
break;
|
|
case 1:
|
|
fill(255, 2, 2);
|
|
textSize(32);
|
|
text ("Dein name ist \n"+":"+player_name_server, 600, 100);
|
|
textSize(12);
|
|
fill(0);
|
|
noFill();
|
|
break;
|
|
}
|
|
|
|
textSize(22);
|
|
text("!!Du darfst nur 8 Buchstaben / Zahlen verwenden!!", 620, 200);
|
|
textSize(12);
|
|
|
|
//Server Start button
|
|
fill(#00E7FA);
|
|
rect(100, 10, 200, 40);
|
|
fill(0);
|
|
text("Starte Multiplayer Server", 120, 35);
|
|
noFill();
|
|
|
|
//Mario select button
|
|
fill(#F50A0A);
|
|
rect(100, 400, 50, 50);
|
|
fill(0);
|
|
text("Mario", 110, 430);
|
|
noFill();
|
|
|
|
//Luigi select button
|
|
fill(#08FA4E);
|
|
rect(250, 400, 50, 50);
|
|
fill(0);
|
|
text("Luigi", 260, 430);
|
|
noFill();
|
|
|
|
//Default select button
|
|
fill(#FFB108);
|
|
rect(175, 400, 50, 50);
|
|
fill(0);
|
|
text("Balli", 185, 430);
|
|
noFill();
|
|
|
|
//Menu
|
|
fill(#FF1F1F);
|
|
image(menu, 1800, 100);
|
|
fill(0);
|
|
textSize(32);
|
|
fill(#05C7FF);
|
|
text("Menü", 1805, 100);
|
|
fill(0);
|
|
textSize(12);
|
|
|
|
|
|
if (!Startmusik.isPlaying() && soundon == true)
|
|
{
|
|
Startmusik.play();
|
|
}
|
|
if (soundon == false)
|
|
{
|
|
Startmusik.stop();
|
|
}
|
|
|
|
//IP Show
|
|
textSize(20);
|
|
|
|
text("IP : " + Server.ip(), 100, 800);
|
|
textSize(12);
|
|
|
|
fill(#00F4FF);
|
|
ellipse(mouseX, mouseY, 10, 10);
|
|
}
|
|
//MAIN GAME---------------------------MAINGAME------------------------------------------------------------------------------------------------------
|
|
|
|
if (status==1)
|
|
{
|
|
image(backgroundgame, 0, 0);
|
|
Startmusik.stop();
|
|
//BOARDER
|
|
noFill();
|
|
strokeWeight(4);
|
|
rect(110, 100, 1540, 900);
|
|
strokeWeight(1);
|
|
//Player SHOW INGAME--SERVER------------
|
|
if (player_character_server == 1)
|
|
{
|
|
fill(#FAAB00);
|
|
ellipse(server_x, server_y, 64, 64);
|
|
fill(255);
|
|
noFill();
|
|
}
|
|
if (player_character_server == 2)
|
|
{
|
|
image(Mario_character, server_x-20, server_y-20);
|
|
}
|
|
if (player_character_server == 3)
|
|
{
|
|
image(Luigi_character, server_x-20, server_y-20);
|
|
}
|
|
//Player SHOW INGAME--CLIENT------------
|
|
if (player_character_client == 1)
|
|
{
|
|
fill(#FAAB00);
|
|
ellipse(client_x, client_y, 64, 64);
|
|
fill(255);
|
|
noFill();
|
|
}
|
|
if (player_character_client== 2)
|
|
{
|
|
image(Mario_character, client_x-20, client_y-20);
|
|
}
|
|
if (player_character_client == 3)
|
|
{
|
|
image(Luigi_character, client_x-20, client_y-20);
|
|
}
|
|
//debug
|
|
if (debug == true)
|
|
{
|
|
rect(server_x-5, server_y-5, 10, 10);
|
|
rect(client_x-5, client_y-5, 10, 10);
|
|
}
|
|
// TEXT ZEICHNEN SERVER
|
|
if (player_character_server !=0)
|
|
{
|
|
fill(0, 0, 0);
|
|
textSize(22);
|
|
text(player_name_server, server_x-10, server_y-20);
|
|
textSize(12);
|
|
}
|
|
// TEXT ZEICHNEN CLIENT
|
|
if (player_character_client !=0)
|
|
{
|
|
fill(0, 0, 0);
|
|
textSize(22);
|
|
text(player_name_client, client_x-10, client_y-20);
|
|
textSize(12);
|
|
}
|
|
//MINIMAP
|
|
fill(#766D6D);
|
|
rect(1699, 19, 201, 201);
|
|
fill(#870CF5);
|
|
image(backgroundminimap, 1700, 20);
|
|
ellipse(server_x/9.6+1700, server_y/5.4+20, 16, 16);
|
|
if (player_character_client != 0)
|
|
{
|
|
fill(#FF0303);
|
|
ellipse(client_x/9.6+1700, client_y/5.4+20, 16, 16);
|
|
}
|
|
noFill();
|
|
|
|
//Heal Bar
|
|
fill(#1BF078);
|
|
//player_heal
|
|
rect(100, 30, heal_server/500, 10);
|
|
noFill();
|
|
if (player_character_client !=0)
|
|
{
|
|
fill(#FF1A12);
|
|
rect(client_x -30, client_y -50, heal_client/1000, 10);
|
|
noFill();
|
|
}
|
|
if (heal_server <= 100)
|
|
{
|
|
status = 4;
|
|
player_character_server = 0;
|
|
heal_server = 100000;
|
|
}
|
|
if (heal_client <= 100)
|
|
{
|
|
player_character_client = 0;
|
|
heal_client = 100000;
|
|
points++;
|
|
}
|
|
|
|
// Punktesystem
|
|
textSize(20);
|
|
text(points, 400, 50);
|
|
textSize(12);
|
|
|
|
//Menu
|
|
fill(#FF1F1F);
|
|
image(menu, 10, 980);
|
|
menu.resize(0, 50);
|
|
fill(0);
|
|
textSize(22);
|
|
fill(255);
|
|
text("Menü", 10, 980);
|
|
fill(0);
|
|
textSize(12);
|
|
//button trigger menu ingame
|
|
if (mousePressed && mouseX>10 && mouseX<60 && mouseY>980 && mouseY<1030)
|
|
{
|
|
menu_ingame = true;
|
|
}
|
|
|
|
//ENABLE SHOOTINGS SERVER SIDE
|
|
|
|
mouseX_server = mouseX;
|
|
mouseY_server = mouseY;
|
|
|
|
for (int n=0; n<50; n++)
|
|
{
|
|
fill(50);
|
|
ellipse(KugelX_server[n], KugelY_server[n], 10, 10);
|
|
KugelX_server[n] += cos(radians(KugelRichtung_server[n]))*5;
|
|
KugelY_server[n] += sin(radians(KugelRichtung_server[n]))*5;
|
|
}
|
|
if (mousepressed_server == 1 && player_character_server !=0)
|
|
{
|
|
KugelX_server[nummer_server] = server_x+25;
|
|
KugelY_server[nummer_server] = server_y+25;
|
|
KugelRichtung_server[nummer_server] = richtungMaus_server(server_x, server_y);
|
|
nummer_server = (nummer_server+1)%50;
|
|
}
|
|
|
|
// ENABLE SHOOTINGS CLIENT
|
|
|
|
for (int n=0; n<50; n++)
|
|
{
|
|
fill(50);
|
|
ellipse(KugelX_client[n], KugelY_client[n], 10, 10);
|
|
KugelX_client[n] += cos(radians(KugelRichtung_client[n]))*5;
|
|
KugelY_client[n] += sin(radians(KugelRichtung_client[n]))*5;
|
|
//abstand von kugel berechnen und leben abziehen
|
|
for (int i=0; i<50; i++)
|
|
{
|
|
if (abstand(x_server[i], y_server[i], KugelX_server[n], KugelY_server[n]) < 60&& player_character_client !=0)
|
|
{
|
|
heal_client = heal_client -1;
|
|
}
|
|
}
|
|
}
|
|
for (int n=0; n<50; n++)
|
|
|
|
{
|
|
x_server[n] = client_x;
|
|
y_server[n] = client_y;
|
|
}
|
|
if (mousepressed_client == 1 && player_character_client !=0)
|
|
{
|
|
KugelX_client[nummer_client] = client_x+25;
|
|
KugelY_client[nummer_client] = client_y+25;
|
|
KugelRichtung_client[nummer_client] = richtungMaus_client(client_x, client_y);
|
|
nummer_client = (nummer_client+1)%50;
|
|
}
|
|
//Gun
|
|
spielerZeichnen_server(server_x+25, server_y+25);
|
|
if (player_character_client !=0)
|
|
{
|
|
spielerZeichnen_client(client_x+25, client_y+25);
|
|
}
|
|
fill(#00F4FF);
|
|
ellipse(mouseX, mouseY, 10, 10);
|
|
}
|
|
//Menu-------------------------------STARTSCREEN--------MENUUUUUUU----------------------------
|
|
if (status==2)
|
|
{
|
|
image(Background_Start, 0, 0);
|
|
fill(255);
|
|
rect(810, 390, 300, 300);
|
|
fill(0);
|
|
|
|
textSize(22);
|
|
text("MENÜ", 920, 430);
|
|
fill(0);
|
|
textSize(12);
|
|
|
|
|
|
//SOUNDBUTTON true or false
|
|
|
|
rect(840, 450, 49, 49);
|
|
if (buttonCooldown > 0) buttonCooldown --;
|
|
if ( mousePressed && mouseX>840 && mouseX<890 && mouseY>450 && mouseY<500 && buttonCooldown == 0)
|
|
{
|
|
buttonCooldown = 30;
|
|
if (soundon == true)
|
|
{
|
|
soundon=false;
|
|
} else if (soundon == false)
|
|
{
|
|
soundon=true;
|
|
}
|
|
}
|
|
if (soundon==true)
|
|
{
|
|
image(y, 840, 450);
|
|
fill(0);
|
|
textSize(18);
|
|
text("Musik ist AN!", 910, 480);
|
|
textSize(12);
|
|
if (!Startmusik.isPlaying())
|
|
{
|
|
Startmusik.play();
|
|
}
|
|
}
|
|
if (soundon==false)
|
|
{
|
|
image(x, 840, 450);
|
|
fill(0);
|
|
textSize(18);
|
|
text("Musik ist AUS!", 910, 480);
|
|
textSize(12);
|
|
Startmusik.stop();
|
|
}
|
|
//buton exit
|
|
fill(#0FDBCC);
|
|
rect(1040, 630, 50, 50);
|
|
fill(0);
|
|
textSize(14);
|
|
text("Zurück", 1040, 660);
|
|
textSize(12);
|
|
//button trigger
|
|
if (mousePressed && mouseX>1040 && mouseX<1090 && mouseY>630 && mouseY<680)
|
|
{
|
|
status = 0;
|
|
}
|
|
}
|
|
//Menu ingame-----------------------------------------------------------------------------------------------------
|
|
|
|
if (menu_ingame)
|
|
{
|
|
fill(255);
|
|
rect(810, 390, 300, 300);
|
|
fill(0);
|
|
|
|
textSize(22);
|
|
text("MENÜ", 920, 430);
|
|
fill(0);
|
|
textSize(12);
|
|
|
|
//buton exit
|
|
fill(#0FDBCC);
|
|
rect(1040, 630, 50, 50);
|
|
fill(0);
|
|
textSize(14);
|
|
text("Zurück", 1040, 660);
|
|
textSize(12);
|
|
|
|
if (mousePressed && mouseX>1040 && mouseX<1090 && mouseY>630 && mouseY<680)
|
|
{
|
|
menu_ingame = false;
|
|
status = 1;
|
|
}
|
|
|
|
//Server Close
|
|
fill(255);
|
|
rect(840, 450, 49, 49);
|
|
fill(0);
|
|
//server on or off
|
|
|
|
if (serverRunning == true)
|
|
{
|
|
image(y, 840, 450);
|
|
fill(0);
|
|
textSize(18);
|
|
text("Server ist ON!", 910, 480);
|
|
textSize(12);
|
|
}
|
|
if (serverRunning == false)
|
|
{
|
|
image(x, 840, 450);
|
|
fill(0);
|
|
textSize(18);
|
|
text("Server ist OFF!", 910, 480);
|
|
textSize(12);
|
|
}
|
|
if (debug == true)
|
|
{
|
|
if (buttonCooldown > 0) buttonCooldown --;
|
|
if (mousePressed && mouseX>840 && mouseX<890 && mouseY>450 && mouseY<500 && buttonCooldown == 0)
|
|
{
|
|
buttonCooldown = 30;
|
|
if (serverRunning == true)
|
|
{
|
|
serverRunning = false;
|
|
} else if (serverRunning == false)
|
|
{
|
|
serverRunning=true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//---------------------------Loosing screen-------------------------------------------------------
|
|
if (status == 4)
|
|
{
|
|
points = 0;
|
|
image(Background_Start, 0, 0);
|
|
fill(#391A7C);
|
|
rect(300, 300, 200, 50);
|
|
textSize(15);
|
|
fill(0);
|
|
text("Click here to Respawn", 300, 350);
|
|
textSize(12);
|
|
state = 0;
|
|
noFill();
|
|
if (mousePressed && mouseX>300 && mouseX<500 && mouseY>300 && mouseY<350)
|
|
{
|
|
status = 0;
|
|
player_character_server = 0;
|
|
heal_server = 100000;
|
|
heal_client = 100000;
|
|
}
|
|
}
|
|
//----------------------------------------------------------------------------------
|
|
if (serverRunning)
|
|
{
|
|
datenLesenServer();
|
|
if (taste[0] && server_y>100) {
|
|
server_y= server_y-5*(60/frameRate);
|
|
}
|
|
if (taste[1] && server_x>110) {
|
|
server_x= server_x-5*(60/frameRate);
|
|
}
|
|
if (taste[2] && server_y<1000) {
|
|
server_y= server_y+5*(60/frameRate);
|
|
}
|
|
if (taste[3] && server_x<1650) {
|
|
server_x= server_x+5*(60/frameRate);
|
|
}
|
|
datenSchreibenServer();
|
|
}
|
|
//DEBUG MODE
|
|
if (debug == true && status == 1)
|
|
{
|
|
fill(#FF0000);
|
|
text(frameRate, 1600, 20);
|
|
text(frameCount, 1600, 40);
|
|
text(server_x, 1300, 20);
|
|
text(server_y, 1400, 20);
|
|
text(mouseX_server, 1200, 20);
|
|
text(mouseY_server, 1100, 20);
|
|
text(heal_server, 1000, 20);
|
|
text(status, 900, 20);
|
|
|
|
text(client_x, 1300, 40);
|
|
text(client_y, 1400, 40);
|
|
text(mouseX_client, 1200, 40);
|
|
text(mouseY_client, 1100, 40);
|
|
text(heal_client, 1000, 40);
|
|
fill(0);
|
|
}
|
|
fill(#00F4FF);
|
|
ellipse(mouseX, mouseY, 10, 10);
|
|
}
|