void BuzzWord::clicked(int row, int column) { if ( ! gameOver ) { int rowTotal = 0; int columnTotal = 0; map[column][row] = 1; for( int c = 0 ; c < gridVal ; c++ ) { for( int r = 0 ; r < gridVal ; r++ ) { if ( map[c][r] == 1 ) rowTotal++; if ( rowTotal == 4 ) { bingo(); } } rowTotal = 0; } for( int r = 0 ; r < gridVal ; r++ ) { for( int c = 0 ; c < gridVal ; c++ ) { if ( map[c][r] == 1 ) columnTotal++; if ( columnTotal == 4 ) { bingo(); } } columnTotal = 0; } if ( map[0][0] && map[1][1] && map[2][2] && map[3][3] ) bingo(); if ( map[0][3] && map[1][2] && map[2][1] && map[3][0] ) bingo(); } }
//selected: automatic mode void atmtc(void) { //Color Selection int color[5]; /* color[0]:green front * color[1]:green back * color[2]:red front * color[3]:red back * color[4]:null character */ printf("\n\nPlease enter desired color code in sequence: \n(green light front, " "green light back, red light front, red light back)\n" "Code menu:\n" " 0: Black 1: Blue 2: Green 3: Cyan\n" " 4: Red 5: Purple 6: Yellow 7: Light Gray\n" " 8: Gray 9: Light Blue 10: Light Green 11: Light Cyan\n" "12: Light Red 13: Light Purple 14: Light Yellow 15: White \n"); printf("Your choice?"); _flushall(); if(scanf("(%d, %d, %d, %d)", &color[0], &color[1], &color[2], &color[3])== 4){ if(color[0]<16 && color[1]<16 && color[2]<16 && color[3]<16){ if(color[0]>=0 && color[1]>=0 && color[2]>=0 && color[3]>=0){ printf("Press any botton to continue...\n"); getch(); } } } else{ printf("You didn't enter the correct form. Proceed with default value."); color[0]=2; color[1]=0; color[2]=4; color[3]=0; _flushall(); getch(); } //Prompt for time interval int time; printf("\n\nPlease enter a desired integer time period for green light:"); fflush(stdin); scanf("%d", &time); //clear screen to show animate system("cls"); //randomly select special function. odd 10% if((rand()%1000+1)>900) bingo(); else automatic(time, color[0], color[1], color[2], color[3]); //Animation end; clear screen; return to menu. system("cls"); }
//main menu int main(void) { int choice=0; srand(time(NULL)); //creat random seed based on time printf("Which mode do you like to execute?\n" "a. Automatic\n" "b. Manual\n" "c. Red Light Only\n" "d. Green Light Only\n" "q. Exit\n"); printf("Mode [_]\b\b"); while(scanf("%c", &choice)){ if(choice == 'Q' || choice == 'q') //exit detection break; else{ switch(choice){ // Main menu. case 'a': case 'A': atmtc(); break; case 'b': case 'B': mnl(); break; case 'c': case 'C': rlo(); break; case 'd': case 'D': glo(); break; case 't': //t: testbench for bingo() case 'T':// which is a randomly access function bingo(); break; default: printf("Your choice is not in the menu.\n\n"); } _flushall(); printf("Which mode do you like to execute?\n" "a. Automatic\n" "b. Manual\n" "c. Red Light Only\n" "d. Green Light Only\n" "q. Exit\n"); printf("Mode [_]\b\b"); } } printf("\nHope you've enjoyed this walking trip!\n" "Press any botton to exit..."); _flushall(); getchar(); return 0; };
int main(void) { #ifdef TESTING freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); #endif int n, num, card[5][5], i, j, k; scanf("%d ", &n); while (n--) { scanf("%d %d %d %d %d ", &card[0][0], &card[0][1], &card[0][2], &card[0][3], &card[0][4]); scanf("%d %d %d %d %d ", &card[1][0], &card[1][1], &card[1][2], &card[1][3], &card[1][4]); scanf("%d %d %d %d ", &card[2][0], &card[2][1], &card[2][3], &card[2][4]); scanf("%d %d %d %d %d ", &card[3][0], &card[3][1], &card[3][2], &card[3][3], &card[3][4]); scanf("%d %d %d %d %d ", &card[4][0], &card[4][1], &card[4][2], &card[4][3], &card[4][4]); card[2][2] = -1; for (k = 1; k <= 75; k++) { scanf("%d ", &num); /* Marcar casilla */ for (i = 0; i < 5; i++) for (j = 0; j < 5; j++) if (card[i][j] == num) { card[i][j] = -1; i = 5; j = 5; } /* Si se ha marcado un número, comprobar si hay bingo */ if (i == 6 && bingo(card)) { printf("BINGO after %d numbers announced\n", k); while (k < 75) { scanf("%d ", &num); k++; } } } } return 0; }