Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Problem bei Mühlespiel

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
25.11.2006, 19:22 Uhr
~Schlubl
Gast


Hallo
Ich find an ein Mühlespiel im C zu programmieren.Ich finde,ich bin noch recht weit gekommen.
Problem:
-Beim Verschieben eines Steines darf der Stein nur 1 nach links oder nach unten oder oben oder rechts.Das kann ich nicht einprogrammiere.
-Beim Abfragen ob man das Spiel starten will und man nicht j oder n eingiebt kommt eine Meldung und dann kommt sie gleich nochmal wie kann ich das ändern?
-Ich will der Name der Spieler in den verschiedenen Programm Teile angeben doch der Compiler giebt einen Fehler aus.
-Ich will die 2.Spieler-Namen im Spielfeld drin sehen

gruss schlubl
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.11.2006, 19:36 Uhr
BoBtheREapER
kein job für nen BoB


nen bisschen source wäre schon nicht schlecht...
--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
26.11.2006, 08:25 Uhr
~Schlubl
Gast



Code:
#include <stdio.h>

#define LEER ' '
#define CLEAR system("cls");
char Muhle[7][7] = { {' ',' ',' ',' ',' ',' ',' '},
                         {' ',' ',' ',' ',' ',' ',' '},
                         {' ',' ',' ',' ',' ',' ',' '},
                         {' ',' ',' ',' ',' ',' ',' '},
                         {' ',' ',' ',' ',' ',' ',' '},
                         {' ',' ',' ',' ',' ',' ',' '},
                         {' ',' ',' ',' ',' ',' ',' '} };
                        
                        
                        
                         char Spieler1 = '\x01';
                         char Spieler2 = '\x02';
                        
                        
                         unsigned int felder = 24 ;
                         void print_spielfeld(void);

