Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <fstream>
- #include <iomanip>
- using namespace std;
- char taulukko[7][7];
- void paavalikko();
- void tulostaValikkotekstit();
- char lueValinta();
- void suoritaToiminto(char toiminto);
- void sijotteluk();
- void alustaminen();
- void tulostaminen();
- void title();
- void viivaus();
- void viisi_laiva();
- void nelja_laiva();
- void kolme_laiva();
- void kaksi_laiva();
- void viisi_tyhj();
- void nelja_tyhj();
- void kolme_tyhj();
- void kaksi_tyhj();
- int main()
- {
- alustaminen();
- paavalikko();
- return 0;
- }
- void paavalikko()
- {
- char valinta;
- do {
- valinta = 0;
- tulostaValikkotekstit();
- valinta = lueValinta();
- switch (valinta)
- {
- case '1': {
- sijotteluk();
- continue;
- }
- case '2': suoritaToiminto('2');
- break;
- case '3': suoritaToiminto('3');
- break;
- case 'l':
- case 'L': suoritaToiminto('L');
- break;
- default: cerr << "\nLaiton valinta, syota uudelleen!\n\n";
- system("pause");
- break;
- }
- } while ('L' != toupper(valinta));
- }
- void tulostaValikkotekstit()
- {
- system("cls");
- cout <<
- "\n\
- Laivanupotuspeli\n\
- ================\n\
- \n\
- Valinnat:\n\
- \n\
- 1) Syota laivat\n\
- 2) Pelaa\n\
- 3) Arvo laivojen sijainnit\n\
- L) Lopeta\n\
- "; tulostaminen();
- cout << "\n\
- Valintasi : ";
- }
- char lueValinta()
- {
- char valinta;
- cin >> valinta;
- return valinta;
- }
- void suoritaToiminto(char toiminto)
- {
- if ('l' != toiminto && 'L' != toiminto)
- cout << "\nMennaan suorittamaan toiminto, jonka id = " << toiminto << endl << endl;
- else
- cout << "\nPoistutaan ohjelmasta." << endl << endl;
- system("pause");
- }
- void sijotteluk() {
- alustaminen();
- viisi_laiva();
- nelja_laiva();
- kolme_laiva();
- kaksi_laiva();
- }
- void alustaminen() {
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- taulukko[i][j] = ' ';
- }
- }
- }
- void tulostaminen() {
- title();
- viivaus();
- for (int i = 0; i < 7; i++) {
- cout << setw(1) << (char)('A' + i) << setw(2) << '|';
- for (int j = 0; j < 7; j++)
- cout << setw(2) << taulukko[i][j];
- cout << setw(2) << '|';
- cout << setw(2) << (char)('A' + i) << endl;
- }
- viivaus();
- title();
- }
- void title() {
- const int cols = 7;
- cout << " ";
- for (int i = 0; i < cols; i++)
- cout << setw(2) << (char)('1' + i);
- cout << endl;
- }
- void viivaus() {
- const int cols = 7;
- cout << setw(3) << '-';
- for (int i = 0; i < cols; i++)
- cout << "--";
- cout << "--\n";
- }
- void kaksi_laiva() {
- tulostaValikkotekstit();
- string koordinaatti, ilmansuunta;
- int riv, num, ils;
- cout << "Syota 3-pituisen laivan koordinaatti: ";
- cin >> koordinaatti;
- cout << "Syota 3-pituisen laivan ilmansuunta: ";
- cin >> ilmansuunta;
- ilmansuunta[0] = toupper(ilmansuunta[0]);
- koordinaatti[0] = toupper(koordinaatti[0]);
- riv = koordinaatti[0];
- num = koordinaatti[1];
- ils = ilmansuunta[0];
- if (ils != 73 && ils != 76 && ils != 80 && ils != 69) {
- cout << "Syottamasi ilmansuunta on virheellinen, ole hyva ja syota valinta uudelleen. \n";
- system("pause");
- }
- //ETELÄ
- if (ils == 69) {
- if (riv >= 65 && riv <= 70) {
- if (num >= 49 && num <= 55) {
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 64 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (taulukko[i][j] != 'x') {
- taulukko[i][j] = ' ';
- }
- }
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- //POHJOINEN
- if (ils == 80) {
- if (riv >= 66 && riv <= 72) {
- if (num >= 49 && num <= 55) {
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 66 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (taulukko[i][j] != 'x') {
- taulukko[i][j] = ' ';
- }
- }
- }
- }
- else {
- cout << endl << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- else {
- cout << endl << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- //LANSI
- if (ils == 76) {
- if (riv >= 65 && riv <= 72) {
- if (num >= 50 && num <= 55) {
- cout << "E_SUCCES" << "(" << koordinaatti << ")";
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 65 && j == num - 50) {
- taulukko[i][j] = 'x';
- }
- else if (taulukko[i][j] != 'x') {
- taulukko[i][j] = ' ';
- }
- }
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- //ITA
- if (ils == 73) {
- if (riv >= 65 && riv <= 72) {
- if (num >= 49 && num <= 54) {
- cout << "E_SUCCES" << "(" << koordinaatti << ")";
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 65 && j == num - 48) {
- taulukko[i][j] = 'x';
- }
- else if (taulukko[i][j] != 'x') {
- taulukko[i][j] = ' ';
- }
- }
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- }
- void kolme_laiva() {
- tulostaValikkotekstit();
- string koordinaatti, ilmansuunta;
- int riv, num, ils;
- cout << "Syota 3-pituisen laivan koordinaatti: ";
- cin >> koordinaatti;
- cout << "Syota 3-pituisen laivan ilmansuunta: ";
- cin >> ilmansuunta;
- ilmansuunta[0] = toupper(ilmansuunta[0]);
- koordinaatti[0] = toupper(koordinaatti[0]);
- riv = koordinaatti[0];
- num = koordinaatti[1];
- ils = ilmansuunta[0];
- if (ils != 73 && ils != 76 && ils != 80 && ils != 69) {
- cout << "Syottamasi ilmansuunta on virheellinen, ole hyva ja syota valinta uudelleen. \n";
- system("pause");
- }
- //ETELÄ
- if (ils == 69) {
- if (riv >= 65 && riv <= 69) {
- if (num >= 49 && num <= 55) {
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 64 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 63 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (taulukko[i][j] != 'x') {
- taulukko[i][j] = ' ';
- }
- }
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- //POHJOINEN
- if (ils == 80) {
- if (riv >= 67 && riv <= 72) {
- if (num >= 49 && num <= 55) {
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 66 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 67 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (taulukko[i][j] != 'x') {
- taulukko[i][j] = ' ';
- }
- }
- }
- }
- else {
- cout << endl << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- else {
- cout << endl << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- //LANSI
- if (ils == 76) {
- if (riv >= 65 && riv <= 72) {
- if (num >= 51 && num <= 55) {
- cout << "E_SUCCES" << "(" << koordinaatti << ")";
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 65 && j == num - 50) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 65 && j == num - 51) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 65 && j == num - 52) {
- taulukko[i][j] = 'x';
- }
- else if (taulukko[i][j] != 'x') {
- taulukko[i][j] = ' ';
- }
- }
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- //ITA
- if (ils == 73) {
- if (riv >= 65 && riv <= 72) {
- if (num >= 49 && num <= 53) {
- cout << "E_SUCCES" << "(" << koordinaatti << ")";
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 65 && j == num - 48) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 65 && j == num - 47) {
- taulukko[i][j] = 'x';
- }
- else if (i == riv - 65 && j == num - 46) {
- taulukko[i][j] = 'x';
- }
- else if (taulukko[i][j] != 'x') {
- taulukko[i][j] = ' ';
- }
- }
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- }
- void nelja_laiva() {
- tulostaValikkotekstit();
- string koordinaatti, ilmansuunta;
- int riv, num, ils;
- cout << "Syota 4-pituisen laivan koordinaatti: ";
- cin >> koordinaatti;
- cout << "Syota 4-pituisen laivan ilmansuunta: ";
- cin >> ilmansuunta;
- ilmansuunta[0] = toupper(ilmansuunta[0]);
- koordinaatti[0] = toupper(koordinaatti[0]);
- riv = koordinaatti[0];
- num = koordinaatti[1];
- ils = ilmansuunta[0];
- if (ils != 73 && ils != 76 && ils != 80 && ils != 69) {
- cout << "Syottamasi ilmansuunta on virheellinen, ole hyva ja syota valinta uudelleen. \n";
- system("pause");
- }
- //ETELÄ
- if (ils == 69) {
- if (riv >= 65 && riv <= 68) {
- if (num >= 49 && num <= 55) {
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- else if (i == riv - 64 && j == num - 49) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- else if (i == riv - 63 && j == num - 49) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- else if (i == riv - 62 && j == num - 49) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- }
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- nelja_laiva
- }
- }
- //POHJOINEN
- if (ils == 80) {
- if (riv >= 68 && riv <= 72) {
- if (num >= 49 && num <= 55) {
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- else if (i == riv - 66 && j == num - 49) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- else if (i == riv - 67 && j == num - 49) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- else if (i == riv - 68 && j == num - 49) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- }
- }
- }
- else {
- cout << endl << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- else {
- cout << endl << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- //LANSI
- if (ils == 76) {
- if (riv >= 65 && riv <= 72) {
- if (num >= 52 && num <= 55) {
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- else if (i == riv - 65 && j == num - 50) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- else if (i == riv - 65 && j == num - 51) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- else if (i == riv - 65 && j == num - 52) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- }
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- //ITA
- if (ils == 73) {
- if (riv >= 65 && riv <= 72) {
- if (num >= 49 && num <= 52) {
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- else if (i == riv - 65 && j == num - 48) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- else if (i == riv - 65 && j == num - 47) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- else if (i == riv - 65 && j == num - 46) {
- if (taulukko[i][j] != '5') {
- taulukko[i][j] = '4';
- }
- else {
- nelja_tyhj();
- nelja_laiva();
- }
- }
- }
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- }
- }
- }
- void viisi_laiva() {
- tulostaValikkotekstit();
- string koordinaatti, ilmansuunta;
- // 5 PITUINEN LAIVA !!!!!!!
- int riv, num, ils;
- cout << "Syota 5-pituisen laivan koordinaatti: ";
- cin >> koordinaatti;
- cout << "Syota 5-pituisen laivan ilmansuunta: ";
- cin >> ilmansuunta;
- ilmansuunta[0] = toupper(ilmansuunta[0]);
- koordinaatti[0] = toupper(koordinaatti[0]);
- riv = koordinaatti[0];
- num = koordinaatti[1];
- ils = ilmansuunta[0];
- if (ils != 73 && ils != 76 && ils != 80 && ils != 69) {
- cout << "Syottamasi ilmansuunta on virheellinen, ole hyva ja syota valinta uudelleen. \n";
- system("pause");
- }
- //ETELÄ
- if (ils == 69) {
- if (riv >= 65 && riv <= 67) {
- if (num >= 49 && num <= 55) {
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 64 && j == num - 49) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 63 && j == num - 49) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 62 && j == num - 49) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 61 && j == num - 49) {
- taulukko[i][j] = '5';
- }
- }
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- viisi_laiva();
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- viisi_laiva();
- }
- }
- //POHJOINEN
- if (ils == 80) {
- if (riv >= 69 && riv <= 72) {
- if (num >= 49 && num <= 55) {
- cout << "E_SUCCES" << "(" << koordinaatti << ")";
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 66 && j == num - 49) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 67 && j == num - 49) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 68 && j == num - 49) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 69 && j == num - 49) {
- taulukko[i][j] = '5';
- }
- }
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- viisi_laiva();
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- viisi_laiva();
- }
- }
- //LANSI
- if (ils == 76) {
- if (riv >= 65 && riv <= 72) {
- if (num >= 53 && num <= 55) {
- cout << "E_SUCCES" << "(" << koordinaatti << ")";
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 65 && j == num - 50) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 65 && j == num - 51) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 65 && j == num - 52) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 65 && j == num - 53) {
- taulukko[i][j] = '5';
- }
- }
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- viisi_laiva();
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- viisi_laiva;
- }
- }
- //ITA
- if (ils == 73) {
- if (riv >= 65 && riv <= 72) {
- if (num >= 49 && num <= 51) {
- cout << "E_SUCCES" << "(" << koordinaatti << ")";
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (i == riv - 65 && j == num - 49) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 65 && j == num - 48) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 65 && j == num - 47) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 65 && j == num - 46) {
- taulukko[i][j] = '5';
- }
- else if (i == riv - 65 && j == num - 45) {
- taulukko[i][j] = '5';
- }
- }
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- viisi_laiva();
- }
- }
- else {
- cout << "Syottamasi koordinaatti: " << koordinaatti << " on virheellinen! ";
- system("pause");
- viisi_laiva();
- }
- }
- }
- void viisi_tyhj(){}
- void nelja_tyhj(){
- for (int i = 0; i < 7; i++) {
- for (int j = 0; j < 7; j++) {
- if (taulukko[i][j] == '4') {
- taulukko[i][j] = ' ';
- }
- }
- }
- }
- void kolme_tyhj(){}
- void kaksi_tyhj(){}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement