走迷宫程序(含自动迷宫生成) 铜牌收录

迷宫程序。执行效果如下:

程序间有足够多的注释,就不多作介绍了。代码如下:

///////////////////////////////////////////////////
// 程序名称:迷宫 游戏
// 编译环境:Visual C++ 6.0 / 2010,EasyX 2013霜降版
// 作  者:krissi <zhaoh1987@qq.com>
// 最后修改:2011-3-12
//
#include <graphics.h>
#include <time.h>



//////////////////////////////////////////////////////
// 定义全局变量
//
BYTE**	g_aryMap = NULL;			// 迷宫地图
SIZE	g_szMap;					// 迷宫地图的尺寸
IMAGE	g_imgSight(360, 280);		// 游戏的视野
RECT	g_rtSigh
...

兰顿蚂蚁 银牌收录

受到生命游戏启发,想到了这个兰顿蚂蚁,都是零玩家游戏。

在平面上的正方形格被填上黑色或白色。在其中一格正方形有一只“蚂蚁”,它的头部朝向上下左右其中一方。
若蚂蚁在白格,右转90度,将该格改为黑格,向前移一步;
若蚂蚁在黑格,左转90度,将该格改为白格,向前移一步。

以上就是兰顿蚂蚁的简单规则描述。更详细的请参考维基百科。

执行效果如下:

完整的源代码如下:

/******************************
 * 兰顿蚂蚁
 * 编译环境:VC++ 2017
 * 作者:that boy,2018/12/19
 * 最后修改:2018/12/21
 ******************************/

#include <EasyX.h>
#include <string>
#include <conio.h>


namespace LangtonAn
...

老年贪吃蛇游戏 铜牌收录

游戏说明

         这是一个用来模拟老年机上贪吃蛇游戏的游戏,简谱的画面希望能够给大家带来童年的回忆。当然,难度自然会比老年机上的游戏难一些,希望大家做好准备,开始游戏吧!

        作者信息:邮箱 mzh1772@163.com,2007 年出生,有错误欢迎提出。

操作方法

**        **按方向键控制蛇的方向,ESC 键暂停游戏,吃到一个食物加 1 分,碰到墙壁或蛇自己结束游戏。

运行截图

游戏源码

/*
	名称:  老年贪吃蛇
	作者:  梅朱赫(QQ:3406077232)
	环境:  Vs2019-C++空项目模板-32位
	拓展包:EasyX_20200315(beta)
	时间:  2020-04
*/
#include <ctime>
#include <cstdlib>
#include <list>
#include 
...

Pixel Puzzles 银牌收录

Pixel Puzzles 是一种逻辑游戏,以猜谜的方式绘画位图。在一个网格中,每一行和列都有一组数,玩家需根据它们来填满或留空格子,最后就可以由此得出一幅图画。例如,“4 8 3”的意思就是指该行或列上有三条独立的线,分别占了 4、8、3 格,而每条线最少要由一个空格分开。传统上,玩家是以黑色填满格子,和以“×”号标记一定不需要填充的格子。就此来看,这和踩地雷十分相似。但跟踩地雷不同的是,即使填错了格子,也不会即时出局。Pixel Puzzles 是一个 NP 完全的问题。

弹幕躲避游戏 银牌收录

游戏说明

1.操作

上下左右移动/选择 shift慢速模式 x清屏 esc退出界面(除了主界面)

2.计分

每帧(1/60秒)计分 原有 + 1 + pluspoint

3.奖励