void spielfeld(void) {
   int i,i_wahl;
  
  
   printf("\n   %c------------------------%c------------------------%c",Muhle[0][0],Muhle[0][3],Muhle[0][6]);
   printf("\n   |                        |                        |");
   printf("\n   |                        |                        |");
   printf("\n   |     %c------------------%c------------------%c     |",Muhle[1][1],Muhle[1][3],Muhle[1][5]);
   printf("\n   |     |                  |                  |     |");
   printf("\n   |     |                  |                  |     |");
   printf("\n   |     |                  |                  |     |");
   printf("\n   |     |                  |                  |     |");
   printf("\n   |     |      %c-----------%c-----------%c      |     |",Muhle[2][2],Muhle[2][3],Muhle[2][4]);
   printf("\n   |     |      |                       |      |     |");
   printf("\n   |     |      |                       |      |     |");
   printf("\n   |     |      |                       |      |     |");
   printf("\n   |     |      |                       |      |     |");
   printf("\n   |     |      |                       |      |     |");
   printf("\n   %c-----%c------%c                       %c------%c-----%c",Muhle[3][0],Muhle[3][1],Muhle[3][2],Muhle[3][4],Muhle[3][5],Muhle[3][6]);
   printf("\n   |     |      |                       |      |     |");
   printf("\n   |     |      |                       |      |     |");
   printf("\n   |     |      |                       |      |     |");
   printf("\n   |     |      |                       |      |     |");
   printf("\n   |     |      |                       |      |     |");
   printf("\n   |     |      %c-----------%c-----------%c      |     |",Muhle[4][2],Muhle[4][3],Muhle[4][4]);
   printf("\n   |     |                  |                  |     |");
   printf("\n   |     |                  |                  |     |");
   printf("\n   |     |                  |                  |     |");
   printf("\n   |     |                  |                  |     |");
   printf("\n   |     %c------------------%c------------------%c     |",Muhle[5][1],Muhle[5][3],Muhle[5][5]);
   printf("\n   |                        |                        |");
   printf("\n   |                        |                        |");
   printf("\n   %c------------------------%c------------------------%c",Muhle[6][0],Muhle[6][3],Muhle[6][6]);
  
        
  
}  
int muhle1(void) {
    int zeil,spalt;
  /* Zuerst Spieler1 'X' */
  if(Muhle[0][0] == Spieler1 &&
     Muhle[0][3] == Spieler1 &&
     Muhle[0][6] == Spieler1 ||
     Muhle[1][2] == Spieler1 &&
     Muhle[1][3] == Spieler1 &&
     Muhle[1][5] == Spieler1 ||
     Muhle[2][2] == Spieler1 &&
     Muhle[2][3] == Spieler1 &&
     Muhle[2][4] == Spieler1 ||
     Muhle[3][0] == Spieler1 &&
     Muhle[3][1] == Spieler1 &&
     Muhle[3][2] == Spieler1 ||
     Muhle[3][4] == Spieler1 &&
     Muhle[3][5] == Spieler1 &&
     Muhle[3][6] == Spieler1 ||
     Muhle[4][2] == Spieler1 &&
     Muhle[4][3] == Spieler1 &&
     Muhle[4][4] == Spieler1 ||
     Muhle[5][1] == Spieler1 &&
     Muhle[5][3] == Spieler1 &&
     Muhle[5][5] == Spieler1 ||
     Muhle[6][0] == Spieler1 &&
     Muhle[6][3] == Spieler1 &&
     Muhle[6][6] == Spieler1 ||
     Muhle[0][0] == Spieler1 &&
     Muhle[3][0] == Spieler1 &&
     Muhle[6][0] == Spieler1 ||
     Muhle[1][1] == Spieler1 &&
     Muhle[3][1] == Spieler1 &&
     Muhle[5][1] == Spieler1 ||
     Muhle[2][3] == Spieler1 &&
     Muhle[3][3] == Spieler1 &&
     Muhle[4][3] == Spieler1 ||
     Muhle[0][3] == Spieler1 &&
     Muhle[1][3] == Spieler1 &&
     Muhle[2][3] == Spieler1 ||
     Muhle[4][3] == Spieler1 &&
     Muhle[5][3] == Spieler1 &&
     Muhle[6][3] == Spieler1 ||
     Muhle[2][4] == Spieler1 &&
     Muhle[3][4] == Spieler1 &&
     Muhle[4][4] == Spieler1 ||
     Muhle[1][5] == Spieler1 &&
     Muhle[3][5] == Spieler1 &&
     Muhle[5][5] == Spieler1 ||
     Muhle[0][6] == Spieler1 &&
     Muhle[3][6] == Spieler1 &&
     Muhle[6][6] == Spieler1  ){
      printf("Spieler1 hat Mühle\n");
              back:
                  CLEAR;
              printf("Spieler1 welchen Stein von Spieler 2 wollen sie aus dem Spiel nehmen?");
              printf("\nZeile (1 bis 7): ");
              scanf("%d",&zeil);
              printf("\nSpalte (1 bis 7): ");
              scanf("%d",&spalt);
              if(Muhle[zeil-1][spalt-1] == LEER){
                  printf("\n\tFalsche Angabe!");
                  sleep(5000);
                  CLEAR;
                  spielfeld();
                  goto back;
              }
              
              else{
                  Muhle[zeil-1][spalt-1] = ' ';
                  
                  
                  CLEAR;
                  spielfeld();
                  sleep(5000);
              }
  }
}  
  /* Jetzt Spieler2 'O' */
  int muhle2(void) {
    int zeil,spalt;
   if(Muhle[0][0] == Spieler2 &&
     Muhle[0][3] == Spieler2 &&
     Muhle[0][6] == Spieler2 ||
     Muhle[1][2] == Spieler2 &&
     Muhle[1][3] == Spieler2 &&
     Muhle[1][5] == Spieler2 ||
     Muhle[2][2] == Spieler2 &&
     Muhle[2][3] == Spieler2 &&
     Muhle[2][4] == Spieler2 ||
     Muhle[3][0] == Spieler2 &&
     Muhle[3][1] == Spieler2 &&
     Muhle[3][2] == Spieler2 ||
     Muhle[3][4] == Spieler2 &&
     Muhle[3][5] == Spieler2 &&
     Muhle[3][6] == Spieler2 ||
     Muhle[4][2] == Spieler2 &&
     Muhle[4][3] == Spieler2 &&
     Muhle[4][4] == Spieler2 ||
     Muhle[5][1] == Spieler2 &&
     Muhle[5][3] == Spieler2 &&
     Muhle[5][5] == Spieler2 ||
     Muhle[6][0] == Spieler2 &&
     Muhle[6][3] == Spieler2 &&
     Muhle[6][6] == Spieler2 ||
     Muhle[0][0] == Spieler2 &&
     Muhle[3][0] == Spieler2 &&
     Muhle[6][0] == Spieler2 ||
     Muhle[1][1] == Spieler2 &&
     Muhle[3][1] == Spieler2 &&
     Muhle[5][1] == Spieler2 ||
     Muhle[2][3] == Spieler2 &&
     Muhle[3][3] == Spieler2 &&
     Muhle[4][3] == Spieler2 ||
     Muhle[0][3] == Spieler2 &&
     Muhle[1][3] == Spieler2 &&
     Muhle[2][3] == Spieler2 ||
     Muhle[4][3] == Spieler2 &&
     Muhle[5][3] == Spieler2 &&
     Muhle[6][3] == Spieler2 ||
     Muhle[2][4] == Spieler2 &&
     Muhle[3][4] == Spieler2 &&
     Muhle[4][4] == Spieler2 ||
     Muhle[1][5] == Spieler2 &&
     Muhle[3][5] == Spieler2 &&
     Muhle[5][5] == Spieler2 ||
     Muhle[0][6] == Spieler2 &&
     Muhle[3][6] == Spieler2 &&
     Muhle[6][6] == Spieler2 ){
              printf("Spieler2 hat Mühle\n");
              backk:
                  CLEAR;
              printf("Spieler2 welchen Stein von Spieler 1 wollen sie aus dem Spiel nehmen?");
              printf("\nZeile (1 bis 7): ");
              scanf("%d",&zeil);
              printf("\nSpalte (1 bis 7): ");
              scanf("%d",&spalt);
              if(Muhle[zeil-1][spalt-1] == LEER){
                  printf("\n\tFalsche Angabe!");
                  sleep(5000);
                  CLEAR;
                  spielfeld();
                  goto backk;
              }
              
              else{
                  Muhle[zeil-1][spalt-1] = ' ';
                  
                  CLEAR;
                  spielfeld();
                  sleep(5000);  
                  }
              
   }
  
}



 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
