欢迎光临散文网 会员登陆 & 注册

可能是B站最好的植物大战僵尸教程了!C语言实现完整版植物大战僵尸!

2023-02-15 17:45 作者:你所热爱的即生活  | 我要投稿


大家好

我是程序员rock

现在我们来开始从零构建这一个主打战僵尸

首先我们创建一个项目

我这里使用的是vr

是2022

大家也可以使用vs的任意版本啊

不过现在的话

其实用2019或者22202是非常方便的

好创建一个新项目

选择空项目模板

好项目的名称啊

我的植物大战是啊

可以给后缀按4号

项目名称的话是可以使用中文的啊

好项目创建好了啊

然后我们创建添加一个新的文件

文件名啊

你可以改一下

也可以不用改

我给你改一下

好像我们在呃明确说明一下

我们的一个这些开发日志吧

首先啊我们是创建新项目

这下好了

我们这里说的是空项目模板

其实你们还有一些项目准备啊

项目准备的话嗯

我们用到的时候再说吧

好先创建空项目

注意啊

使用这个vs

好接着我们就要导入素材

把我们这个植物大战僵尸需要的游戏素材呀

啊图片啊

声音啊啊放到我们项目里面来啊

从哪里导入呢

哎大家可以把这个视信

然后在回复里面啊直接领取啊

我这里就这个做一个压缩包

复制啊

这rock一帧一帧p出来的

粘贴好

解压下

企业工具很多啊

7z是最其实最方便的

没有广告的

用其他的也可以

一取得好这一个解压目录好

这是我们的素材

我们把素材全部都复制过来或者剪贴过来吧

剪贴好啊

这里面我们搞一个新的目录

新建一个专门放资源的r e s目录

就是windows基本看下面开发常用的一个方式

r e s表示资源目录

用其他目录也可以好吧

我们都粘贴过来好

你看这里面啊啊这个素材都有了

好另外这里有两个工具文件啊

这种rush的两个工具文件啊

我看剪贴过来放在外面啊

放到梦同目录下面

这样的话我们这个嗯素材啊就导入好了

首先我们做什么呢

呃我们初学者往往写做项目的时候

往往会产生困惑

而不知道从哪里学起啊

最好给大家分享一个小的一个开发的一个方式

一个一个技巧吧

用需求

用需求来推动

我们从学角度上角度的话

我们最想看到的是我们游戏界面是吧

所以我们最开始把我们把我们的这个游戏

界面啊

把它搞出来

就我们这里这个实现舒适的最开始的游戏

因为专业术语叫场景

一场景其实就是一个界面

把头文件写下

c语言基础的头文件

还有这里有一个啊

这个这个是一个图形库啊

是easy tt

定住

啊所以需要什么需要先安装

需要安装easy tab啊

这个按住图形库啊

这台官网可以下载

也可以私信我啊

直接获取

直接双击安装就可以了

还这样的话

我们的基础图一定就找好了

没函数

直接做我们的一个初始的一个游戏场景

一个好的方式的话是这样的吧

哎但凡所有的项目不只是游戏啊

做一个初始化

所以我们开始可以做一个初始化

游戏初始化就是我们啊c语言所学到的是吧啊

定义调用函数来定义一个函数

infinite

从这可以看出来

函数是我们自己定义

把自己调用

当然在大型项目开发里面的话

你会定义很多函数给别人调用

好游戏的初始化初始化

你有没有做什么东什么东西呢

首先啊我们对我们初学者最感兴趣的

就是那个游戏的背景是吧

游戏背景加载游戏背景图片

背景图片的话有两种加载方式

第一种是把背景图片

直接打印到我们窗口里面来

但这种方式会它会比较慢

我经常调的会比较慢

第二种方式的话

把背景图片先放到我们的内存变量里面去

这样的话它再从变量里面显示就会很很快

就会更快一些

所以我这里使用这种变种方式

首先呢我们就需要定一个啊背景图片啊

变量里面

啊这是image ex图形库的一个数据线

表示图片的imac g背景图片

导入c加开发放方式的话

就搞搞成员变量

我就用c元的方式

我就定义一个全局变量

它用来表示背景图片的

所以我们要加载啊

就从硬盘的那个背景图片

把它加载到我们这边里面来

怎样价值呢

load image加载


注意啊

加载的时候这里要加个取地址符号

后面是我们这个啊路径呢

哎好像我们素材的路径打开所在文件夹

就是我们的i s目录吧

s目录下面的这个好b g点接pg啊

这是我们的背景图片

好像也是这个不建议用绝对路径

有同学喜欢用这个啊

绝对路径很长很长的

这个方不方便

而且项目改变位置你就失效了

必须点接笔记好

加上之后它这里有个错误提示啊


老鸟的话就知道了啊

这是很多解决办法

根本原因是字符集的原因造成的

所以我们这里只需要什么呢

啊最简单的方式是需要改变它的项属性啊



右键单击项目名称


选择属性

弹出属性窗口啊

这里选择高级好这个字符集

把它改成多字节字符集


好ok

这样的话我们背景的图片就已经加载好了


但是这个时候的话他是不会啊

不会显示了