当达到第六级别后可以奖励一次清屏机会(原有3次

4.关卡结束

关卡结束后有约0.6秒的休息时间

5.慢速模式

速度减少约一半,并显示判定点

6.垂直同步

屏幕刷新与逻辑刷新同步,打开可以减少cpu负担

7.关卡

目前共有五关

8.文件

含有文件 gdat 玩家数据与设置 ; main.cpp 主程序 ;  define.h 定义函数 ; type.h 定义数据与数据结构 ; Title.jpg 标题背景 

9.pluspoint

为黄色的点,获得后可以增加1点pluspoint随关卡等级增加,出现率增加,进入下一关后淸0

更新说明

...

射击游戏 铜牌收录

前言

这是一篇射击类小游戏的代码。第一次写的小程序,请多包涵里面的不足。如有高见,敬请指出。

效果图

游戏说明

设计一个base类,包含基本属性。电脑和玩家类都继承自base类。还有一个子弹类。主要有三个函数,ini,show,game,分别用来初始化,显示菜单和进行游戏,功能挤在一起。
运行游戏时,用随机数产生随机种类的敌人。WASD移动,鼠标左键射击。玩家没击败一个敌人后,就会加一个得分。随着玩家得分的升高,敌人的产生概率和属性都会提升。当玩家生命值小于等于0时,此局游戏结束。结算时会根据玩家的得分获得金币,数值上等于玩家的得分,用于升级玩家的属性,且升级会很快。

/////////////////////////////////////////////////////////////
//程序名称:射击游戏
//编译环境:Visual Studio 2019,EasyX_20200520(beta)
//作 
...

益智小游戏:交叉线 金牌收录

这是用 C++ 写的益智小游戏“交叉线”(源码在底部)。

本程序的核心在于判断线段是否交叉,需要两种算法:快速排斥实验和跨立实验

包含十三个文件

  • Head.h : 初始化头文件
  • Cross Line.cpp : 程序开端文件
  • Game_Class.h : 游戏类头文件
  • Game.cpp : 游戏类文件
  • Begin.cpp : 初始界面类实现文件
  • Level.cpp : 关卡界面类实现文件
  • Play.cpp : 游戏界面类实现文件
  • Win.cpp : 过关界面类实现文件
  • About.cpp : 关于项目类实现文件
  • Point.cpp : 点的结构类实现文件
  • Line.cpp :  线的结构类实现文件
  • Button.cpp : 游戏按钮类实现文件
  • Button_Image.cpp : 游戏按钮类实现文件
...

异世界之光 铜牌收录

前言

这是一个策略养成小游戏,虽然几乎谈不上策略。本人蒟蒻一只,代码问题以后会慢慢修改

背景介绍

“我”在一片丛林中迷迷糊糊地醒来,看了看周围杂草丛生的环境,瞪大了眼睛:“我不是在床上睡觉吗!!这什么鬼地方!!”。“我”急忙从地上站了起来,活动活动了全身酸软的肌肉,开始疯狂的破坏。在过了一个多小时的冷静后,“我”终于得出结论——我穿越了。。。

在一个多小时的破坏后,我整理了我现在拥有的物品——睡衣......然后没了,就只有睡衣。但是正当我绝望之时,我看见了一个破茅棚,旁边有一个小湖泊、一颗果树和一本书......一本写着召唤之书四个大字的破书... ... 

我带着满心的疑惑,打开了这本烂让人无法直视的的“召唤之书”。这本破书的第一页正上方赫然写着三个大字——哥布林......

(背景故事,文笔极差,随便看看)

游戏简介

最开始想做这个游戏是因为在疫情期

...

我的世界红石模拟器(MinecraftRedstoneSimulator) 铜牌收录

项目介绍

这个项目是游戏《我的世界》中的红石模拟器。

程序由两个窗口组成,一个是用来输入的 cmd 窗口,另一个是用来显示地图的绘图窗口。

执行效果:

这是一个 3 x 6 点阵灯,显示着字母 A。

尽管这个模拟器是平面的,但他仍然可以实现许多在 Minecraft 中可以实现的东西,此处不再举例,release 中有 map 文件夹,里面有预设的地图,可以参考。

更多内容请在程序中输入 help 指令查看帮助。

项目下载

下载链接:https://github.com/zouhuidong/MinecraftRedstoneSimulate/

CosmoRun - 宇宙漫步 金牌收录

说明

CosmoRun是NoSixFive游戏工作室发布在Windows应用商店的一款魔性小游戏,觉得特别好玩所以仿做了一个。它的操作十分简单,点击鼠标可以让小球转向,控制小球在一个方块组成的世界中漫游~

游戏截图

代码概况

仓库地址:https://github.com/Nomango/CosmoRun-EasyX

编译环境:VS2010及以上

代码行数:1800+

由于这个游戏是 16 年 4 月份写的,当时我对游戏框架并不了解,完全按照自己的想法进行设计,注释写的很少,还有特别多的数字计算,所以代码阅读起来非常困难,尤其是 Floor 这个类,随机创建地板的算法复(hun)杂(luan)到我自己都不想再看见它…

源文件和类说明

  • main.cpp:主函数,程序入口。创建了一个 GameUI 对象,运行 StartUI 函数进入游戏界面。
  • GameAfx.h:
...

用多个圆形组合形成的心形图案 铜牌收录

这个程序在很多书上都有写过,以下是运行效果截图:

代码如下:

// 程序名称:圆形组合而成的心形图案
// 编译环境:Visual C++ 6.0,EasyX 2011惊蛰版
// 最后更新:2010-10-28
//
#include <graphics.h>
#include <conio.h>
#include <math.h>

#define	PI	3.1415926536

void main()
{
	int x, y, y1, r = 50, r1;

	// 初始化图形模式
	initgraph(640, 480);
	// 设置原点为屏幕中央
	setorigin(320, 240);
	// 设置绘图颜色为红色
	setcolor(RED);

	// 用数学方法,用多个圆形组合形成心形图案
	y1 = 240 - r;
	for(double a = 0; a < 2 * PI; a += PI / 18)
	{
...

Tony's Snake 3 银牌收录

介绍

一款基于贪吃蛇的小游戏,加入了多种有特殊效果的食物,可以控制蛇向八个方向移动。

这是本系列游戏的第三版,使用了 EasyX 的图形库,并增加了鼠标操作。

此程序是对绘图和鼠标操作的进一步练习,是对多态与类继承的初步学习。

编译环境

  • VC++6.0
  • EasyX 2018 春分版

文件

  • startup.h:一些全局变量
  • startup.cpp:游戏主程序
  • game.h:常量定义,与游戏信息类
  • info.cpp:游戏信息处理,读取外部数据,用于设置
  • element.h:游戏元素基类定义,蛇类,食物类均继承此类
  • element.cpp:基类的实现
  • snake.cpp:蛇类的实现
  • food.cpp:食物类的实现
  • interface.h:界面类定义
  • interfa
...

贪吃蛇(纯C++) 铜牌收录

游戏说明

这是一个传统的贪吃蛇游戏,基于链表实现

界面设计参考了 https://codebus.cn/aknoi/a/snake

按键说明

  • 方向控制:↑↓←→ 或者 Q(逆时针),R(顺时针)
  • 速度:按下 space 加速,‘[’ 减速,‘]’ 加速 
  • 食物:小键盘 + 增加食物,小键盘 - 减少食物 
  • 其他:非小键盘数字键 9、0 可以调整帧率,小键盘 * 可以切换贪吃蛇模式,F1 帮助,F11 截屏

状态栏说明

  • 生命状态:贪吃蛇是否存活,由于没有设置死亡,所以只有存活和濒死两种状态
  • 等级:每吃 10 个食物升一级
  • 分数:每个食物 10 分
  • 速度:默认速度 0 ,可以调节,最快 10,最慢 -10
  • 长度:贪吃蛇的节数(包括头)
  • 食物数量:界面中的食物个数,最大 99 ,可以手动调整
...

大球吃小球 铜牌收录

一、简介

大球吃小球,模拟自小游戏,左键按下状态拖动小球进行移动,躲避大球的同时尽量多吃小球。

玩法简单,程序也简单。开始界面按下左键开始游戏,按下右键退出程序。

新生球保护期:在 500ms 后可以被玩家吃到,在 800ms 后可以击杀玩家。

相同大小的小球碰撞时判断玩家失败。

二、游戏截图

三、游戏源码

/*
	程序名称:
			大球吃小球
	简介:
			模拟小游戏,左键按下状态拖动小球进行移动,躲避大球的同时尽量多吃小球
	环境:
			VS2019 + EasyX_20210115(beta)
	时间:
			2021.2.4
	作者:
			Teternity(QQ:1926594835)
	版权:
			作者原创,无抄袭,不涉及版权问题,仅用作学习
*/


/* ---------------头文件--------------- */
#include <iostream>
...