![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言游戏开发
C语言课程设计与游戏开发实践教程。
辉小歌
九局下半转啊转,我把帽子反戴,还在期待逆转。
展开
-
EasyX库的安装
EasyX 是什么?EasyX Graphics Library 是针对 Visual C++ 的免费绘图库,支持 VC6.0 ~ VC2019,简单易用,学习成本极低,应用领域广泛。目前已有许多大学将 EasyX 应用在教学当中。官网地址: https://easyx.cn/点击跳转官网根据你的情况进行安装你可以再官网下载,也可以用我准备好的安装包的地址。链接:https://pan.baidu.com/s/1q50_XFxJvgiB9mbGzVKwGg 提取码:1234...原创 2021-08-10 23:51:58 · 537 阅读 · 0 评论 -
C语言图形化编程 【一】
C语言图形化编程一、绘图窗口1.1 加载头文件1.2 创建一个窗口1.3 关闭窗口1.4 窗口坐标1.5 颜色1.6 设置颜色1.6.1 背景颜色1.6.2 线颜色1.6.3 文字颜色1.6.4 填充颜色二、基本的绘图2.1 画点函数2.2 画线函数2.3 画矩形函数非填充(空心)填充(实心)有边界线无边界线2.4 画圆函数非填充(空心)填充(实心)有边界线无边界线一、绘图窗口1.1 加载头文...原创 2020-08-03 16:12:24 · 17181 阅读 · 3 评论 -
C语言图形化编程 【二】
C语言图形编程 二3 基本贴图3.1 声明一个存储图片的变量3.2 图片的路径3.3 显示图片3 基本贴图3.1 声明一个存储图片的变量格式: IMAGE img;//类型 变量名(你要贴的图片的名)3.2 图片的路径格式: loadimage(&img,char *imgUrl);//第二个参数是图片的路径让图片适应窗口格式: loadimage(&img...原创 2020-08-03 16:12:44 · 2526 阅读 · 2 评论 -
给C语言程序换图标
目录在vs2010中给C语言程序换图标在vc 6.0中给C语言程序换图标平常我们编译运行后生成的exe程序的图标是这样的:那么如何把图标弄成我们想要的图标呢?接下来我就和各位说一说。我们首先要知道: 图标格式的图片的后缀是 .ico 格式的。要想给C语言程序换图标,我们首先要把我们想当图标的图片格式弄成 .ico格式。这里给大家推荐:一款在线的格式转化工具的网址:https:...原创 2020-04-06 23:40:05 · 4391 阅读 · 0 评论 -
将一个C程序打包
目录成品效果图前言原理具体流程成品效果图当我们点击的时候我们的程序就可以直接运行。且这个程序所需要的东西都已经在.exe这一个程序中。没有多余的文件夹等其他东西。前言最近脑子里突然有了一个想法,如何将一个C程序打包?为啥有这个想法呢,是因为我以前写了一个c程序游戏,这个游戏里用到背景音效和贴图。我们都知道写程序的时候,要写你加入的音乐的路径,图片的路径。我们习惯把音乐和各种添加的东西和我们的c程序放在同一个文件夹。因为这样方便快捷。但是如果我们想把我们的程序弄到桌面上时,如果仅仅的原创 2020-10-19 18:10:24 · 3930 阅读 · 2 评论 -
一些语法在游戏开发中的应用
一些语法在游戏开发中的应用一、减少不必要的全局变量二、动态二维数组三、整数转换为字符串输出四、播放音乐模板一、减少不必要的全局变量游戏开发中有些变量只需要在少数函数中传递,修改数值。如果不用指针的话,会造成全局变量过多。例如下面:#include<stdio.h>int score=5;void addScore(){ score=score+1;}void printfScore(){ printf("%d\n",score);}void minusScore(原创 2020-08-09 16:13:36 · 276 阅读 · 0 评论 -
如何用c语言插入(背景)音乐
c语言原创 2020-03-11 09:45:09 · 37744 阅读 · 77 评论 -
用C语言播放mp3格式的音乐
目录前言之前有写过在c程序里添加背景音乐,用的是PlaySound这个函数不过这个函数是只能播放wav格式的音乐。这次是用mciSendString函数可以用来播放MP3格式的音乐如何用c语言插入(背景)音乐mciSendString函数简介mciSendString是用来播放多媒体文件的API指令,可以播放MPEG,AVI,WAV,MP3,等等,需要的头文件#include <mmsystem.h>基本的播放音乐模板#include<windows.h>#i原创 2020-10-25 09:12:54 · 25679 阅读 · 68 评论 -
c++同一屏幕输出多种颜色字体
目录原创 2021-02-16 20:48:55 · 1499 阅读 · 0 评论 -
easyx程序实例
目录一、由上向下慢慢的加载图片二、鼠标操作一、由上向下慢慢的加载图片#include<stdio.h>#include<stdlib.h>#include<Windows.h>#include<string.h>#include<graphics.h>int main(void){ initgraph(600,400);//定义窗口的大小 IMAGE mg; int i,j; i=j=0; loadimage(&m原创 2020-05-09 16:51:06 · 930 阅读 · 0 评论 -
项目: 写一个开头的界面 【c++ / c】
目录最终效果代码最终效果代码#include<stdio.h>#include<stdlib.h>#include<Windows.h>#include<string.h>#include<graphics.h>void print_text(char a[20]);int main(void){ int d=0; initgraph(600,400); char s[20]="游戏加载中---"; print_tex原创 2021-08-11 20:23:41 · 295 阅读 · 0 评论 -
项目:弹跳的小球
目录一、项目描述和最终项目展示二、输出一个小球三、下落的小球四、来回弹跳的小球五、最终项目实现一、项目描述和最终项目展示项目描述: 使小球来回的跳动,跳动的路径是一个 "V "字型效果展示图:接下来让我们一步步的来实现上图效果。二、输出一个小球一开始就达到最终的目的是有点难度的,所以我们一步步的来先输出一个静态的小球代码如下:#include<stdio.h>//静止的小球int main(void){ int i,j; for(i=0;i<6;i++原创 2020-07-20 21:11:10 · 498 阅读 · 0 评论 -
项目: 实现弹跳小球动画
目录一、项目描述和最终成果展示二、实现一个移动的球三、弹跳小球四、弹跳小球(改进版)一、项目描述和最终成果展示项目描述: 一个球来回的跳动二、实现一个移动的球代码如下:#include<graphics.h>#include<conio.h>int main(void){ int x; initgraph(640,480); for(x=100;x<540;x=x+20) { setcolor(YELLOW);//绘制黄线,绿色填充的圆 se原创 2020-08-05 21:17:18 · 908 阅读 · 0 评论 -
项目: 最简单的飞机大战游戏
目录一、项目描述和最终的成果展示二、输出一个飞机模型。三、实现控制飞机移动的功能一、项目描述和最终的成果展示项目描述: 显示出一个飞机,并可以控制移动,发出激光,打靶练习。效果展示:二、输出一个飞机模型。先输出一个飞机模型。后面再进一步完成控制飞机的功能。代码如下://输出飞机图案#include<stdio.h>#include<stdlib.h>#include<conio.h>int main(void){ int i,j; in原创 2020-07-21 22:37:29 · 1272 阅读 · 5 评论 -
项目: 用封装的方法实现飞机大战游戏
目录一、项目描述和最终的成果展示二、用函数进行封装三、新型的发射子弹功能这是上一次的飞机大战游戏的项目。项目: 最简单的飞机大战游戏上次没有用函数进行的封装。这次在上次的基础上进行封装和一些功能的优化。一、项目描述和最终的成果展示项目描述: 在上一次的基础上用函数进行了封装,对于一些功能也进行了一些优化。最终效果图如下:二、用函数进行封装代码如下:#include<stdio.h>#include<stdlib.h>#include<Windows.h原创 2020-07-23 22:23:32 · 624 阅读 · 0 评论 -
项目: 空战游戏
项目:空战游戏一、项目描述和成果展示二、发射多个子弹三、多个敌机一、项目描述和成果展示项目描述: 在以往的程序中进行了改进。例如: 可以发射多个子弹飞机大战 1.0版飞机大战 2.0版现在这个版本是3.0版效果图如下:二、发射多个子弹代码如下:#include<stdio.h>#include<string.h>#include<conio.h>#include<Windows.h>#define High 25 //原创 2020-08-01 21:18:00 · 815 阅读 · 0 评论 -
项目: flappy bird
目录一、项目描述和最终项目展示二、实现下落的小鸟三、显示小鸟和障碍物四、障碍物移动五、循环移动多个障碍物一、项目描述和最终项目展示通过按空格来控制小鸟的高度,来通过障碍物。二、实现下落的小鸟代码如下:#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<Windows.h>//全局变量int high,width;//游戏画面大小int bird_x,bird_y;原创 2020-07-26 21:52:35 · 448 阅读 · 0 评论 -
项目: 生命游戏(C语言)
目录项目描述:代码如下:效果图如下:项目描述:每个矩阵方格可以包含一个有机体,不在边上的有机体有8个相邻方格。生命游戏演化的规则如下:1.如果一个细胞周围有3个细胞为生,则该细胞为生(即该细胞若原先为死,则转为生,若原先为生,则保持不变)。2.如果一个细胞周围有两个细胞为生,则该细胞的生死状态保持不变。3.在其他情况下该细胞为死(即该细胞若原先为生,则转为死;若原先为死,则保持不变)。代码如下:#include<stdio.h>#include<stdlib.h>原创 2020-07-27 16:29:11 · 2412 阅读 · 0 评论 -
项目: 用数组实现反弹球消砖块
项目:用数组实现反弹球消砖块一、效果展示:二、代码如下:一、效果展示:二、代码如下:#include<stdio.h>#include<string.h>#include<conio.h>#include<Windows.h>#include<time.h>#define High 24 //游戏画面尺寸#define Width 36//全局变量int ball_x,ball_y;//小球的坐标int ball_v原创 2020-07-31 17:07:20 · 1136 阅读 · 0 评论 -
项目: 用函数实现反弹球消砖块
目录一、项目描述和最终的成果展示二、封装后的弹跳小球一、项目描述和最终的成果展示这是在上一次弹跳小项目上进行了一系列的优化和封装。项目: 弹跳的小球上次没有用函数进行的封装。这次在上次的基础上进行封装和一些功能的优化。最终效果图如下:二、封装后的弹跳小球代码如下:#include<stdio.h>#include<string.h>#include<conio.h>#include<windows.h>//全局变量int high,w原创 2020-07-26 17:17:12 · 896 阅读 · 0 评论 -
项目: 双人反弹球游戏
目录一、最终项目描述和效果二、基本框架实现三、异步操作的实现四、双人反弹球一、最终项目描述和效果项目描述: 实现双人玩的弹跳球游戏最终效果图如下:二、基本框架实现代码如下:#include<conio.h>#include<graphics.h>#define High 480//游戏画面尺寸#define Width 640//全局变量int ball1_x,ball1_y;//小球1的坐标int ball2_x,ball2_y;//小球2的坐标原创 2020-08-08 21:04:28 · 750 阅读 · 0 评论 -
项目: 用easyx实现消砖块
目录一、最终效果展示二、绘制静态的挡板三、控制挡板四、消砖块五、鼠标交互一、最终效果展示效果图如下:这个项目还是有很多的细节漏洞的。例如: 边界控制这里还是有点问题的。二、绘制静态的挡板代码如下:#include<conio.h>#include<graphics.h>#define High 480 //游戏画面尺寸#define Width 640//全局变量int ball_x,ball_y;//小球的坐标int ball_vx,ball_vy原创 2020-08-06 20:50:24 · 929 阅读 · 3 评论 -
项目: 贪吃蛇(C语言)
项目:贪吃蛇一、项目描述和最终效果展示二、生成一个静态的蛇三、玩家控制小蛇移动四、增加判断失败功能五、增加吃食物 分数统计 暂停游戏 等功能一、项目描述和最终效果展示项目描述: 玩家通过控制小蛇来吃掉食物最终效果展示:二、生成一个静态的蛇代码如下:#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<Windows.h>#define High 20#defin原创 2020-08-03 11:38:08 · 1186 阅读 · 0 评论 -
项目: 用Easyx绘制围棋和象棋的棋盘
目录一、绘制围棋棋盘代码如下:效果图如下:二、绘制象棋棋盘代码如下:效果图如下:一、绘制围棋棋盘代码如下:#include<graphics.h>#include<conio.h>int main(){ int step=30; //初始化绘图窗口 initgraph(600,600); //设置背景色为黄色 setbkcolor(YELLOW); //用背景色清空屏幕 cleardevice(); setlinestyle(PS_SOLID,2);//原创 2020-08-03 16:31:32 · 3051 阅读 · 0 评论 -
项目: 实时钟表(C语言)
一、二、绘制静态秒针代码如下:#include<graphics.h>#include<conio.h>#include<math.h>#define High 480 //游戏画面尺寸#define Width 640int main(void){ initgraph(Width,High);//初始化绘图窗口 int center_x,center_y;//中心点的坐标,也是钟表的坐标 center_x=Width/2; center_原创 2020-08-06 11:45:55 · 2704 阅读 · 7 评论 -
项目: 代码雨
目录一、项目描述和最终的效果展示二、静态的代码雨三、一场动态的代码雨四、实现代码雨动画一、项目描述和最终的效果展示项目: 让字符从上到下依次的下落,呈现出代码雨。最终效果图如下所示:二、静态的代码雨代码如下:#include<graphics.h>#include<time.h>#include<conio.h>#define High 800//游戏画面#define Width 1000#define CharSize 25//每个字符原创 2020-08-09 16:51:13 · 590 阅读 · 2 评论 -
项目: 互动粒子仿真
目录一、二、静态小球的初始化显示三、小球的运动与反弹四、小球运动的规范化五、鼠标的吸引力一、二、静态小球的初始化显示代码如下:#include<stdio.h>#include<string.h>#include<graphics.h>#include<time.h>#include<math.h>#define WIDTH 1024 //屏幕的宽#define HEIGHT 768 //屏幕的高#define NUM_MO原创 2020-08-11 18:06:39 · 716 阅读 · 0 评论 -
项目: 图片放大缩小。
目录最终项目描述和效果代码如下最终项目描述和效果鼠标按小图,左键图片缩小,右键图片放大。代码如下代码大致的思路就是,当鼠标点击指定的地方时。将图片的长宽,变化,在贴图。使用: 将图片命名为1.jpg,并将其放在和.cpp文件同一文件夹下。#include<stdio.h>#include<graphics.h>#include<conio.h>IMAGE maxImg;//大图IMAGE minImg;//小图struct picture{原创 2021-01-06 11:55:48 · 212 阅读 · 0 评论 -
项目: 用c++写一个养成类的游戏【QQ宠物】
目录前言效果和代码前言用c++写了一个类似与QQ宠物的养成类游戏,不过更像精武堂。它是一个文字类的养成类游戏。效果和代码效果图如下:/************************************************项目名称: QQ宠物项目介绍: 宠物养成类游戏 游戏说明: 你做为一个小企鹅,在爸爸的带领下完成历练提高自己的修为。 ************************************************/#include<iostrea原创 2021-02-17 13:23:37 · 1860 阅读 · 2 评论 -
Easyx项目小合集
这好像是很早之前,在官网找的项目项目名称: 迷宫#include <graphics.h>#include <time.h>//////////////////////////////////////////////////////// 定义全局变量//BYTE** g_aryMap = NULL; // 迷宫地图SIZE g_szMap; // 迷宫地图的尺寸IMAGE g_imgSight(360, 280); // 游戏的视野RECT.原创 2021-08-11 10:06:45 · 1007 阅读 · 0 评论 -
项目: 推箱子游戏【c/c++】
很早之前写的一个推箱子的游戏目录最终效果代码最终效果代码#include<stdio.h>#include<stdlib.h>#include<graphics.h>#include<Windows.h>#include<conio.h>int map[8][8]={1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,3,1,1,0,1,3,1,1,0,1,1,0,1,0,1,1,0,0,4,0,0.原创 2021-08-11 10:31:45 · 228 阅读 · 2 评论 -
项目: 打字母游戏【c++/c】
目录效果图代码资源地址效果图代码#include<stdio.h>#include<stdlib.h>#include<Windows.h>#include<graphics.h>//图形图函数#include<time.h>//随机函数种子#include<conio.h>//按键操作库#include<MMSystem.h>#pragma comment(lib,"Winmm.lib")int m原创 2021-08-11 12:08:17 · 217 阅读 · 0 评论 -
项目: 打字母游戏图形化【C++ / C】
目录最终的效果代码资源地址最终的效果代码//项目名称:打字程序,有三个字母随机下落//#define _CRT_SECURE_NO_WARNINGS//避免换编译器时,有时候编译不过#include<stdio.h>#include<stdlib.h>#include<Windows.h>#include<graphics.h>//图形图函数#include<time.h>//随机函数种子#include<conio.h原创 2021-08-11 19:19:13 · 459 阅读 · 1 评论 -
项目: 推箱子图形化游戏 【C++ / C】
码文不易,望点赞、收藏、留言、打赏随意目录最终的游戏效果代码资源地址最终的游戏效果代码#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<graphics.h>#include<Windows.h>#include<conio.h>#include<MMSystem.h>#pragma comment(lib,".原创 2021-08-12 20:58:24 · 578 阅读 · 0 评论 -
项目: 图书管理系统 【C++ / C】
目录效果展示代码资源地址效果展示代码/*********************************头文件区 **********************************/#include<stdio.h>#include<windows.h>#include<stdlib.h>#include<time.h>#include<conio.h>/*********************************原创 2021-08-12 23:52:39 · 225 阅读 · 1 评论 -
项目: 用C语言写一个音乐播放器
目录最终效果代码资源地址最终效果代码/************音乐文件中1开头的是周杰伦的歌2开头的是林俊杰的歌3开头的是许嵩的歌*************/#include<stdio.h>#include<windows.h>#include<mmsystem.h>#pragma comment(lib,"Winmm.lib")#include<graphics.h>#include<stdlib.h>#inc原创 2021-08-13 11:19:56 · 623 阅读 · 0 评论 -
项目: 用C语言写一个图形化的音乐播放器 【C++ / C】
目录最终效果代码资源地址最终效果代码/************1开头的是周杰伦的歌2开头的是林俊杰的歌3开头的是许嵩的歌*************/#include<stdio.h>#include<windows.h>#include<mmsystem.h>#pragma comment(lib,"Winmm.lib")#include<graphics.h>#include<stdlib.h>#include&l原创 2021-08-13 11:27:58 · 488 阅读 · 0 评论 -
项目: 用C语言写一个精美图形化的音乐播放器【C++ / C】
目录最终效果代码资源地址最终效果代码/************1开头的是周杰伦的歌2开头的是林俊杰的歌3开头的是许嵩的歌*************/#include<stdio.h>#include<windows.h>#include<mmsystem.h>#pragma comment(lib,"Winmm.lib")#include<graphics.h>#include<stdlib.h>#include&l原创 2021-08-13 11:37:22 · 547 阅读 · 0 评论