本文主要是介绍[C] 大一课设-射击游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
大一时写的课设,今天翻到,在此保存。
若有帮到您最好,不足之处请多多包涵,欢迎指正错误。
#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
#include<time.h>
int ask;
void gotoxy(int x, int y);
void form(void);
void face(void);
int oai(void);
void shoot(int i);
void clear(void);
void main() {int n,times=5,i,j;srand((unsigned) time(NULL) );for (i=1; i<20; i++) putchar(' ');printf("请按任意键开始游戏!");getch();form();//形成游戏界面oai();//输出生命和输入击打位置printf("按任意键重新开始游戏!\n");getch();main();
}void gotoxy(int x, int y)
{COORD pos;pos.X = x; pos.Y = y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
void form(void) {//模板system("cls");system("mode con cols=80 lines=30");face();gotoxy(0,26);printf("炮弹数:\n");printf("请输入发射位置[1,80]:");gotoxy(65,29);printf("By:summer_dew");
}
void face(void) {//笑脸int i,n;n=rand()%80;for ( i=1; i<=n; i++) putchar(' ');putchar('\1');//笑脸前输出几个空格,最多79个ask=n+1;//笑脸的位置
}
int oai(void) {//输出输入int i,n,life;for ( life=5; life; life--) {gotoxy(8,26); for ( i=1; i<=40; i++) putchar(' ');gotoxy(8,26); for( i=1; i<=life; i++) printf("%c ",'\3');gotoxy(22,27);scanf("%d",&n);gotoxy(22,27);printf(" ");if ( n<=80&&n>0 ) {shoot(n);gotoxy(25,15);if ( n==ask ) {printf("\1 You are win \1!");return 0;}else if ( life==1 ) {gotoxy(8,26); for ( i=1; i<=40; i++) putchar(' '); gotoxy(10,15);printf("很遗憾,任务失败!游戏结束!");return 0;}else {printf("请再次射击!(按任意键继续……)");getch();gotoxy(25,15);for (i=0;i<40;i++) putchar(' ');}}else {gotoxy(25,15);printf("射击范围错误!(按任意键继续……)");getch();gotoxy(25,15);for (i=0;i<40;i++) putchar(' ');}}return 0;
}
void shoot(int n) {//射击时动态int i;for ( i=25; i>1; i--) {gotoxy(n-1,i);putchar('*');clear();}
}
void clear(void) {//部分清屏int i,j,k;for ( k=0; k<10e6+9*10e5; k++) ;for ( i=2; i<=25; i++) {gotoxy(0,i);for ( j=0; j<80; j++)putchar(' ');}
}
这篇关于[C] 大一课设-射击游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!