网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月07日漏签0天
c语言吧 关注:801,480贴子:4,372,784
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 4回复贴,共1页
<<返回c语言吧
>0< 加载中...

中文翻译过来怪怪的🌚

  • 只看楼主
  • 收藏

  • 回复
  • 星垂.平野阔
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
中文翻译过来怪怪的🌚


  • 如此戏言
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我觉得还好


2025-12-07 15:15:30
广告
不感兴趣
开通SVIP免广告
  • 您礼貌嘛🤓
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
还好吧,看字母看惯了吧


  • 土豆哟
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
河南工业大学


  • 晶晶妹
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <windows.h>#define High 15 // 游戏画面尺寸#define Width 25#define EnemyNum 5 // 敌机个数// 全局变量int position_x,position_y; // 飞机位置int enemy_x[EnemyNum],enemy_y[EnemyNum]; // 敌机位置int canvas[High][Width] = {0}; // 二维数组存储游戏画布中对应的元素 // 0为空格,1为飞机*,2为子弹|,3为敌机@int score; // 得分int BulletWidth; // 子弹宽度int EnemyMoveSpeed; // 敌机移动速度void gotoxy(int x,int y) //光标移动到(x,y)位置{ HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(handle,pos);}void startup() // 数据初始化{position_x = High-1;position_y = Width/2;canvas[position_x][position_y] = 1;int k;for (k=0;k<EnemyNum;k++){enemy_x[k] = rand()%2;enemy_y[k] = rand()%Width;canvas[enemy_x[k]][enemy_y[k]] = 3;}score = 0;BulletWidth = 0;EnemyMoveSpeed = 20;}void show() // 显示画面{gotoxy(0,0); // 光标移动到原点位置,以下重画清屏int i,j;for (i=0;i<High;i++){for (j=0;j<Width;j++){if (canvas[i][j]==0)printf(" "); // 输出空格else if (canvas[i][j]==1)printf("*"); // 输出飞机*else if (canvas[i][j]==2)printf("|"); // 输出子弹|else if (canvas[i][j]==3)printf("@"); // 输出飞机@}printf("\n");}printf("得分:%d\n",score);Sleep(20);}void updateWithoutInput() // 与用户输入无关的更新{int i,j,k;for (i=0;i<High;i++){for (j=0;j<Width;j++){if (canvas[i][j]==2) {for (k=0;k<EnemyNum;k++){if ((i==enemy_x[k]) && (j==enemy_y[k])) // 子弹击中敌机{score++; // 分数加1if (score%5==0 && EnemyMoveSpeed>3) // 达到一定积分后,敌机变快EnemyMoveSpeed--;if (score%5==0) // 达到一定积分后,子弹变厉害BulletWidth++;canvas[enemy_x[k]][enemy_y[k]] = 0;enemy_x[k] = rand()%2; // 产生新的飞机enemy_y[k] = rand()%Width;canvas[enemy_x[k]][enemy_y[k]] = 3;canvas[i][j] = 0; // 子弹消失}}// 子弹向上移动canvas[i][j] = 0;if (i>0)canvas[i-1][j] = 2;}}}static int speed = 0; if (speed<EnemyMoveSpeed)speed++;for (k=0;k<EnemyNum;k++){if ((position_x==enemy_x[k]) && (position_y==enemy_y[k])) // 敌机撞到我机{printf("失败!\n");Sleep(3000);system("pause");exit(0);}if (enemy_x[k]>High) // 敌机跑出显示屏幕{canvas[enemy_x[k]][enemy_y[k]] = 0;enemy_x[k] = rand()%2; // 产生新的飞机enemy_y[k] = rand()%Width;canvas[enemy_x[k]][enemy_y[k]] = 3;score--; // 减分}if (speed == EnemyMoveSpeed){// 敌机下落for (k=0;k<EnemyNum;k++){canvas[enemy_x[k]][enemy_y[k]] = 0;enemy_x[k]++;speed = 0;canvas[enemy_x[k]][enemy_y[k]] = 3;}}}}void updateWithInput() // 与用户输入有关的更新{char input;if(kbhit()) // 判断是否有输入{input = getch(); // 根据用户的不同输入来移动,不必输入回车if (input == 'a' && position_y>0) {canvas[position_x][position_y] = 0;position_y--; // 位置左移canvas[position_x][position_y] = 1;}else if (input == 'd' && position_y<Width-1){canvas[position_x][position_y] = 0;position_y++; // 位置右移canvas[position_x][position_y] = 1;}else if (input == 'w'){canvas[position_x][position_y] = 0;position_x--; // 位置上移canvas[position_x][position_y] = 1;}else if (input == 's'){canvas[position_x][position_y] = 0;position_x++; // 位置下移canvas[position_x][position_y] = 1;}else if (input == ' ') // 发射子弹{int left = position_y-BulletWidth;int right = position_y+BulletWidth;if (left<0)left = 0;if (right>Width-1)right = Width-1;int k;for (k=left;k<=right;k++) // 发射闪弹canvas[position_x-1][k] = 2; // 发射子弹的初始位置在飞机的正上方}}}int main(){startup(); // 数据初始化while (1) // 游戏循环执行{show(); // 显示画面updateWithoutInput(); // 与用户输入无关的更新updateWithInput(); // 与用户输入有关的更新}return 0;}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 4回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示