bool bGroup::drawIndicators(block & held, block & k) { bool ret=0; dropBlock db=underWhich(k, held); if(db.found()){ indicate(db); ret=1; } if(!db.found()){ db=underWhich(held, k); if(db.found()&&db.index==db.inThis->size()){ indicate(db); ret=1; } } return ret; }
void input(int turn, int computer) { int count = 0; while (1) { if (_kbhit()) { switch (_getch()) { case 0x4D://右 for (int i = 0; i < 3; i++) { if (move_field[i][0] == 2) { move_field[i][0] = 1; move_field[i][1] = 2; } else if (move_field[i][1] == 2) { move_field[i][1] = 1; move_field[i][2] = 2; } } break; case 0x4B://左 for (int i = 0; i < 3; i++) { if (move_field[i][2] == 2) { move_field[i][2] = 1; move_field[i][1] = 2; } else if (move_field[i][1] == 2) { move_field[i][1] = 1; move_field[i][0] = 2; } } break; case 0x48://上 for (int i = 0; i < 3; i++) { if (move_field[1][i] == 2) { move_field[1][i] = 1; move_field[0][i] = 2; } else if (move_field[2][i] == 2) { move_field[2][i] = 1; move_field[1][i] = 2; } } break; case 0x50://下 for (int i = 0; i < 3; i++) { if (move_field[0][i] == 2) { move_field[0][i] = 1; move_field[1][i] = 2; } else if (move_field[1][i] == 2) { move_field[1][i] = 1; move_field[2][i] = 2; } } break; case 0x0D://Enter for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (move_field[i][j] == 2) { if (display_field[i][j] == 1) { display_field[i][j] = turn; count++; if (computer == 2) { if (turn == 3)turn = 4; else if (turn == 4)turn = 3; } else if (computer == 1) { indicate(); if (judge(count) > 0) { system("cls"); break; } else { Sleep(2000); system("cls"); cpu(); count++; } } } else { indicate(); printf("\nその場所には置くことができません。\n"); Sleep(1000); system("cls"); } } } } } } else { indicate(); if (judge(count) > 0)break; else { Sleep(100); system("cls"); } } } }