跑起来特别显示的啊

因为它放在内存变量里面是吧

所以我们要把它显示出来的话

还要额外实现它显示出来怎么办呢

诶那我们肯定要什么要先创建这个什么

创建这个游戏窗口

显示到窗口里面来吧

mod的话还是控制台呀

创建一个游戏的图形窗口


啊这个是一直插图形库的结构

很多初学者的话

这个啊担心记不住啊

没关系啊

有个印象就行了

然后查下笔记

看下我的笔记就可以了

它有两个参数啊

第一个窗口的宽度

还有窗户的高度

穿过好多宽多高呢

啊这个游啊这个相机里哈哈他来算啊

这个游戏要多宽多高好看啊

我们这里来啊

直接复刻的那个经典的总大战僵尸啊

按照他的比例的话

我选择这个宽度900x600


900x9也可以这样写

900 600

但这样写就不专业啊是吧

万一以后更改了

所以我们可以把它定义成一个红或者

cos变量都行

我们这里定义成一个红

这c语言的基本的语法是吧


窗口的一个宽度

900

三窗口的高度600

好的替换一下

单口的宽度

然后的高度好好

这样的话我们最简单的初始化就做好了


你看被图片已经加载到我们的变量里面来了

窗口也已经创建好了

好咱们可以跑起来了

哈哈这时候跑的话肯定是一片黑是吧

大家也可以先试一下啊

再加个暂停


因为你不加暂停的话

程序直接gg啊

窗户都来不及

来不及捡

来不及看到就直接关掉了

好跑一下

这主要是检查一下你的开发环境

对不对

你看窗户已经出来了


我这个时候都出不来的话

那说明这个环境没有搭配好啊

要重新重新装一下

这个一直插图形库

好然后我们在你你窗口

但是我们是黑的吧

啊我们没有看到我们最关心的这个游戏背景

就没法跟项目经理交代啊

哈哈哈嗯你这个嗯绩效就拿不到

所以我们这里来哎

赶快把窗口把它显示出来

怎么显示呢

这种啊也可以了解分享开那个专业的开发方式

单一的功能啊

我们要什么一定要封装成一个函数

所以我们也给它封装一个更新update


问那个更新窗口

这是表示更新啊

这个游戏窗口的update问的

但你有其他的名字也是没问题的

再买定

更新窗口

更新窗口的话就是把我们的背景图片打开

打出来写出来

用反应组叫渲染bot image

他就是专门把一个图片渲染出来显示出来的

它有呃多个参数

第一个参数其实这是什么意思

我先先写吧

等一下把调查说明image pg好


很多同学可能已经知道了

知道的话就温故而知新啊

我们在打印一个窗图片的时候

啊啊我们要确定它的一个坐标

几乎所有的图形库它都是这种坐标概念

这样的

这是我这是我们的大方框


是我们的窗口啊

在窗口里面呢

我们要在上面绘制啊

要画一个这个图片

画这个图片好

画这个绿色的方块图片怎么画呢

诶你要确定它在哪个位置画是吧

怎么怎么确定呢

就需要确定这两个要素

就是说你的图片他在窗口距离窗口最左侧


它的一个间隔距离

这啊间隔多大好

这个我们一般称之为水平的话说x坐标


还有

这个图形啊

你这个窗图片距离

那个窗口顶部的一个距离有多高啊

这也是我们所说的一个y坐标啊


这话就比较好理解啊

如果对数学比较熟悉的话

其实他本身就是图片的左上角是吧

图片左上角啊

在这个坐标系里面的坐标

这个坐标系的话就是嗯

就是红色的吧

坐标系

初中数学要学的坐标系


不过不同的是它的它这个垂直的这个y坐标

y轴它是朝下的

你可以这样去理解啊

左上角它它在这里面做标志

对数学不熟悉的同学

你就直接叠成这个图片

它距离最左侧的距离和最底部的距离好

那我们要画背景的话

他肯定要从左上角直接全部铺开嘛

毫无疑问啊

所以我们这里的一个背景图片的坐标

a坐标是零

y坐标也是零

好对应我们这里的x和y好

这样我们背景图片啊就已经有了好

这时我们就可以直接跑起来了


哈哈哈哈哈啊

我们的游戏

植物大战僵尸的最初始的界面就已经出来了

不过啊还非常简陋

很多要素都没有

比如说我们的这个啊全面

他在上面的有个类似一个背包内的一个啊

有一个啊按钮啊

有个按钮可以选择我们各种植物的啊

没有出来

还僵尸也没跑过来

好这些

我们看来下一步再做好

这里的话

这就非常简单啊

主要是开发环境的一个设置

一个开环境要使用这个vs

建议vs用其他开环境也可以啊

但是比较麻烦一下要绕左

为了配置另外装一直插图形库

好把素材导进来啊

我们就可以直接看到我们的这个

最初始的界面了

好啊

下一节我们就来做我们的坠子上面啊

上面这个啊这个啊工具栏

好下期再见拜拜


可能是B站最好的植物大战僵尸教程了!C语言实现完整版植物大战僵尸!的评论 (共 条)

分享到微博请遵守国家法律