当前位置: 首页 > news >正文

手机wap网站模板小程序开发和app开发差别

手机wap网站模板,小程序开发和app开发差别,公司招聘网站 哪个部门做,网站后台更新文章 前台不显示使用 C 语言和 windows 的键盘检测函数和延迟函数#xff0c;开发的控制台 roguelike 游戏 点开 .exe 文件立即进入游戏 AWSD 移动 J 攻击 K 加成buff 没有结束条件#xff0c;除非碰到敌人。 其他模块功能还没来得及开发 author : 民用级脑的研发记录 DEVC 项目工程代码副本…使用 C 语言和 windows 的键盘检测函数和延迟函数开发的控制台 roguelike 游戏 点开 .exe 文件立即进入游戏 AWSD 移动 J 攻击 K 加成buff 没有结束条件除非碰到敌人。 其他模块功能还没来得及开发 author : 民用级脑的研发记录 DEVC 项目工程代码副本 链接https://pan.baidu.com/s/1HVjKRDJrzxtRlddyfrBZow  提取码jhip VS2022 项目工程代码副本 链接https://pan.baidu.com/s/1vWCI2EIdNwpyqdoeNV2-DA  提取码aexz CSDN 源代码  https://mp.csdn.net/mp_blog/creation/editor?spm1001.2101.3001.5352 代码请随意使用在下抛砖引玉给其他初学者的一点参考代码 BUG 说明 在第一行时敌人不会接触。 原理暂不明确可能是坐标计算错了。 不打算修正了直接当安全区可还行 Have a good time 未完待续后续若整好了 C 语言的 RPG 地图编辑器也一并开源 #include stdio.h #include time.h #include string.h #include windows.h #define KEY_DOWN(vKey) ((GetAsyncKeyState(vKey) 0x8000) ? 1:0) // 判断是否按下按键按下之后最高位变成1所以需要位运算去除其他位只检测最高位 #define KEY_DOWN_FOREGROUND(hWnd,vk) (KEY_DOWN(vk) GetForegroundWindow() hWnd) // 前景窗口判断 #pragma warning(disable : 4996) // VS2022 报错某些不安全函数这里禁用 VS 的某些警告 方便在其他函数移植进 Visualstdio2022 struct enemys {int x;int y;int is_live; }; inline void showgame(int** gamemap, int high, int wide, char* player, char* ai) { // 更新游戏由于printf只能一行接着一行打印所以不能覆盖先前字符只能增加缓冲区在缓冲区里实现覆盖char p[10000] { \0 };char pen[2];int tile;for (int j 0; j wide; j)strcat(p, #);strcat(p, \n);for (int i 0; i high; i){strcat(p, #);for (int j 0; j wide; j){tile gamemap[i][j];switch (tile){case 0:strcpy(pen, );break;default:sprintf(pen, %d, tile);break;}strcat(p, pen);}strcat(p, #\n);}for (int j 0; j wide; j){strcat(p, #);}strcat(p, \n);printf(%s, p); // 加载进缓存数组减少 printf 使用解决 printf 速度慢导致的屏闪 }int main() {int** bkmap; // 游戏背景图int** gamemap; // 记录当前游戏地图形式int high; // 地图高宽int wide;int limitx;int limity;high 20;wide 100;limitx 100;limity 20;bkmap new int* [limity]; // 初始化游戏地图gamemap new int* [high];for (int i 0; i limity; i)bkmap[i] new int[limitx];for (int i 0; i high; i)gamemap[i] new int[wide];for (int i 0; i limity; i)for (int j 0; j limitx; j)bkmap[i][j] 0;for (int i 0; i high; i)for (int j 0; j wide; j)gamemap[i][j] 0;int playerx; // 玩家位置int playery;int gamex; // 显示区域int gamey;int player; // 玩家记号player 1;playerx 0;playery 0;gamex 0;gamey 0;int field 9;int enemy; // 敌人记号int indix; // 刷新敌人时更新数组int enemynum; // 敌人个数int enemymax; // 敌人上限enemy 2;enemynum 10;enemymax 100;enemys ai[100]; // 敌人数组for (int i 0; i 100; i){ai[i].is_live 0;ai[i].x 0;ai[i].y 0;}char playerview[100] 6;char enemyview[100] 2;printf(%s, playerview);int characterx; // 敌人位置int charactery;charactery 10;characterx 10;printf(%s, enemyview);showgame(gamemap, high, wide, playerview, enemyview);int flag_x;int flag_y;int is_atk;int atk_area;int is_buff;flag_x 0;flag_y 0;is_atk 0;atk_area 1;is_buff 0;HWND hwnd;hwnd GetForegroundWindow(); // 获取前端窗口句柄由于程序刚运行时是在前端所以这就是本程序的窗口句柄srand(time(NULL)); // 设置随机数种子int gameover;gameover 0;int cnt 0; // 敌人计算位置每两帧移动一次while (1){flag_x 0; // 默认不按键时速度为0flag_y 0;if (KEY_DOWN_FOREGROUND(hwnd, 0x41)){flag_x - 1;}if (KEY_DOWN_FOREGROUND(hwnd, 0x57)){flag_y - 1;}if (KEY_DOWN_FOREGROUND(hwnd, 0x44)){flag_x 1;}if (KEY_DOWN_FOREGROUND(hwnd, 0x53)){flag_y 1;}if (is_atk 0 KEY_DOWN_FOREGROUND(hwnd, 0x4A)){is_atk 1;}if (is_buff 0 KEY_DOWN_FOREGROUND(hwnd, 0x4B)){is_buff 1;}if (KEY_DOWN_FOREGROUND(hwnd, VK_ESCAPE)){printf(游戏退出\n);break;}if (KEY_DOWN_FOREGROUND(hwnd, 0x30)) // 绘制地图bkmap[playery][playerx] 0;if (KEY_DOWN_FOREGROUND(hwnd, 0x36)) // 绘制地图bkmap[playery][playerx] 6;if (KEY_DOWN_FOREGROUND(hwnd, 0x37)) // 绘制地图bkmap[playery][playerx] 7;if (KEY_DOWN_FOREGROUND(hwnd, 0x38)) // 绘制地图bkmap[playery][playerx] 8;if (KEY_DOWN_FOREGROUND(hwnd, 0x39)) // 绘制地图bkmap[playery][playerx] 9;if (flag_x 1) // 速度限制flag_x 1;else if (flag_x -1)flag_x -1;if (flag_y 1)flag_y 1;else if (flag_y -1)flag_y -1;if (flag_x) // 位移改变playerx flag_x;if (flag_y)playery flag_y;if (playerx limitx) // 角色位置限制playerx limitx - 1;else if (playerx 0)playerx 0;if (playery limity)playery limity - 1;else if (playery 0)playery 0;for (int i 0; i high; i)for (int j 0; j wide; j)if (gamemap[i][j] ! bkmap[i gamey][j gamex]) // 去除上次动作记录gamemap[i][j] bkmap[i gamey][j gamex];if (is_atk % 12 ! 0) // 攻击{if (playerx atk_area || playerx limitx - atk_area || playery atk_area || playery limity - atk_area){is_atk 0;}else{is_atk;if (characterx - playerx -atk_area charactery - playery -atk_area characterx - playerx atk_area charactery - playery atk_area) // 是否攻击到敌人field 0;for (int n 0; n 100; n){if (ai[n].is_live){if (ai[n].x - playerx -atk_area ai[n].y - playery -atk_area ai[n].x - playerx atk_area ai[n].y - playery atk_area) // 是否攻击到敌群ai[n].is_live 0;}}for (int i playery - atk_area; i playery atk_area; i)for (int j playerx - atk_area; j playerx atk_area; j) // 范围攻击记号{gamemap[i][j] is_atk;if (bkmap[i][j] ! 0)bkmap[i][j] 0;}}}else is_atk 0;for (int n 0; n 100; n) // 打印存活敌人if (ai[n].is_live)gamemap[ai[n].y][ai[n].x] enemy;gamemap[charactery][characterx] field; // 敌人比攻击晚赋值所以敌人可以覆盖攻击图标if (is_buff % 22 ! 0) // buff 持续时间 12 帧{is_buff;atk_area 3;player is_buff;}else{is_buff 0;atk_area 1;player 1;}indix 0;enemynum 0;cnt;while (indix enemymax) // 加入新的敌人{if (ai[indix].is_live){enemynum;if (cnt % 2 0){if (ai[indix].x playerx)ai[indix].x;else if (ai[indix].x playerx)ai[indix].x--;if (ai[indix].y playery)ai[indix].y;else if (ai[indix].y player)ai[indix].y--;cnt cnt % 2;}if (playerx ai[indix].x playery ai[indix].y){gameover 1;player 1;}}else{ai[indix].x rand() % 100;ai[indix].y rand() % 20;ai[indix].is_live 1;enemynum;}indix;if (enemynum 15)break;}printf(player x %d y %d\n, playerx, playery);gamemap[playery][playerx] player;showgame(gamemap, high, wide, playerview, enemyview);while (gameover 1){printf(game over\n);printf(按 R 重新开始\n按 ESC 退出游戏\n);if (KEY_DOWN_FOREGROUND(hwnd, 0x52)){gameover 0;playerx 0;playery 0;enemynum 0;break;}else if (KEY_DOWN_FOREGROUND(hwnd, VK_ESCAPE)){break;}showgame(gamemap, high, wide, playerview, enemyview);Sleep(50);system(cls);}if (gameover 1)break;Sleep(100);system(cls); // 清屏}system(cls);printf(Have a good time\n);system(pause);Sleep(50);return 0; }
http://www.zqtcl.cn/news/517979/

