myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Schiffe versenken in C

Willkommen

myGully

Links

Forum

 
 
 
Themen-Optionen Ansicht
Prev Vorheriger Beitrag   Nächster Beitrag Next
Ungelesen 30.11.11, 20:37   #1
drop dead, gorgeous
Drop Dead, HOE
 
Benutzerbild von drop dead, gorgeous
 
Registriert seit: Feb 2009
Ort: in der Mitte der Milchstraße, in dem großen Loch da ;)
Beiträge: 89
Bedankt: 116
drop dead, gorgeous ist noch neu hier! | 0 Respekt Punkte
Standard Schiffe versenken in C

Ahoi,

zu aller erst, nein ich suche niemanden der mir das programmiert, ich suche lediglich hilfestellung bzw. berichtigte code-snippets damit das ganze läuft.

Die ganze sprache ist für mich totales neuland, also auch nicht gerade einfach. Abgabetermin des ganzen ist am freitag und ich/wir stecken fest.

Code:
#include <stdio.h>
#include <stdlib.h>

int feld1[11][11],feld2[11][11],anzeige1[11][11],anzeige2[11][11];
int getroffen=1;

int treffer1(int hor, int ver)
{

    if(feld2[hor][ver] != 95)
    {
        anzeige1[hor][ver]= 120;
        feld2[hor][ver]= 120;

        return 1;
    }
    else
        return 0;
}

int treffer2(int hor, int ver)
{

    if(feld1[hor][ver]!= 95)
    {
        anzeige2[hor][ver]= 120;
        feld1[hor][ver]=120;
        return 1;
    }
    else
        return 0;
}

void ausgabesp1()
{
    int i, j;

    for (i = 0; i < 11; i++)
    {
    printf("\n");
    for (j = 0; j < 11; j++)
    printf("%c ", feld1[i][j]);
    }
    printf("\n\n");
}

void ausgabesp2()
{
    int i, j;
    for (i = 0; i < 11; i++)
    {
    printf("\n");
    for (j = 0; j < 11; j++)
    printf("%c ", feld2[i][j]);
    }
    printf("\n\n");
}

void spiel1()
{
    int i, j;
    for (i = 0; i < 11; i++)
    {
    printf("\n");
    for (j = 0; j < 11; j++)
    printf("%c ", anzeige1[i][j]);
    }
    printf("\n\n");
}

void spiel2()
{
    int i,j;
    for(i=0;i<11;i++)
    {
        printf("\n");
        for(j=0;j<11;j++)
            printf("%c", anzeige2[i][j]);
    }
        printf("\n\n");
}

