#include #include #include #define cs 0 #define en 1 #define fr 2 #define de 3 #define hu 4 #define it 5 #define jp 6 #define pl 7 #define es 8 typedef struct nazev{ char *rock; char *sci; char *paper; } NAZEV; NAZEV slovnik[9]; typedef struct osoba{ char *meno; int score; } OSOBA; int getLang(char *lang){ if (strcmp(lang,"cs") == 0) { return 0; } else if (strcmp(lang,"en") == 0) { return 1; } else if (strcmp(lang,"fr") == 0) { return 2; } else if (strcmp(lang,"de") == 0) { return 3; } else if (strcmp(lang,"hu") == 0) { return 4; } else if (strcmp(lang,"it") == 0) { return 5; } else if (strcmp(lang,"jp") == 0) { return 6; } else if (strcmp(lang,"pl") == 0) { return 7; } else if (strcmp(lang,"es") == 0) { return 8; } else return -1; } int getValue(int lang, char *zbran){ if (strcmp("Koe",zbran) == 0){ strcpy(zbran,"Ko"); } if (strcmp("Olloo",zbran) == 0){ strcpy(zbran,"Ollo"); } if (strcmp("Rete",zbran) == 0){ strcpy(zbran,"Carta"); } if (strcmp("Roccia",zbran) == 0){ strcpy(zbran,"Sasso"); } if ( strcmp(slovnik[lang].rock, zbran) == 0 ){ return 0; } if ( strcmp(slovnik[lang].sci, zbran) == 0 ){ return 1; } if ( strcmp(slovnik[lang].paper, zbran) == 0 ){ return 2; } return -1; } int getResult(int prvy, int druhy){ /*remiz*/ if (prvy == druhy){ return 0; } if (prvy == 0 && druhy == 1){ return 1; } if (prvy == 0 && druhy == 2){ return 2; } if (prvy == 1 && druhy == 0){ return 2; } if (prvy == 1 && druhy == 2){ return 1; } if (prvy == 2 && druhy == 0){ return 1; } if (prvy == 2 && druhy == 1){ return 2; } return -1; } void printResult(OSOBA hraci[],int game){ printf("Game #%d:\n", game); if (hraci[0].score == 1){ printf("%s: %d point\n",hraci[0].meno, hraci[0].score); } else { printf("%s: %d points\n",hraci[0].meno, hraci[0].score); } if (hraci[1].score == 1){ printf("%s: %d point\n",hraci[1].meno, hraci[1].score); } else { printf("%s: %d points\n",hraci[1].meno, hraci[1].score); } if (hraci[0].score == hraci[1].score){ printf("TIED GAME\n"); } if (hraci[1].score > hraci[0].score){ printf("WINNER: %s\n", hraci[1].meno); } if (hraci[1].score < hraci[0].score){ printf("WINNER: %s\n", hraci[0].meno); } putchar('\n'); } int main(){ slovnik[cs].rock = "Kamen"; slovnik[cs].sci = "Nuzky"; slovnik[cs].paper = "Papir"; slovnik[en].rock = "Rock"; slovnik[en].sci = "Scissors"; slovnik[en].paper = "Paper"; slovnik[fr].rock = "Pierre"; slovnik[fr].sci = "Ciseaux"; slovnik[fr].paper = "Feuille"; slovnik[de].rock = "Stein"; slovnik[de].sci = "Schere"; slovnik[de].paper = "Papier"; slovnik[hu].rock = "Ko"; slovnik[hu].sci = "Ollo"; slovnik[hu].paper = "Papir"; slovnik[it].rock = "Sasso"; slovnik[it].sci = "Forbice"; slovnik[it].paper = "Carta"; slovnik[jp].rock = "Guu"; slovnik[jp].sci = "Choki"; slovnik[jp].paper = "Paa"; slovnik[pl].rock = "Kamien"; slovnik[pl].sci = "Nozyce"; slovnik[pl].paper = "Papier"; slovnik[es].rock = "Piedra"; slovnik[es].sci = "Tijera"; slovnik[es].paper = "Papel"; int games = 1; while (1){ OSOBA hraci[2]; char lan1[3]; char lan2[3]; char name1[50]; char name2[50]; scanf("%s %s",lan1,name1); scanf("%s %s",lan2,name2); hraci[0].meno = name1; hraci[0].score = 0; hraci[1].meno = name2; hraci[1].score = 0; /* printf("%s %s\n", lan1,name1); printf("%s %s\n", lan2,name2); */ while(1) { char zbran1[25]; char zbran2[25]; scanf("%s", zbran1); if (zbran1[0] == '.'){ printResult(hraci, games); exit(0); } else if (zbran1[0] == '-'){ printResult(hraci, games); games++; break; } else { scanf("%s", zbran2); } int prvy = getValue( getLang(lan1) , zbran1); int druhy = getValue( getLang(lan2) , zbran2); /* printf("Z1%s Z2%s", zbran1, zbran2);*/ int result = getResult(prvy, druhy); /* printf("P%d D%d R%d\n", prvy, druhy, result);*/ if (result == 1){ hraci[0].score++; } else if (result == 2){ hraci[1].score++; } /* printf("1 : %s\n", zbran1 ); printf("2 : %s\n", zbran2 );*/ } } return 0; }