#include #include #include #include #define length 39 #define height 25 #define LEFT 75 #define RIGHT 77 #define ATTACT 32 #define MAXBUBBLE 3 int i = 0, j = 0; int k1 =3, k2 = 2, k3 = 1, k4 = 2, k5 = 1, k6 = 0, k7 = 5, k8 =7, k9 = 13; int k10 = 2, k11 = 14, k12 = 6; int px = 2, py = 23; int LorR; int m1x = 1, m1y = 16, m2x = 1, m2y =11, m3x = 1, m3y = 6; int m4x = 68, m4y = 16, m5x = 68, m5y = 11, m6x = 68, m6y = 6; int m7x = 15, m7y = 16, m8x = 15, m8y = 11, m9x = 15, m9y = 6; int m10x = 43, m10y = 16, m11x = 43, m11y = 11, m12x = 43, m12y = 6; struct { BOOL exist; int x, y; }Bubble[MAXBUBBLE]; void gotoxy(int a, int b) { COORD pos = { a + 1,b + 1 }; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); } void Draw_monster(int x,int y) { gotoxy(x, y); printf("¿ì"); } void Erase_monster(int x, int y) { gotoxy(x, y); printf(" "); } void Draw_player() { gotoxy(px, py); printf("¿Ê"); } void Erase_player() { gotoxy(px, py); printf(" "); } void Draw_bubble(int i) { gotoxy(Bubble[i].x, Bubble[i].y); printf("o"); } void Erase_bubble(int i) { gotoxy(Bubble[i].x, Bubble[i].y); printf(" "); } int map[height][length] = { 1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1, }; void showmap() { int i, j; gotoxy(0, 0); for (i = 0; i < height; i++) { for (j = 0; j < length; j++) { switch (map[i][j]) { case 0: printf(" "); break; case 1: printf("¡á"); break; } } printf("\n"); } } void Player_move() { int c = 0; if (_kbhit()) { c = _getch(); if (c == 224) { c = _getch(); if (c == LEFT&&px > 1) { Erase_player(); px--; Draw_player(); if (Bubble[i].exist == FALSE) LorR = 0; } if (c == RIGHT&&px < 35) { Erase_player(); px++; Draw_player(); if (Bubble[i].exist == FALSE) LorR = 1; } } switch (c) { case ATTACT: for (i = 0; i < MAXBUBBLE&&Bubble[i].exist == TRUE; i++) { ; } if (i != MAXBUBBLE) { Bubble[i].x = px + 2; Bubble[i].y = py; Bubble[i].exist = TRUE; } break; } } } void attact() { int i=0; for (i = 0; i < MAXBUBBLE; i++) { if (Bubble[i].exist == TRUE) { Erase_bubble(i); if (j>12) { Erase_bubble(i); Bubble[i].exist = FALSE; j = 0; } else { if (LorR == 0) { Bubble[i].x--; Draw_bubble(i); Sleep(30); j++; } else { Bubble[i].x++; Draw_bubble(i); Sleep(30); j++; } } } } } void Monster_move1() { Erase_monster(m1x, m1y); if (k1 < 4) { m1x++; Draw_monster(m1x, m1y); Sleep(10); k1++; } else if (4<=k1&&k1<8) { m1x--; Draw_monster(m1x, m1y); Sleep(10); k1++; } else k1 = 0; } void Monster_move2() { Erase_monster(m2x, m2y); if (k2 < 4) { m2x++; Draw_monster(m2x, m2y); Sleep(10); k2++; } else if (4 <= k2&&k2<8) { m2x--; Draw_monster(m2x, m2y); Sleep(10); k2++; } else k2 = 0; } void Monster_move3() { Erase_monster(m3x, m3y); if (k3 < 4) { m3x++; Draw_monster(m3x, m3y); Sleep(10); k3++; } else if (4 <= k3&&k3<8) { m3x--; Draw_monster(m3x, m3y); Sleep(10); k3++; } else k3 = 0; } void Monster_move4() { Erase_monster(m4x, m4y); if (k4 < 4) { m4x++; Draw_monster(m4x, m4y); Sleep(10); k4++; } else if (4 <= k4&&k4<8) { m4x--; Draw_monster(m4x, m4y); Sleep(10); k4++; } else k4 = 0; } void Monster_move5() { Erase_monster(m5x, m5y); if (k5 < 4) { m5x++; Draw_monster(m5x, m5y); Sleep(10); k5++; } else if (4 <= k5&&k5<8) { m5x--; Draw_monster(m5x, m5y); Sleep(10); k5++; } else k5 = 0; } void Monster_move6() { Erase_monster(m6x, m6y); if (k6 < 4) { m6x++; Draw_monster(m6x, m6y); Sleep(10); k6++; } else if (4 <= k6&&k6<8) { m6x--; Draw_monster(m6x, m6y); Sleep(10); k6++; } else k6 = 0; } void Monster_move7() { Erase_monster(m7x, m7y); if (k7 < 16) { m7x++; Draw_monster(m7x, m7y); Sleep(10); k7++; } else if (16 <= k7&&k7<32) { m7x--; Draw_monster(m7x, m7y); Sleep(10); k7++; } else k7 = 0; } void Monster_move8() { Erase_monster(m8x, m8y); if (k8 < 16) { m8x++; Draw_monster(m8x, m8y); Sleep(10); k8++; } else if (16 <= k8&&k8<32) { m8x--; Draw_monster(m8x, m8y); Sleep(10); k8++; } else k8 = 0; } void Monster_move9() { Erase_monster(m6x, m9y); if (k9< 16) { m9x++; Draw_monster(m9x, m9y); Sleep(10); k9++; } else if (16 <= k9&&k9<32) { m9x--; Draw_monster(m9x, m9y); Sleep(10); k9++; } else k9 = 0; } void Monster_move10() { Erase_monster(m10x, m10y); if (k10 < 16) { m10x++; Draw_monster(m10x, m10y); Sleep(10); k10++; } else if (16 <= k10&&k10<32) { m10x--; Draw_monster(m10x, m10y); Sleep(10); k10++; } else k10 = 0; } void Monster_move11() { Erase_monster(m11x, m11y); if (k11 < 16) { m11x++; Draw_monster(m11x, m11y); Sleep(10); k11++; } else if (16 <= k11&&k11<32) { m11x--; Draw_monster(m11x, m11y); Sleep(10); k11++; } else k11= 0; } void Monster_move12() { Erase_monster(m12x, m12y); if (k12 < 16) { m12x++; Draw_monster(m12x, m12y); Sleep(10); k12++; } else if (16 <= k12&&k12<32) { m12x--; Draw_monster(m12x, m12y); Sleep(10); k12++; } else k12 = 0; } int main() { Draw_player(); showmap(); // ¸ÊÀ» ±×¸®´Â ÇÔ¼ö while (1) { Player_move(); Monster_move1(); Monster_move2(); Monster_move3(); Monster_move4(); Monster_move5(); Monster_move6(); Monster_move7(); Monster_move8(); Monster_move9(); Monster_move10(); Monster_move11(); Monster_move12(); attact(); } }