int main()
{
    int spieler1[15], spieler2[15];
    int auswahl,j,i,k,hor, richtung;
    char ver;

    printf("Herzlich Willkommen zum Spiel Schiffeversenken\n");

    printf("Bitte geben Sie Ihre Auswahl ein:\n");
    printf("<1> Neues Spiel starten\n");
    printf("<2> Beenden\n");
    scanf("%d", &auswahl);

    if(auswahl == 2)
        {
        return 0;
        }
        if(auswahl < 1 || auswahl > 2)
        {
        printf("Falsche Eingabe!");
        }

    printf("Bitte geben Sie ihren Namen ein:\n");
    printf("Spieler1:\t");
    scanf("%s",&spieler1);
    printf("Spieler2:\t");
    scanf("%s",&spieler2);

    feld1[0][0] = ' '; feld1[0][1] = '0'; feld1[0][2] = '1'; feld1[0][3] = '2'; feld1[0][4] = '3'; feld1[0][5] = '4'; feld1[0][6] = '5'; feld1[0][7] = '6';
    feld1[0][8] = '7'; feld1[0][9] = '8'; feld1[0][10] = '9';
    feld1[1][0] = 'A'; feld1[2][0] = 'B'; feld1[3][0] = 'C'; feld1[4][0] = 'D'; feld1[5][0] = 'E'; feld1[6][0] = 'F'; feld1[7][0] = 'G'; feld1[8][0] = 'H';
    feld1[9][0] = 'I'; feld1[10][0] = 'J';

    anzeige1[0][0] = ' '; anzeige1[0][1] = '0'; anzeige1[0][2] = '1'; anzeige1[0][3] = '2'; anzeige1[0][4] = '3'; anzeige1[0][5] = '4'; anzeige1[0][6] = '5';
    anzeige1[0][7] = '6';anzeige1[0][8] = '7'; anzeige1[0][9] = '8'; anzeige1[0][10] = '9';
    anzeige1[1][0] = 'A'; anzeige1[2][0] = 'B'; anzeige1[3][0] = 'C'; anzeige1[4][0] = 'D'; anzeige1[5][0] = 'E'; anzeige1[6][0] = 'F'; anzeige1[7][0] = 'G';
    anzeige1[8][0] = 'H';anzeige1[9][0] = 'I'; anzeige1[10][0] = 'J';

    feld2[0][0] = ' '; feld2[0][1] = '0'; feld2[0][2] = '1'; feld2[0][3] = '2'; feld2[0][4] = '3'; feld2[0][5] = '4'; feld2[0][6] = '5'; feld2[0][7] = '6';
    feld2[0][8] = '7'; feld2[0][9] = '8'; feld2[0][10] = '9';
    feld2[1][0] = 'A'; feld2[2][0] = 'B'; feld2[3][0] = 'C'; feld2[4][0] = 'D'; feld2[5][0] = 'E'; feld2[6][0] = 'F'; feld2[7][0] = 'G'; feld2[8][0] = 'H';
    feld2[9][0] = 'I'; feld2[10][0] = 'J';

    anzeige2[0][0] = ' '; anzeige2[0][1] = '0'; anzeige2[0][2] = '1'; anzeige2[0][3] = '2'; anzeige2[0][4] = '3'; anzeige2[0][5] = '4'; anzeige2[0][6] = '5';
    anzeige2[0][7] = '6';anzeige2[0][8] = '7'; anzeige2[0][9] = '8'; anzeige2[0][10] = '9';
    anzeige2[1][0] = 'A'; anzeige2[2][0] = 'B'; anzeige2[3][0] = 'C'; anzeige2[4][0] = 'D'; anzeige2[5][0] = 'E'; anzeige2[6][0] = 'F'; anzeige2[7][0] = 'G';
    anzeige2[8][0] = 'H';anzeige2[9][0] = 'I'; anzeige2[10][0] = 'J';

    /********************************Anzeige des Spielfeldes für Spieler 1*******************************/
    for(j=1;j<11;j++)
    {
        for(k=1;k<11;k++)
        {
            feld1[j][k] = 95;
        }

    }

    ausgabesp1();

    /**********************************Schiffe einlesen**************************************************/

    printf("%s beginnt\n\n",spieler1);
    printf("Bitte geben Sie ihre Schiffe ein!\t");
    printf("Sie muessen: \n1 4er Schiff \n2 3er Schiffe \n3 2er Schiffe und \n4 1er Schiffe eingeben!\n");

    printf("Geben Sie Ihren Startpunkt fuer Ihr 4er Schiff an und \nwaehlen Sie, ob Sie ihr Schiff waagerecht oder senkrecht setzen moechten: \n");
    printf("Geben sie <s> fuer senkrecht oder <w> fuer waagerecht ein: \n");
    richtung = getch();

    if(richtung == 115)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld1[ver-96][hor-47] = 120;
        feld1[ver-95][hor-47] = 120;
        feld1[ver-94][hor-47] = 120;
        feld1[ver-93][hor-47] = 120;

    }

    if(richtung == 119)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld1[ver-96][hor-47] = 120;
        feld1[ver-96][hor-46] = 120;
        feld1[ver-96][hor-45] = 120;
        feld1[ver-96][hor-44] = 120;
    }
    ausgabesp1();

    /************************************** 3er Schiffe ********************************/

    printf("Nun geben Sie Ihren Startpunkt fuer Ihr erstes 3er Schiff ein: \n");
    printf("Geben sie <s> fuer senkrecht oder <w> fuer waagerecht ein: \n");
    richtung = getch();

    if(richtung == 115)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld1[ver-96][hor-47] = 120;
        feld1[ver-95][hor-47] = 120;
        feld1[ver-94][hor-47] = 120;

    }
    if(richtung == 119)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld1[ver-96][hor-47] = 120;
        feld1[ver-96][hor-46] = 120;
        feld1[ver-96][hor-45] = 120;
    }
    ausgabesp1();

    printf("Nun geben Sie Ihren Startpunkt fuer Ihr zweites 3er Schiff ein: \n");
    printf("Geben sie <s> fuer senkrecht oder <w> fuer waagerecht ein: \n");
    richtung = getch();

    if(richtung == 115)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld1[ver-96][hor-47] = 120;
        feld1[ver-95][hor-47] = 120;
        feld1[ver-94][hor-47] = 120;

    }
    if(richtung == 119)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld1[ver-96][hor-47] = 120;
        feld1[ver-96][hor-46] = 120;
        feld1[ver-96][hor-45] = 120;
    }
    ausgabesp1();

    /************************************ 2er Schiffe  **********************************/

    printf("Geben Sie Ihren Startpunkt fuer Ihr erstes 2er Schiff ein: \n");
    printf("Geben sie <s> fuer senkrecht oder <w> fuer waagerecht ein: \n");
    richtung = getch();

    if(richtung == 115)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld1[ver-96][hor-47] = 120;
        feld1[ver-95][hor-47] = 120;

    }
    if(richtung == 119)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld1[ver-96][hor-47] = 120;
        feld1[ver-96][hor-46] = 120;
    }
    ausgabesp1();

    printf("Nun geben Sie Ihren Startpunkt fuer das 2. 2er Schiff ein: \n");
    printf("Geben sie <s> fuer senkrecht oder <w> fuer waagerecht ein: \n");
    richtung = getch();

    if(richtung == 115)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld1[ver-96][hor-47] = 120;
        feld1[ver-95][hor-47] = 120;

    }
    if(richtung == 119)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld1[ver-96][hor-47] = 120;
        feld1[ver-96][hor-46] = 120;
    }
    ausgabesp1();

    printf("Nun geben Sie Ihren Startpunkt fuer Ihr letztes 2er Schiff ein: \n");
    printf("Geben sie <s> fuer senkrecht oder <w> fuer waagerecht ein: \n");
    richtung = getch();

    if(richtung == 115)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld1[ver-96][hor-47] = 120;
        feld1[ver-95][hor-47] = 120;
    }
    if(richtung == 119)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld1[ver-96][hor-47] = 120;
        feld1[ver-96][hor-46] = 120;
    }
    ausgabesp1();

    /******************************* 1er Schiffe **********************************/

    printf("Nun geben Sie Ihre vier 1er Schiffe ein: \n");

    printf("Geben Sie den horizontalen Punkt ein (0-9) :\n");
    hor = getch();
    printf("Geben Sie den vertikalen Punkt ein (a-j) : \n");
    ver = getch();
    feld1[ver-96][hor-47] = 120;

    ausgabesp1();

    printf("Geben Sie den horizontalen Punkt ein (0-9) :\n");
    hor = getch();
    printf("Geben Sie den vertikalen Punkt ein (a-j) : \n");
    ver = getch();
    feld1[ver-96][hor-47] = 120;

    ausgabesp1();

    printf("Geben Sie den horizontalen Punkt ein (0-9) :\n");
    hor = getch();
    printf("Geben Sie den vertikalen Punkt ein (a-j) : \n");
    ver = getch();
    feld1[ver-96][hor-47] = 120;

    ausgabesp1();

    printf("Geben Sie den horizontalen Punkt ein (0-9) :\n");
    hor = getch();
    printf("Geben Sie den vertikalen Punkt ein (a-j) : \n");
    ver = getch();
    feld1[ver-96][hor-47] = 120;

    ausgabesp1();

    printf("Sie haben nun alle Schiffe eingegeben!\n");

    system("cls");

    printf("%s, du bist dran!", spieler2);

     /********************************Anzeige des Spielfeldes für Spieler 2*******************************/
    for(j=1;j<11;j++)
    {
        for(k=1;k<11;k++)
        {
            feld2[j][k] = 95;
        }

    }

    ausgabesp2();

    /**********************************Schiffe einlesen**************************************************/

    printf("Bitte geben Sie ihre Schiffe ein!\t");
    printf("Sie muessen: \n1 4er Schiff \n2 3er Schiffe \n3 2er Schiffe und \n4 1er Schiffe eingeben!\n");

    printf("Geben Sie Ihren Startpunkt fuer Ihr 4er Schiff an und \nwaehlen Sie, ob Sie ihr Schiff waagerecht oder senkrecht setzen moechten: \n");
    printf("Geben sie <s> fuer senkrecht oder <w> fuer waagerecht ein: \n");
    richtung = getch();

    if(richtung == 115)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld2[ver-96][hor-47] = 120;
        feld2[ver-95][hor-47] = 120;
        feld2[ver-94][hor-47] = 120;
        feld2[ver-93][hor-47] = 120;

    }
    if(richtung == 119)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld2[ver-96][hor-47] = 120;
        feld2[ver-96][hor-46] = 120;
        feld2[ver-96][hor-45] = 120;
        feld2[ver-96][hor-44] = 120;
    }
    ausgabesp2();

    /************************************** 3er Schiffe ********************************/

    printf("Nun geben Sie Ihren Startpunkt fuer Ihr erstes 3er Schiff ein: \n");
    printf("Geben sie <s> fuer senkrecht oder <w> fuer waagerecht ein: \n");
    richtung = getch();

    if(richtung == 115)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld2[ver-96][hor-47] = 120;
        feld2[ver-95][hor-47] = 120;
        feld2[ver-94][hor-47] = 120;

    }
    if(richtung == 119)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld2[ver-96][hor-47] = 120;
        feld2[ver-96][hor-46] = 120;
        feld2[ver-96][hor-45] = 120;
    }
    ausgabesp2();

    printf("Nun geben Sie Ihren Startpunkt fuer Ihr zweites 3er Schiff ein: \n");
    printf("Geben sie <s> fuer senkrecht oder <w> fuer waagerecht ein: \n");
    richtung = getch();

    if(richtung == 115)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld2[ver-96][hor-47] = 120;
        feld2[ver-95][hor-47] = 120;
        feld2[ver-94][hor-47] = 120;

    }
    if(richtung == 119)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld2[ver-96][hor-47] = 120;
        feld2[ver-96][hor-46] = 120;
        feld2[ver-96][hor-45] = 120;
    }
    ausgabesp2();

    /************************************ 2er Schiffe  **********************************/

    printf("Geben Sie Ihren Startpunkt fuer Ihr erstes 2er Schiff ein: \n");
    printf("Geben sie <s> fuer senkrecht oder <w> fuer waagerecht ein: \n");
    richtung = getch();

    if(richtung == 115)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld2[ver-96][hor-47] = 120;
        feld2[ver-95][hor-47] = 120;

    }
    if(richtung == 119)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld2[ver-96][hor-47] = 120;
        feld2[ver-96][hor-46] = 120;
    }
    ausgabesp2();

    printf("Nun geben Sie Ihren Startpunkt fuer das 2. 2er Schiff ein: \n");
    printf("Geben sie <s> fuer senkrecht oder <w> fuer waagerecht ein: \n");
    richtung = getch();

    if(richtung == 115)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld2[ver-96][hor-47] = 120;
        feld2[ver-95][hor-47] = 120;

    }
    if(richtung == 119)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld2[ver-96][hor-47] = 120;
        feld2[ver-96][hor-46] = 120;
    }
    ausgabesp2();

    printf("Nun geben Sie Ihren Startpunkt fuer Ihr letztes 2er Schiff ein: \n");
    printf("Geben sie <s> fuer senkrecht oder <w> fuer waagerecht ein: \n");
    richtung = getch();

    if(richtung == 115)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld2[ver-96][hor-47] = 120;
        feld2[ver-95][hor-47] = 120;
    }
    if(richtung == 119)
    {
        printf("Geben Sie die horizontale Starposition ein (0-9) :\n");
        hor = getch();
        printf("Geben Sie die vertikale Startposition ein (a-j) : \n");
        ver = getch();
        feld2[ver-96][hor-47] = 120;
        feld2[ver-96][hor-46] = 120;
    }
    ausgabesp2();

    /******************************* 1er Schiffe **********************************/

    printf("Nun geben Sie Ihre vier 1er Schiffe ein: \n");

    printf("Geben Sie den horizontalen Punkt ein (0-9) :\n");
    hor = getch();
    printf("Geben Sie den vertikalen Punkt ein (a-j) : \n");
    ver = getch();
    feld2[ver-96][hor-47] = 120;

    ausgabesp2();

    printf("Geben Sie den horizontalen Punkt ein (0-9) :\n");
    hor = getch();
    printf("Geben Sie den vertikalen Punkt ein (a-j) : \n");
    ver = getch();
    feld2[ver-96][hor-47] = 120;

    ausgabesp2();

    printf("Geben Sie den horizontalen Punkt ein (0-9) :\n");
    hor = getch();
    printf("Geben Sie den vertikalen Punkt ein (a-j) : \n");
    ver = getch();
    feld2[ver-96][hor-47] = 120;

    ausgabesp2();

    printf("Geben Sie den horizontalen Punkt ein (0-9) :\n");
    hor = getch();
    printf("Geben Sie den vertikalen Punkt ein (a-j) : \n");
    ver = getch();
    feld2[ver-96][hor-47] = 120;

    ausgabesp2();

    printf("Sie haben nun alle Schiffe eingegeben!\n");

    system("cls");

    printf("\tDas Spiel beginnt!\n\n");

    /*********************************** anzeige1 mit ?? füllen **********************/

    for(j=1;j<11;j++)
    {
        for(k=1;k<11;k++)
        {
            anzeige1[j][k] = '?';
        }

    }

    /*printf("Geben Sie den horizontalen Punkt ein (0-9) :\n");
    hor = getch();
    printf("Geben Sie den vertikalen Punkt ein (a-j) : \n");
    ver = getch();*/


    /* do
    {*/
       spiel1();
    printf("Geben Sie den horizontalen Punkt ein (0-9) :\n");
    hor = getch();
    printf("Geben Sie den vertikalen Punkt ein (a-j) : \n");
    ver = getch();

    getroffen = treffer1(hor-48, ver-95);
    if(getroffen == 1)
    {
        printf("Treffer! Sie sind noch einmal an der Reihe");
    }
    else
    {
        printf("Wasser!");
    }


    /*} while(getroffen == 1);*/
    /*do
    {*/
    spiel1();
    printf("Geben Sie den horizontalen Punkt ein (0-9) :\n");
    hor = getch();
    printf("Geben Sie den vertikalen Punkt ein (a-j) : \n");
    ver = getch();

    getroffen = treffer1(hor-48, ver-95);
    if(getroffen == 1)
    printf("Treffer! Sie sind noch einmal an der Reihe");

    //} while(getroffen == 1);



    return 0;
}
Das ist, was wir soweit haben. Es hapert momentan an den schüssen. Wird ein Schiff getroffen, sollte ein 'x' angezeigt werden, bei wasser einfach ein '-'.


Hier einmal die aufgabenstellung vom prof.




eventuell hat ja jemand lust zu helfen

Achso, falls jemand sich dazu entschliessen sollte ein komplett neues programm zu schreiben können wir auch gerne über eine Belohnung alá OCH Account reden
__________________
drop dead, gorgeous ist offline   Mit Zitat antworten
 


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:52 Uhr.


Sitemap

().