C语言飞机大战
Object_in_java 人气:0#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<Windows.h> int score = 0; int plane_col, plane_row;//·É»úλÖà int bullet_col,bullet_row;//×Óµ¯µÄλÖà int area_height, area_width;//ÓÎÏ·ÇøÓò 0-n-1 int enemy_col, enemy_row; int enemy_vh, enemy_vv; int a[100][100] = { 0 }; void gotoxy(int x, int y) {//ˢРHANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(handle, pos); } void HideCursor() { CONSOLE_CURSOR_INFO cursor_info = { 1,0 }; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info); } void startup()//³õʼ»¯ { area_height = 20; area_width = 30; plane_col = 14; plane_row = 10; bullet_col = 0; bullet_row = -1; enemy_col = rand() % area_width; enemy_row = 0; enemy_vh = 0; enemy_vv = 1; } //int[][] planeArray() { // // a[plane_col][plane_row] = 1; // for (int i = plane_col - 2; i < plane_col + 2; i++) // a[i][plane_row + 1] = 1; // a[plane_col - 1][plane_row + 2] = 1; a[plane_col + 1][plane_row + 2] = 1; // // return a; //} void show()//Öð¸ö×Ö·ûɨÃè²¢´òÓ¡ { gotoxy(0, 0); int i, j; //ÏÔʾ //system("cls"); for (i = 0; i < area_height; i++)//ÐбéÀú { for (j = 0; j < area_width; j++)//ÁбéÀú { if (i == plane_row && j == plane_col) { printf("*"); } else if (i == bullet_row && j == bullet_col) printf("|"); else if (i == enemy_row && j == enemy_col) printf("@"); else printf(" "); } printf("\n"); } printf("score:%d\n",score); } void updateWithInput()//½»»¥£¬¿ØÖÆ·É»úÒƶ¯£¬Éä»÷ { char input; //µÈ´ýÓû§µÄÊäÈ룬½»»¥ if (kbhit()) { input = getch(); switch (input) { case 'w': if(plane_row != 0) plane_row--; break; case 'a': if(plane_col != 0) plane_col--; break; case 'd': if(plane_col != area_width) plane_col++; break; case 's': if(plane_row != area_height) plane_row++; break; case ' ': if (bullet_row < 0)//ÆÁÄ»ÀïûÓÐ×Óµ¯ { bullet_row = plane_row - 1; bullet_col = plane_col; } break; default: break; } } } int IsCrash() { //ÅжÏÎÒ·Å·É»úÊÇ·ñ×¹»Ù if (enemy_col == plane_col && enemy_row == plane_row) { return 1; } return 0; } void updateWithourInput()//×Óµ¯Òƶ¯ÓëµÐÈËÒƶ¯ { //¸üРbullet_row--; static int count = 0; count ++; if (count == 40) { enemy_row += enemy_vv; enemy_col += enemy_vh; count = 0; } } void crack() {//»÷»ÙµÐÈË if(enemy_row > area_height){ bullet_row = -1; enemy_row = -1; enemy_col = rand() % area_height; } else if (bullet_col == enemy_col && bullet_row == enemy_row) { score += 10; bullet_row = -1; enemy_row = -1; enemy_col = rand() % area_height; } } int IsFinish() {//ÓÎÏ·ÊÇ·ñ½áÊø if (score == 100) { system("cls"); printf("congretulations!!!"); score = 0; _sleep(500);//ÏÈÔÝÍ£ÔÚÏÖʵ·ûºÏÈËÐÔ»¯ system("pause"); return 1; } else if (IsCrash() == 1) { system("cls"); printf("you have lost!!!"); score = 0; _sleep(500); system("pause"); return 1; } return 0; } int main() { HideCursor(); startup(); while (1) { show(); updateWithInput(); updateWithourInput(); crack(); if(IsFinish()==1){ startup(); continue; } } return 0; }
加载全部内容