Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Download e codice sorgente disponibile su http://www.mrchrhd.altervista.org --
- #include <iostream>
- #include <string>
- #include <cstdio>
- #include <graphics.h>
- #include <windows.h>
- using namespace std;
- int uscita();
- void gioco(int maxscore, string SFX);
- void guida();
- void sett(int &maxscore, string &SFX);
- void changelog();
- int main();
- //Shared
- int maxscore = 10;
- string SFX = "On";
- //Menù principale
- int main()
- {
- //Impostazioni finestra
- HWND console = GetConsoleWindow();
- RECT r;
- GetWindowRect(console, &r);
- MoveWindow(console, r.left, r.top, 800, 600, TRUE);
- //Scelta
- string scelta;
- do
- {
- system("CLS");
- system("COLOR C");
- cout << " Pong!" << endl << endl;
- cout << " Menu' Principale:" << endl << endl;
- cout << "1- [G]ioca!" << endl << "2- [I]mpostazioni" << endl << "3- [Gu]ida" <<endl << "4- [C]hangelog" << endl << "0- [E]sci" << endl << endl;
- cout << "Scegli un'opzione (scrivere il contenuto nelle parentesi, case sensitive): ";
- cin >> scelta;
- if (scelta != "E" && scelta != "G" && scelta != "I" && scelta != "Gu" && scelta != "C")
- {
- cout << endl << endl << "Comando non riconosciuto. Controlla cio' che hai scritto e riprova." << endl;
- system("PAUSE");
- cout << endl;
- }
- }while(scelta != "E" && scelta != "G" && scelta != "I" && scelta != "Gu" && scelta != "C");
- if (scelta == "E")
- {
- uscita();
- }
- if (scelta == "G")
- {
- gioco(maxscore, SFX);
- }
- if (scelta == "I")
- {
- sett(maxscore, SFX);
- }
- if (scelta == "Gu")
- {
- guida();
- }
- if (scelta == "C")
- {
- changelog();
- }
- }
- //Uscita
- int uscita()
- {
- cout << endl << endl << "Uscita in corso...";
- Sleep(1500);
- return 0;
- }
- //Gioco
- void gioco(int maxscore, string SFX)
- {
- system("CLS");
- initwindow(1280, 696, "Pong!");
- setbkcolor(BLUE);
- setcolor(WHITE);
- int a[4] = {30, 298, 60, 398};
- int b[4] = {1220, 298, 1250, 398};
- int p[2] = {90, 350};
- int v = 0, p1sc = 0, p2sc = 0;
- // v indica il movimento della pallina
- // Se v = 1 allora la pallina va dritta verso sinistra
- // Se v = 2 allora la pallina va varso sinistra, con un'inclinazione pari a 1/2
- // Se v = 3 allora la pallina va verso sinistra, con un'inclinazione pari a -1/2
- // Se v = 4 allora la pallina va verso sinistra, con un'inclinazione elevata POSITIVA
- // Se v = 5 allora la pallina va verso sinistra, con un'inclinazione elevata NEGATIVA
- // Se v = 10 allora la pallina va dritta verso sinistra
- // Se v = 11 allora la pallina va verso destra, con un'inclinazione pari a 1/2
- // Se v = 12 allora la pallina va verso destra, con un'inclinazione pari a -1/2
- // Se v = 13 allora la pallina va verso sinistra, con un'inclinazione elevata POSITIVA
- // Se v = 14 allora la pallina va verso sinistra, con un'inclinazione elevata NEGATIVA
- // Se v = 20 allora la pallina rimbalza verso il basso dopo aver toccato la parte superiore
- // Se v = 21 allora la pallina rimbalza verso l'alto dopo aver toccato la parte inferiore.
- outtextxy(370, 350, "Premere un tasto per iniziare... I punteggi sono visualizzati sulla schemata del menu' principale.");
- getch();
- cleardevice();
- outtextxy(550, 350, "La partita iniziera' in: 3");
- Sleep(1000);
- cleardevice();
- outtextxy(550, 350, "La partita iniziera' in: 2");
- Sleep(1000);
- cleardevice();
- outtextxy(550, 350, "La partita iniziera' in: 1");
- Sleep(1000);
- cleardevice();
- if (SFX == "On")
- {
- Beep(440, 600);
- }
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- setcolor(WHITE);
- rectangle(25, 39, 1255, 657);
- circle(p[0], p[1], 30);
- while(1)
- {
- // Movimento in basso P1
- if(GetAsyncKeyState('S'))
- {
- cleardevice();
- a[1] = a[1]+ 5;
- a[3] = a[3]+ 5;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Movimento in alto P1
- if(GetAsyncKeyState('W'))
- {
- cleardevice();
- a[1] = a[1] - 5;
- a[3] = a[3] - 5;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Movimento in basso P2
- if(GetAsyncKeyState(VK_DOWN))
- {
- cleardevice();
- b[1] = b[1] + 5;
- b[3] = b[3] + 5;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Movimento in alto P2
- if(GetAsyncKeyState(VK_UP))
- {
- cleardevice();
- b[1] = b[1] - 5;
- b[3] = b[3] - 5;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Limite del campo P1
- if(a[3] > 650)
- {
- cleardevice();
- a[3] = 649;
- a[1] = 549;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- if(a[1] < 50)
- {
- cleardevice();
- a[1] = 51;
- a[3] = 151;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Limite del campo P2
- if(b[3] > 650)
- {
- cleardevice();
- b[3] = 649;
- b[1] = 549;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- if(b[1] < 50)
- {
- cleardevice();
- b[1] = 51;
- b[3] = 151;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Sbatte su P1
- if(p[1] < a[3]+30 && p[1] > a[1]-30)
- {
- if(p[0] == a[2]+30 || p[0] < a[2]+30 && p[0] > a[2]-59)
- {
- if (SFX == "On")
- {
- Beep(300, 100);
- }
- //Centro
- if(p[1] < a[3]-40 && p[1] > a[1]+40)
- {
- cleardevice();
- p[0] = p[0] +system("COLOR FC"); 10;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- v = 10;
- }
- //Parte alta intermedia
- if(p[1] < a[3]-60 && p[1] > a[1]+20)
- {
- cleardevice();
- p[0] = p[0] + 10;
- p[1] = p[1] - 5;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- v = 11;
- }
- //Parte bassa intermedia
- if(p[1] < a[3]-20 && p[1] > a[1]+60)
- {
- cleardevice();
- p[0] = p[0] + 10;
- p[1] = p[1] + 5;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- v = 12;
- }
- //Parte alta estrema
- if(p[1] < a[3]-80 && p[1] > a[1]-30)
- {
- cleardevice();
- p[0] = p[0] - 10;
- p[1] = p[1] - 8;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- v = 13;
- }
- //Parte bassa estrema
- if(p[1] < a[3]+30 && p[1] > a[1]+80)
- {
- cleardevice();
- p[0] = p[0] + 10;
- p[1] = p[1] + 8;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- v = 14;
- }
- }
- }
- // Sbatte su P2
- if(p[1] < b[3]+30 && p[1] > b[1]-30)
- {
- if(p[0] == b[0]-30 || p[0] > b[0]-30 && p[0] < b[2]+10)
- {
- if (SFX == "On")
- {
- Beep(300, 100);
- }
- //Centro
- if(p[1] < b[3]-40 && p[1] > b[1]+40)
- {
- cleardevice();
- p[0] = p[0] - 10;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- v = 1;
- }
- //Parte alta intermedia
- if(p[1] < b[3]-60 && p[1] > b[1]+20)
- {
- cleardevice();
- p[0] = p[0] - 10;
- p[1] = p[1] - 5;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- v = 2;
- }
- //Parte bassa intermedia
- if(p[1] < b[3]-20 && p[1] > b[1]+60)
- {
- cleardevice();
- p[0] = p[0] - 10;
- p[1] = p[1] + 5;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- v = 3;
- }
- //Parte bassa estrema
- if(p[1] < b[3]+30 && p[1] > b[1]+80)
- {
- cleardevice();
- p[0] = p[0] - 10;
- p[1] = p[1] + 8;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- v = 4;
- }
- //Parte alta estrema
- if(p[1] < b[3]-80 && p[1] > b[1]-30)
- {
- cleardevice();
- p[0] = p[0] - 10;
- p[1] = p[1] - 8;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- v = 5;
- }
- }
- }
- // Sbatte in alto
- if(p[1] < 70)
- {
- if (SFX == "On")
- {
- Beep(300, 100);
- }
- if(v == 2)
- {
- v = 3;
- }
- if(v == 11)
- {
- v = 12;
- }
- if(v == 5)
- {
- v = 4;
- }
- if(v == 13)
- {
- v = 14;
- }
- }
- // Sbatte in basso
- if(p[1] > 620)
- {
- if (SFX == "On")
- {
- Beep(300, 100);
- }
- if(v == 3)
- {
- v = 2;
- }
- if(v == 12)
- {
- v = 11;
- }
- if(v == 4)
- {
- v = 5;
- }
- if(v == 14)
- {
- v = 13;
- }
- }
- // Se v = 1 allora la pallina va dritta verso sinistra
- if(v == 1)
- {
- cleardevice();
- p[0] = p[0] - 10;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Se v = 2 allora la pallina va varso sinistra, con un'inclinazione pari a 1/2
- if(v == 2)
- {
- cleardevice();
- p[0] = p[0] - 10;
- p[1] = p[1] - 5;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Se v = 3 allora la pallina va verso sinistra, con un'inclinazione pari a -1/2
- if(v == 3)
- {
- cleardevice();
- p[0] = p[0] - 10;
- p[1] = p[1] + 5;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Se v = 4 allora la pallina va verso sinistra, con un'inclinazione elevata POSITIVA
- if(v == 4)
- {
- cleardevice();
- p[0] = p[0] - 5;
- p[1] = p[1] + 8 ;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Se v = 5 allora la pallina va verso sinistra, con un'inclinazione elevata NEGATIVA
- if(v == 5)
- {
- cleardevice();
- p[0] = p[0] - 5;
- p[1] = p[1] - 8;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Se v = 10 allora la pallina va dritta verso destra
- if(v == 10)
- {
- cleardevice();
- p[0] = p[0] + 10;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Se v = 11 allora la pallina va verso destra, con un'inclinazione pari a 1/2
- if(v == 11)
- {
- cleardevice();
- p[0] = p[0] + 10;
- p[1] = p[1] - 5;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Se v = 12 allora la pallina va verso destra, con un'inclinazione pari a -1/2
- if(v == 12)
- {
- cleardevice();
- p[0] = p[0] + 10;
- p[1] = p[1] + 5;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Se v = 13 allora la pallina va verso destra, con un'inclinazione elevata POSITIVA
- if(v == 13)
- {
- cleardevice();
- p[0] = p[0] + 5;
- p[1] = p[1] - 8;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- // Se v = 14 allora la pallina va verso destra, con un'inclinazione elevata NEGATIVA
- if(v == 14)
- {
- cleardevice();
- p[0] = p[0] + 5;
- p[1] = p[1] + 8;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- }
- //Goal P2
- if(p[0] < a[0]-80)
- {
- p2sc++;
- cout << "Giocatore 2 segna! Punteggio attuale: " << p1sc << "-" << p2sc << "." << endl;
- if(p2sc == maxscore)
- {
- cleardevice();
- if (SFX == "On")
- {
- Beep(440, 250);
- Beep(440, 250);
- Beep(440, 250);
- }
- outtextxy(410, 350, "Partita terminata. Congratulazioni Giocatore 2! Hai vinto! Per continuare, vedere la console.");
- Sleep(3000);
- break;
- }
- if (SFX == "On")
- {
- Beep(500, 100);
- }
- outtextxy(440, 350, "Giocatore 2 segna! Palla al centro. Per continuare, vedere la console.");
- system("PAUSE");
- cleardevice();
- outtextxy(570, 350, "Il prossimo round iniziera' in: 3");
- Sleep(1000);
- cleardevice();
- outtextxy(550, 350, "Il prossimo round iniziera' in: 2");
- Sleep(1000);
- cleardevice();
- outtextxy(550, 350, "Il prossimo round iniziera' in: 1");
- a[1] = 298;
- a[3] = 398;
- b[1] = 298;
- b[3] = 398;
- p[0] = 620;
- p[1] = 350;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 39, 1255, 657);
- v = 1;
- }
- //Goal P1
- if(p[0] > b[0]+80)
- {
- p1sc++;
- cout << "Giocatore 1 segna! Punteggio attuale: " << p1sc << "-" << p2sc << "." << endl;
- if(p1sc == maxscore)
- {
- cleardevice();
- if (SFX == "On")
- {
- Beep(440, 250);
- Beep(440, 250);
- Beep(440, 250);
- }
- outtextxy(410, 350, "Partita terminata. Congratulazioni Giocatore 1! Hai vinto! Per continuare, vedere la console.");
- Sleep(3000);
- break;
- }
- if (SFX == "On")
- {
- Beep(500, 100);
- }
- outtextxy(440, 350, "Giocatore 1 segna! Palla al centro. Per continuare, vedere la console.");
- system("PAUSE");
- cleardevice();
- outtextxy(550, 350, "Il prossimo round iniziera' in: 3");
- Sleep(1000);
- cleardevice();
- outtextxy(550, 350, "Il prossimo round iniziera' in: 2");
- Sleep(1000);
- cleardevice();
- outtextxy(550, 350, "Il prossimo round iniziera' in: 1");
- a[1] = 298;
- a[3] = 398;
- b[1] = 298;
- b[3] = 398;
- p[0] = 620;
- p[1] = 350;
- setcolor(LIGHTGREEN);
- rectangle(a[0], a[1], a[2], a[3]);
- outtextxy(10, 10, "Giocatore 1");
- setcolor(LIGHTRED);
- rectangle(b[0], b[1], b[2], b[3]);
- outtextxy(1200, 10, "Giocatore 2");
- setcolor(WHITE);
- circle(p[0], p[1], 30);
- rectangle(25, 99, 1255, 651);
- v = 10;
- }
- delay(25); //7
- }
- system("PAUSE");
- closegraph();
- main();
- }
- //Guida
- void guida()
- {
- string ind;
- do
- {
- system("CLS");
- system("COLOR B");
- cout << " Pong!" << endl << endl;
- cout << " Guida:" << endl << endl;
- cout<<"I due giocatori devono respingere la palla per evitare di perdere il round."<< endl << endl << endl;
- cout<<"Movimenti:"<<endl;
- cout << endl << endl <<"I movimenti per ogni giocatore sono due: verso l'alto e verso il basso."<< endl << endl << endl;
- cout<<"Impostazioni tastiera:"<< endl << endl;
- cout <<"Giocatore 1: "<< endl << "'W' -> Movimento verso l'alto." << endl << "'S' -> Movimento verso il basso." << endl << endl;
- cout <<"Giocatore 2: "<< endl << "Freccia su -> Movimento verso l'alto." << endl << "Freccia giu' -> Movimento verso il basso." << endl << endl;
- cout << "[I]ndietro" << endl << endl;
- cout << "Input richiesto (scrivere in maiuscolo): ";
- cin >> ind;
- }while(ind != "I");
- main();
- }
- void sett(int &maxscore, string &SFX)
- {
- string scelta;
- do
- {
- do
- {
- system("CLS");
- system("COLOR A");
- cout << " Pong!" << endl << endl;
- cout << " Impostazioni:" << endl << endl;
- cout << "[P]unteggio massimo: " << maxscore << "." << endl;
- cout << endl;
- cout << "[S]uoni (On/Off): " << SFX << "." << endl << endl;
- cout << "[I]ndietro" << endl << endl;
- cout << "Scegli il comando da cambiare (scrivi in maiuscolo cio' che trovi nelle parentesi): ";
- cin >> scelta;
- }while(scelta != "P" && scelta != "I" && scelta != "S");
- if(scelta == "P")
- {
- do{
- cout << "Scegli il nuovo punteggio massimo: ";
- cin >> maxscore;
- }while(maxscore < 1 || maxscore > 100);
- }
- if(scelta == "S")
- {
- do{
- cout << "Impostazione suoni (scrivere On oppure Off): ";
- cin >> SFX;
- }while(SFX != "On" && SFX != "Off");
- }
- }while(scelta != "I");
- cout << endl << "Impostazioni salvate. Ritorno al menu' principale in tre secondi.";
- Sleep(2500);
- main();
- }
- void changelog()
- {
- string scelta;
- do
- {
- system("CLS");
- system("COLOR 2");
- cout << " Pong!" << endl << endl;
- cout << " Changelog:" << endl << endl;
- cout << "Versione 1.1 (Attuale): " << endl;
- cout << "+ Aggiunti Suoni." << endl << "+ Aggiunta un'impostazione per disattivare gli effetti sonori." << endl;
- cout << "+ Il menu' impostazioni e' un vero e proprio menu'!" << endl << "+ Modificate i vari menu e pagine." << endl;
- cout << "+ Aggiunta pagina Changelog." << endl << "+ Modificato il sistema di scelta dei menu'." << endl << "+ Bug Fix Minori." << endl;
- cout << endl;
- cout << "Versione 1.0: " << endl;
- cout << "+ Versione stabile del gioco.";
- cout << endl << endl;
- cout << "[I]ndietro";
- cout << endl << endl;
- cout << "Input Richiesto: ";
- cin >> scelta;
- }while(scelta != "I");
- main();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement