check map
Dependencies: mbed
main.cpp
- Committer:
- silvermist
- Date:
- 2016-12-03
- Revision:
- 0:151948e45f6a
File content as of revision 0:151948e45f6a:
#include "mbed.h" int map[5][5][5]; int i , j , k , player , button , x ,y , z; int check1[5][5][5] , check2[5][5][5]; void Check_case1(){ //คนแรกชนะ printf("Player 1 WIN!"); } void Check_case2(){ //คน2ชนะ printf("Player 2 WIN!"); } void Check_error(){ //เช็คคนแพ้ if(player == 1){ printf("Player 1 LOSE!"); } else{ printf("Player 2 LOSE!"); } } void Check_map(){ //แสดงmap for(x=0 ; x<5 ; x++){ for(y=0 ; y<5 ; y++){ for(z=0 ; z<5 ; z++){ if(map[x][y][z] == 5){ check1[x][y][z] = 1; } else if(map[x][y][z] == 6){ check2[x][y][z] = 1; } else{ check1[x][y][z] = 0; check2[x][y][z] = 0; } } } } } int main(){ while(1){ switch(player){ // เลือกตำแหน่งคนลง case '1': i-- , j-- , k--; if(map[i][j][k] == 0){ map[i][j][k] = 5; // 5 = 'x' } else{ Check_error(); // ลงไมไ่ด้ } case '2': i-- , j-- , k--; if(map[i][j][k] == 0){ map[i][j][k] = 6; // 6 = 'o' } else{ Check_error(); // ลงไมไ่ด้ } } if(i == 5 or j == 5 or k == 5){ // ลงเกิน map check_error(); } for(i=0 ; i<5 ; i++){ //แนว k for(j=0 ; j<5 ; j++){ for(k=0 ; k<3 ; k++){ if(map[i][j][k] and map[i][j][k+1] and map[i][j][k+2] == 5){ Check_case1(); } else if(map[i][j][k] and map[i][j][k+1] and map[i][j][k+2] == 6){ Check_case2(); } } } } for(i=0 ; i<5 ; i++){ // แนว j for(k=0 ; k<5 ; k++){ for(j=0 ; j<3 ; j++){ if(map[i][j][k] and map[i][j+1][k] and map[i][j+2][k] == 5){ Check_case1(); } else if(map[i][j][k] and map[i][j+1][k] and map[i][j+2][k] == 6){ Check_case2(); } } } } for(j=0 ; j<5 ; j++){ // แนว i for(k=0 ; k<5 ; k++){ for(i=0 ; i<3 ; i++){ if(map[i][j][k] and map[i+1][j][k] and map[i+2][j][k] == 5){ Check_case1(); } else if(map[i][j][k] and map[i+1][j][k] and map[i+2][j][k] == 6){ Check_case2(); } } } } for(i=0 ; i<5 ; i++){ // แนวทแยง i เป็นฐานขึ้น for(j=0 ; j<3 ; j++){ for(k=0 ; k<3 ; k++){ if(map[i][j][k] and map[i][j+1][k+1] and map[i][j+2][k+2] == 5){ Check_case1(); } else if(map[i][j][k] and map[i][j+1][k+1] and map[i][j+2][k+2] == 6){ Check_case2(); } } } } for(j=0 ; j<5 ; j++){ // แนวทแยง j เป็นฐานขึ้น for(i=0 ; i<3 ; i++){ for(k=0 ; k<3 ; k++){ if(map[i][j][k] and map[i+1][j][k+1] and map[i+2][j][k+2] == 5){ Check_case1(); } else if(map[i][j][k] and map[i+1][j][k+1] and map[i+2][j][k+2] == 6){ Check_case2(); } } } } for(k=0 ; k<5 ; k++){ // แนวทแยง k เป็นฐานขึ้น for(i=0 ; i<3 ; i++){ for(j=0 ; j<3 ; j++){ if(map[i][j][k] and map[i+1][j+1][k] and map[i+2][j+2][k] == 5){ Check_case1(); } else if(map[i][j][k] and map[i+1][j+1][k] and map[i+2][j+2][k] == 6){ Check_case2(); } } } } for(i=0 ; i<5 ; i++){ // แนวทแยง i เป็นฐานลง for(j=0 ; j<3 ; j++){ for(k=4 ; k>1 ; k--){ if(map[i][j][k] and map[i][j+1][k-1] and map[i][j+2][k-2] == 5){ Check_case1(); } else if(map[i][j][k] and map[i][j+1][k-1] and map[i][j+2][k-2] == 6){ Check_case2(); } } } } for(j=0 ; j<5 ; j++){ // แนวทแยง j เป็นฐานลง for(i=0 ; i<3 ; i++){ for(k=4 ; k>1 ; k--){ if(map[i][j][k] and map[i+1][j][k-1] and map[i+2][j][k-2] == 5){ Check_case1(); } else if(map[i][j][k] and map[i+1][j][k-1] and map[i+2][j][k-2] == 6){ Check_case2(); } } } } for(k=0 ; k<5 ; k++){ // แนวทแยง k เป็นฐานลง for(i=0 ; i<3 ; i++){ for(j=4 ; j>1 ; j--){ if(map[i][j][k] and map[i+1][j-1][k] and map[i+2][j-2][k] == 5){ Check_case1(); } else if(map[i][j][k] and map[i+1][j-1][k] and map[i+2][j-2][k] == 6){ Check_case2(); } } } } for(i=0 ; i<3 ; i++){ // แนวทแยงแบบตัด1 for(j=0 ; j<3 ; j++){ for(k=0 ; k<3 ; k++){ if(map[i][j][k] and map[i+1][j+1][k+1] and map[i+2][j+2][k+2] == 5){ Check_case1(); } else if(map[i][j][k] and map[i+1][j+1][k+1] and map[i+2][j+2][k+2] == 6){ Check_case2(); } } } } for(i=4 ; i>1 ; i--){ // แนวทแยงแบบตัด2 for(j=0 ; j<3 ; j++){ for(k=0 ; k<3 ; k++){ if(map[i][j][k] and map[i-1][j+1][k+1] and map[i-2][j+2][k+2] == 5){ Check_case1(); } else if(map[i][j][k] and map[i-1][j+1][k+1] and map[i-2][j+2][k+2] == 6){ Check_case2(); } } } } for(i=4 ; i>1 ; i--){ // แนวทแยงแบบตัด 3 for(j=4 ; j>1 ; j--){ for(k=0 ; k<3 ; k++){ if(map[i][j][k] and map[i-1][j-1][k+1] and map[i-2][j-2][k+2] == 5){ Check_case1(); } else if(map[i][j][k] and map[i-1][j-1][k+1] and map[i-2][j-2][k+2] == 6){ Check_case2(); } } } } for(i=0 ; i<3 ; i++){ // แนวทแยงแบบตัด4 for(j=4 ; j>1 ; j--){ for(k=0 ; k<3 ; k++){ if(map[i][j][k] and map[i+1][j-1][k+1] and map[i+2][j-2][k+2] == 5){ Check_case1(); } else if(map[i][j][k] and map[i+1][j-1][k+1] and map[i+2][j-2][k+2] == 6){ Check_case2(); } } } } } }