26.11.2006, 08:27 Uhr
~Schlubl
Gast


2. Teil

Code:
char spielstein(){
    
    int x;
    unsigned int zeile,spalte;
    for(x=1; x<=9; x=x+1){
        zurck:
            
    printf("\nWo  m\x94\x63hten Sie(Spieler 1) den %i.Spielstein setzen?",x);
    printf("\nZeile (1 bis 7): ");
    scanf("%d",&zeile);
    printf("\nSpalte (1 bis 7): ");
    scanf("%d",&spalte);
        
    if(Muhle[zeile-1][spalte-1] == LEER && zeile <= 7 && spalte <=7){
       Muhle[zeile-1][spalte-1] = '\x01';
     CLEAR;
       spielfeld();
      
  }  
  
  else {
      
      printf("\n!!! Feld ist bereits besetzt !!!\n");
      CLEAR;
      spielfeld();
      goto zurck;
      
}  
zuruck:
printf("\nWo  m\x94\x63hten Sie (Spieler 2) den %i.Spielstein setzen?",x);
    
    printf("\nZeile (1 bis 7): ");
    scanf("%d",&zeile);
    printf("\nSpalte (1 bis 7): ");
    scanf("%d",&spalte);
    if(Muhle[zeile-1][spalte-1] == LEER){
       Muhle[zeile-1][spalte-1] = '\x02';
      CLEAR;
      spielfeld();
     muhle1();
  }  
  else {
      
      printf("\n!!! Feld ist bereits besetzt !!!\n");
      CLEAR;
      spielfeld();
      goto zuruck;
}  
}
}
int spielzug(void){
    int zeile,spalte;
    
        CLEAR;
        spielfeld();
    printf("Welchen Stein wollen Sie(Spieler1) verschieben?");
    printf("\nZeile (1 bis 7): ");
    scanf("%d",&zeile);
    printf("\nSpalte (1 bis 7): ");
    scanf("%d",&spalte);
    Muhle[zeile-1][spalte-1] = ' ';
    spielfeld();
    back:
    printf("\nWohin wollen Sie(Spieler1) den Stein verschieben?");
    printf("\nZeile (1 bis 7): ");
    scanf("%d",&zeile);
    printf("\nSpalte (1 bis 7): ");
    scanf("%d",&spalte);
    if(Muhle[zeile-1][spalte-1] == ' '){
    Muhle[zeile-1][spalte-1] = '\x01';
}
else{
    printf("Falsche Angabe!");
    sleep(3000);
    goto back;
}      
spielfeld();
muhle1();
    
        CLEAR
        spielfeld();
    printf("Welchen Stein wollen Sie(Spieler2) verschieben?");
    printf("\nZeile (1 bis 7): ");
    scanf("%d",&zeile);
    printf("\nSpalte (1 bis 7): ");
    scanf("%d",&spalte);
    Muhle[zeile-1][spalte-1] = ' ';
    spielfeld();
    backk:
    printf("\n\nWohin wollen Sie(Spieler2) den Stein verschieben?");
    printf("\nZeile (1 bis 7): ");
    scanf("%d",&zeile);
    printf("\nSpalte (1 bis 7): ");
    scanf("%d",&spalte);
    if(Muhle[zeile-1][spalte-1] == ' '){
    Muhle[zeile-1][spalte-1] = '\x02';
}
else{
    printf("Falsche Angabe!");
    sleep(3000);
    goto backk;
  
}    
spielfeld();
    muhle2();
}
int main(void)
{
char spieler1[21],spieler2[21];
char spielen;
char ruckgabewert;





    CLEAR;
    start:
        ruckgabewert=spielen;
        CLEAR;
        
printf("M\x94\x63hten Sie M\x81\x68le spielen?");

scanf("%c",&spielen);

if(spielen == 'j')
{
printf("Der Name des 1. Spieler lautet:");
        scanf("%s",&spieler1);
        printf("Der Name des 2. Spieler lautet:");
        scanf("%s",&spieler2);
        
        CLEAR;
        
        
        printf("%s \x01 \n",spieler1);
        printf("%s \x02 ",spieler2);            
        spielfeld();
        sleep(5000);
        spielstein();
        sleep(5000);
        spielzug();

}

if(spielen == 'n')
{
printf("\nWarum haben Sie das Programm \x81\x62\x65rhaupt gestartet?");
sleep(3000);
}

if(spielen != 'n'  && spielen != 'j' ){
    printf("Sie m\x81\x73sen j oder n antworten!");
    
  spielen=ruckgabewert;
  
    sleep(5000);
    CLEAR;
    goto start;
    
}

}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
26.11.2006, 19:15 Uhr
nminh96



also ich bin da nicht sooo gut drin, aber warum benutzt du nicht "cout" ?
EDIT: ups, überlesen, ich dachte c++
--
www.minhhoang.de.vu - besuch doch mal meine homepage

Dieser Post wurde am 26.11.2006 um 19:15 Uhr von nminh96 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: