EGE-小游戏制作指南
经过我数月的探索发现,EGE小游戏制作入门需要以下个步骤(仅仅是我个人意见)
一:下载EGE跟VC6.0编译器。EGE并不是下载后就能使,需要几个步骤设置,这个我在这就不讲解了,网上很容易就能查到。
二:要想做一个小游戏需要有自己的想法跟思路,在这以做简单迷宫为例,你要让人物上下左右可以移动就需要一个参数,你还得设置一个算法不让他穿墙,简单的思路有了以后就容易多了。
三:你需要进EGE官网了解很多知识点,补充能量,EGE中的各个函数,还有EGE示例等等,一开始可能看的有些迷糊,越往后越轻松。这里附加官网链接EGE官网
四:剩下就需要在摸索中前行,制作中进步,实践中改进了。我建议一开始可以仿照示例做起。EGE压缩包可以在我博客资源里下载,里面有很多示例供你参考。下面给出我的迷宫示例,希望对你有所帮助。
/*Copyright (c) 2015,烟台大学计算机学院*All right reserved
*文件名称:ege.cpp
*作者:贾召飞
*完成日期:2015年02月15日
*版本号:v1.0
*
*问题描述: 自制迷宫及自制图片*/
#include<iostream.h>
#include"graphics.h"//函数声明//
void draw(void);
void moveUp(void);
void moveDown(void);
void moveLeft(void);
void moveRight(void);
void change(void);
void shengli(void);
void penguin(void); bool victory = false;
#define WIDTH 10
#define LENGTH 20
int map[WIDTH][LENGTH] = //迷宫的地图
{ {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 2, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1}, {1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1}, {1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1}, {1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1}, {1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1}, {1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1}, {1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 3, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
};
int heart[11][13] = //心的数组
{{0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0},{0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0},{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0},{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}
};int x = 1;//初始x坐标
int y = 1;//初始y坐标
int xx = 0;
int yy = 0; int main()
{initgraph(640,480); char select; setrendermode(RENDER_MANUAL);//防止刷图闪 draw(); //setrendermode(RENDER_MANUAL); while(!victory){select = getch();switch(select) { case 'w': moveUp(); change(); setrendermode(RENDER_MANUAL); cleardevice(); draw(); setrendermode(RENDER_MANUAL); break; case 's': moveDown(); change(); setrendermode(RENDER_MANUAL); cleardevice(); draw(); break; case 'a': moveLeft(); change(); setrendermode(RENDER_MANUAL); cleardevice(); draw(); break; case 'd': moveRight(); change(); setrendermode(RENDER_MANUAL); cleardevice(); draw(); break; }}setrendermode(RENDER_MANUAL); cleardevice(); shengli();select = getch();closegraph();return 0;
}void draw() //主界面的输出
{int i;int j;setfillstyle(1,RED);fillellipse(y*20+10, x*20+10, 10, 10);for (i = 0; i < 10; i++){for (j = 0; j < 20; j++){if (1 == map[i][j]){ setfillstyle(1,WHITE);bar((j+1)*20-20, (i+1)*20-20, (j+1)*20, (i+1)*20);}else if (3 == map[i][j]){setfillstyle(1,GREEN);bar((19)*20-20, (9)*20-20, (19)*20, (9)*20);}}}
}void moveUp(void)
{if (map[x-1][y] != 1){x = x - 1;}else {return;}
}void moveDown(void)
{if (map[x+1][y] != 1){x = x + 1;}else {x = x;}
}void moveLeft(void)
{if (map[x][y-1] != 1){y = y - 1;}else {return;}
}void moveRight(void)
{if (map[x][y+1] != 1){y = y + 1;}else {return;}
}void change(void)
{if (map[x][y] == 3){victory = true;}
}<img src="https://img-blog.csdn.net/20160215164036030?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />void shengli(void)
{int color;int i, j;for (i = 0; i < 11; i++){for (j = 0; j < 13; j++){if (1 == heart[i][j]){color = HSVtoRGB(randomf() * 360.0f, 1.0f, 0.8f);//setfillstyle(1,WHITE);setfillcolor(color);setcolor(color);bar((j+1)*20-20, (i+1)*20-20, (j+1)*20, (i+1)*20);}}}
}
运行结果如下图所示
当然这是输出的矩形方块,如果想要输出图片的话请去EGE官网寻找答案。
EGE-小游戏制作指南相关推荐
- Pygame 官方文档 - Tutorials - 游戏制作指南(Making Games Tutorial)- 校订:基础(Revision: Pygame fundamentals)
游戏制作指南(Making Games Tutorial) 点我回总目录 ☚ 2.校订:Pygame基础(Revision: Pygame fundamentals) 2.1.基本的Pygame游戏 ...
- 基于pygame的射击小游戏制作(一)让飞船动起来
基于pygame的射击小游戏制作(一)让飞船动起来 一.文件结构 alien_invasion.py 是整个系统的主文件,用来创建游戏中的一系列对象,ai_settings存储设置.screen存储显 ...
- 微信小游戏制作坦克大战(四)添加敌方坦克,敌方坦克可以随机移动
微信小游戏制作坦克大战(四)添加敌方坦克,敌方坦克可以随机移动 首先导入敌方坦克素材 重命名为敌方坦克1 敌方坦克也移动到屏幕外面,后面使用克隆体来显示. 我们给敌方坦克添加事件 好的,现在敌方坦克已 ...
- 微信小游戏制作坦克大战(六)碰撞检测,主角坦克碰到敌方坦克、炮弹爆炸
微信小游戏制作坦克大战(六)碰撞检测,主角坦克碰到敌方坦克.炮弹爆炸 导入坦克爆炸效果的图片和声音素材 给主角坦克添加事件 给爆炸动画添加事件 当主角坦克碰到敌方坦克或者炮弹时显示爆炸效果 下一篇文章 ...
- unity小游戏制作之见缝插针
unity小游戏制作之见缝插针 先看效果图这个游戏是一个入门的小游戏,主要技术就是圆盘的旋转,针跟随圆盘旋转以及分数累加等 游戏先拖入一个圆,更改格式为2D然后建立脚本使其转动 public clas ...
- 微信小游戏制作坦克大战(五)敌方坦克可以发射炮弹
微信小游戏制作坦克大战(五)敌方坦克可以发射炮弹 在资源管理器中复制炮弹,重命名为敌人坦克的炮弹. 修改敌方坦克的积木 给敌方坦克炮弹添加事件 现在,敌方坦克已经可以自动发射炮弹啦. 下一篇文章:微信 ...
- Java飞机小游戏制作简单实现详细小结
567881@ftJava小游戏开发 Java飞机小游戏制作简单实现小结 本人原来是个技术小白,寒假我跟着高淇老师的Java300集开始自学Java,跟着做了一个飞机大战小游戏,已经实现了飞机的自由移 ...
- 帮你抢小游戏流量红利——快手小游戏入指南
帮你抢小游戏流量红利--快手小游戏入指南 一.接入游戏流程:申请开发者账号–申请接入游戏-完善游戏信息及上传证书-申请广告-调试项目-提交审核–上线 1.申请开发者账号资质 审核耗时半天 2.申请游戏 ...
- 贪吃蛇小游戏制作(5)
贪吃蛇小游戏制作(5)-给游戏场景添加可视的边界
最新文章
- oracle网络公开课《存储技术》课件和视频共享下载
- ext2和ext3文件系统知识
- Java实现消息发送
- c++ 获取数组的长度
- LoRa、Sigfox和NB-IoT在物联网趋势中谁是你的最佳拍档?
- SpringDataRedis的简单案例使用
- RocketMQ-0.1
- 句句真研—每日长难句打卡Day14
- DAY102 - Rest Framework(七)- 手动编写配置文件、分页器和版本控制
- Linux 命令(129)—— passwd 命令
- Uva 11491 暴力贪心
- 详解循环神经网络RNN(理论篇)
- Java之品优购课程讲义_day12(6)
- CentOS7 bcc 与 bpftrace环境搭建
- 【缺陷检测】基于区域生长算法实现对焊接孔隙检测matlab源码
- 【AIS学习】12:AIS标准下载
- iOS Orientation 屏幕旋转
- 这才是心理学:02可证伪性,如何打败头脑中的小精灵
- android 日历 签到,Android MaterialCalendarView 日历使用 每日签到
- OneNET麒麟座应用开发之六:与气体质量流量控制器通讯
热门文章
- 爬虫python可以干嘛_python爬虫可以用来做什么?
- 行到水穷处,坐看云起时
- 笔记:合泰单片机BH66F2652开发(三)INT
- 港科夜闻|香港科大-越秀集团百万奖金国际创业大赛2022年度前8强20强项目评审结果公布...
- Android Broadcast详解
- 《计算机组成与系统结构(第二版) 裘雪红 李伯成 西安电子科技大学出版社》课后习题答案(带解析)(三)
- linux下防止rm-rf /处理,削减删除的影响力!
- 机器学习:朴素贝叶斯算法与垃圾邮件过滤
- 一个很猛的MM被甩以后
- Heritrix1.14.4安装配置和使用