Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- struct PLAYER {
- char NAME[12];
- char PASSWORD[12];
- };
- void menu_message() {
- puts("+----------------------------------------------+");
- puts("| ~ GAME OF WORDS ~ |");
- puts("| Increase your vocabulary playing with words! |");
- puts("| 1. Login to continue |");
- puts("| 2. Register new player |");
- puts("| Enter any other letter to exit |");
- puts("+----------------------------------------------+");
- }
- struct PLAYER register_message() {
- puts("+--------------------------+");
- puts("| Enter player information |");
- puts("+--------------------------+");
- struct PLAYER NEW_PLAYER;
- printf(" Username: ");
- scanf("%s", NEW_PLAYER.NAME);
- printf(" Password: ");
- scanf("%s", NEW_PLAYER.PASSWORD);
- return NEW_PLAYER;
- }
- void back_to_menu_message() {
- puts("+------------------+");
- puts("| 1. Back to menu |");
- puts("| 2. Start playing |");
- puts("+------------------+");
- }
- void start_message() {
- puts("+--------------------------------------+");
- puts("| ~ START PLAYING ~ |");
- puts("| Form english words using the letters |");
- puts("| provided, choose the number of |");
- puts("| letters the word should have. |");
- puts("| Enter the word \"quit\" to stop! |");
- puts("+--------------------------------------+");
- }
- int find_word(char WORD[12]) {
- char STRING[50];
- int COUNT = 0;
- FILE *in_file = fopen("words.txt", "r");
- if (in_file == NULL) {
- printf("Error file missing\n");
- exit(0);
- }
- while(!feof(in_file)) { //this loop searches the for the current word
- fscanf(in_file,"%s",STRING);
- if(!strcmp(STRING,WORD)) COUNT++; //if match found increment num
- }
- return COUNT;
- }
- int find_player(char NAME[12], char PASSWORD[12]) {
- FILE * MY_FILE = fopen("players.txt","r");
- char FILE_NAME[12], FILE_PASSWORD[12];
- int RESULT;
- if(MY_FILE != NULL) {
- while(!feof(MY_FILE)) {
- fscanf(MY_FILE,"%s\t%s", FILE_NAME, FILE_PASSWORD);
- if(strcmp(NAME, FILE_NAME) == 0 && strcmp(PASSWORD, FILE_PASSWORD) == 0) RESULT++;
- }
- }
- return RESULT;
- }
- int start_scrabble() {
- int CHOICE, NUMBER_OF_LETTERS;
- struct PLAYER MY_PLAYER;
- char MENU[12] = {"Menu"}; // default value
- char WORD[12] = {"Empty"};
- FILE * MY_FILE;
- while(strcmp(MENU, "Menu") == 0) {
- menu_message(); // menu
- scanf("%d", &CHOICE);
- switch(CHOICE) {
- case 1:
- puts("+--------------------------+");
- puts("| Enter player information |");
- puts("+--------------------------+");
- printf(" Username: ");
- scanf("%s", MY_PLAYER.NAME);
- printf(" Password: ");
- scanf("%s", MY_PLAYER.PASSWORD);
- if (find_player(MY_PLAYER.NAME, MY_PLAYER.PASSWORD) > 0) {
- start_message();
- printf(" Number of letters: ");
- scanf("%d", &NUMBER_OF_LETTERS);
- do {
- printf("> ");
- scanf("%s", WORD);
- if (find_word(WORD) == 0) {
- if (strlen(WORD) == NUMBER_OF_LETTERS) puts(" [Try again!]");
- else printf("[The word should have %d words!]\n", NUMBER_OF_LETTERS);
- } else puts(" [Good job!]");
- } while(strcmp(WORD, "quit") != 0);
- if(strcmp(WORD, "quit") == 0) exit(0);
- }
- break;
- case 2:
- MY_PLAYER = register_message(); // registration
- MY_FILE = fopen("players.txt","a+");
- fprintf(MY_FILE,"%s\t%s\n",MY_PLAYER.NAME, MY_PLAYER.PASSWORD);
- back_to_menu_message();
- scanf("%d", &CHOICE);
- switch(CHOICE) {
- case 1:
- strcpy(MENU, "Menu");
- break;
- case 2:
- start_message();
- printf(" Number of letters: ");
- scanf("%d", &NUMBER_OF_LETTERS);
- do {
- printf("> ");
- scanf("%s", WORD);
- if (find_word(WORD) == 0) {
- if (strlen(WORD) == NUMBER_OF_LETTERS) puts(" [Try again!]");
- else printf("[The word should have %d words!]\n", NUMBER_OF_LETTERS);
- } else puts(" [Good job!]");
- } while(strcmp(WORD, "quit") != 0);
- strcpy(MENU, "Start playing");
- break;
- }
- break;
- default:
- exit(0);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement