C++小游戏——推箱子
#include <stdio.h>
#include <conio.h>
#include<stdlib.h> int map[9][11] = {{0,1,1,1,1,1,1,1,1,1,0}, //0代表空地{0,1,0,0,0,1,0,0,0,1,0}, //1代表墙{0,1,0,4,4,4,4,4,0,1,0}, //3代表目的地{0,1,0,4,0,4,0,4,0,1,1}, //4代表箱子{0,1,0,0,0,0,0,0,4,0,1}, //5代表人 {1,1,0,1,1,1,1,0,4,0,1},{1,0,8,3,3,3,3,1,0,0,1}, //2 3 4 5 6 7 8 9 1 0{1,0,3,3,3,3,3,0,0,1,1},{1,1,1,1,1,1,1,1,1,1,0} };//绘制地图 //二维数组+switch()
void DrawMap()
{//遍历二维数组 //0 打印空格 //1 墙 //3 目的地 //什么结构?for (int i = 0; i < 9; i++){for (int j = 0; j < 11; j++){//if else switchswitch (map[i][j]){case 0:printf(" ");break;case 1:printf("■");break;case 3:printf("☆");break;case 4:printf("□");break;case 5:printf("♀"); //5人break;case 7: //4 + 3 箱子在目的地中printf("★");break;case 8: // 5 + 3 人在目的地当中 人?printf("♀");break;}}printf("\n");}
}void PlayGame()
{int r, c; //人的下标 //for (int i = 0; i < 9; i++){for (int j = 0; j < 11; j++){if (map[i][j] == 5||map[i][j]==8) //i j 人的下标?{r = i;c = j;}}}char ch; //字符变量ch = getch(); //键盘的输入保存到字符中// getch() getchar() 接收键盘字符// getch()直接接收 不显示回文 getchar()显示回文可以修改 enter键结束//根据不同的按键 改变不同的值. 分支.switch (ch){case 'W': //W A S D方向 72 80 75 77 虚拟键值 ascii windowVK_UP VK_TAB VK_RETUNEcase 'w':case 72:if (map[r - 1][c] == 0|| map[r - 1][c] == 3) {map[r - 1][c] += 5;map[r][c] -= 5;}else if (map[r - 1][c] == 4 || map[r - 1][c] == 7){if (map[r - 2][c] == 0 || map[r - 2][c] == 3){map[r - 2][c] += 4;map[r - 1][c] += 1;map[r][c] -= 5;}}break;case 'S': //enter按键的作用 确认 返回case 's':case 80:if (map[r + 1][c] == 0 || map[r + 1][c] == 3){map[r + 1][c] += 5;map[r][c] -= 5;}else if (map[r + 1][c] == 4 || map[r+ 1][c] == 7){if (map[r + 2][c] == 0 || map[r + 2][c] == 3){map[r + 2][c] += 4;map[r + 1][c] += 1;map[r][c] -= 5;}}break;case 'A':case 'a':case 75:if (map[r ][c - 1] == 0 || map[r ][c - 1] == 3){map[r ][c - 1] += 5;map[r][c] -= 5;}else if (map[r][c - 1] == 4 || map[r][c - 1] == 7){if (map[r ][c - 2] == 0 || map[r ][c - 2] == 3){map[r ][c - 2] += 4;map[r ][c - 1] += 1;map[r][c] -= 5;}}break;case 'D':case 'd':case 77:if (map[r][c + 1] == 0 || map[r][c + 1] == 3){map[r][c + 1] += 5;map[r][c] -= 5;}else if (map[r][c + 1] == 4 || map[r][c + 1] == 7){if (map[r][c + 2] == 0 || map[r][c + 2] == 3){map[r][c + 2] += 4;map[r][c + 1] += 1;map[r][c] -= 5;}}break;}
}//
int main() //主函数
{while (1){system("cls");DrawMap();PlayGame();}return 0;
}
C++小游戏——推箱子相关推荐
- 用JAVA制作小游戏——推箱子(三)
本篇博客主要是对推箱子地图编辑器功能的代码讲解. 首先给出这段代码的部分运行截图: 重难点: 地图编辑器主要有三个重难点: 需要有一个绘制地图的界面 能够实现地图绘制的功能 地图绘制完成后需要将地图内 ...
- 用JAVA制作小游戏——推箱子(二)
本篇博客主要是推箱子游戏界面功能的代码讲解. 首先先给出这段代码的部分运行截图: 重难点: 游戏界面主要有五个重难点: 固定好地图的位置 地图的显示 构建菜单栏 读取地图数据 玩家操作功能实现 地图的 ...
- 用JAVA制作小游戏——推箱子(一)
本篇博客是对推箱子游戏首页代码的展示 效果图: 难点: 在背景图上添加按钮. 由于直接使用add方法,会变成图片一块区域,按钮一块区域,彼此互不重叠,形成的界面效果不太好,因此用了JLayeredPa ...
- C语言小游戏 ——推箱子
文章目录 (1)内容描述 (2)功能 (3)设计目的 (4)总体设计 (5)明显缺点 (6)个人总结 7. 实例 实例一 实例二 实例三 实例四 实例五: (1)内容描述 描述:用户进入页面后可以进行 ...
- c语言写一个简单的小游戏-推箱子
在学习C语言之后,写了一个简单的小游戏来锻炼自己的代码以及C语言知识的掌握能力. 推箱子作为手机上最常见的简单游戏,其代码也相对简单,想法也比较简单,下面为其代码和运行图. /************ ...
- Python游戏开发,Python实现童年小游戏推箱子 附带源码
开发工具 Python版本: 3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 上效果图 原理简 ...
- python小游戏——推箱子代码开源
♥️作者:小刘在这里 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的,绽放,愿所有的美好,再疫情结束后如约而至. 目录 一.效 ...
- 一个简单的c 游戏编程语言,编程达人 c语言写一个简单的小游戏-推箱子
在学习C语言之后,写了一个简单的小游戏来锻炼自己的代码以及C语言知识的掌握能力. 推箱子作为手机上最常见的简单游戏,其代码也相对简单,想法也比较简单,下面为其代码和运行图. /************ ...
- Java小游戏-推箱子
摘要 推箱子是来自于日本的一个古老游戏,目的是在于训练逻辑思维能力,在一个狭小的空间里,要把木箱推到指定的位置,稍不小心箱子就会无法移动或者被通道堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安 ...
- 用C语言写一个可以选择关卡添加关卡的小游戏,推箱子
目录 关于用C语言写一个可以选择关卡的小游戏 代码部分 所有代码 Tui_Xiang_Zi.h Tui_Xiang_Zi.cpp 关卡数据 关卡数据规则 思路和建议 建议 警告 关于用C语言写一个可以 ...
最新文章
- Java项目:精品酒店管理系统(java+SSM+mysql+maven+tomcat)
- idea用token登陆github_用python和她一起唐诗宋词
- 面试官,别再问高并发了!
- linux 抓包 tcpdump和Wireshark
- win10内核linux,windows 10中发布完整的Linux内核
- python调用 matlab库_python调用matlab的搜索结果-阿里云开发者社区
- matlab搭建的应用层架构逻辑,软件设计的三层架构
- 南邮计算机学院答辩,南京邮电大学答辩PPT模板讲述.pptx
- 安装指定的vue-router版本
- Newtonsoft.Json.Compact
- 菲波那切数列java_斐波那契数列—java实现
- 《和平精英》迎来史上最严封号:模拟器过检测、手机外设全部凉凉?
- 中国广电即将放号,感受到压力的中国移动率先推出19元5G套餐
- 软件实施工程师职业规划
- 微软.NET平台OA办公解决方案
- PoisonIvy Rat 远程溢出实战
- 运维如何学习、自我提升价值?
- 第一次找工作/实习前需要准备的东西(互联网行业)
- SEO优化:6个方法提升网站排名
- vue openlayers 加载高德地图等 gcj02 的图层偏移问题