相关文章:

  • 可信网站认证收费吗建设化工网站的目的
  • 查网站死链必用工具微信 wordpress
  • 做网站凡科新手如何开微商城店
  • 网站空间维护个人怎么注册一个品牌
  • 连云港网站设计城乡建设网站 资料员
  • 网络优化工程师有多累seo前线
  • 囊谦县公司网站建设新沂网页定制
  • 公众平台网页版wordpress换主题影响seo吗
  • 网站建设什么是静态网页设置wordpress文章标题高亮的代码
  • 男女做那事是什 网站wordpress怎么上传ppt
  • 电商网站图片处理东莞网络营销策划
  • 做知识产权相关的网站网站怎么做登录界面
  • 网站空间备份东莞企业网站教程
  • 新桥企业网站建设有关网站建设的毕业设计
  • 中山网站建设工作修改wordpress后台地址
  • 西安app网站开发如何制作一个自己的网页
  • 陇西学做网站鄂州网约车
  • 做类似58类型网站免费源码分享
  • 个人做的网站有什么危险网站模板怎样发布
  • 设计建设网站公司网站wordpress k2
  • 公司网站被抄袭网络宣传
  • 企业网站设计收费专业网络推广公司排名
  • 视频网站模板源码深圳网站建设明细报价表
  • nike官方网站定制二级域名网站有哪些
  • 越秀移动网站建设房门户网站如何做优化
  • 什么软件可以做动漫视频网站开发一个小程序大概要多少钱
  • 微网站可以做成域名访问株洲网站做的好的公司
  • 建设网站去工信部备案需要什么资料网站建设相关博客
  • 十度网站建设网站建立的企业
  • 婚庆公司网站国外网站阻止国内访问怎么做