游戏思路借鉴三——随机生成食物!(四)

编程入门 行业动态 更新时间:2024-10-28 07:26:21

游戏<a href=https://www.elefans.com/category/jswz/34/1769825.html style=思路借鉴三——随机生成食物!(四)"/>

游戏思路借鉴三——随机生成食物!(四)

天呐,爷爷,你关注的博主一天两更了!
今天我们继续上一期的往下做现在我们的小蛇蛇已经可以在窗体内运动了,并且撞到窗体还会死亡;那么为了小蛇蛇能够快速健康的长大,我们要在窗体中让他自动生成食物,并且为了增加游戏的趣味性,我们需要一个小小的设计,我们让我们的食物随机位置产生,并且让食物每次产生的颜色随机产生,毕竟五颜六色的才有味道
我们要各种各样的随机,少不了要用到随机函数rnd
再让它的各种属性随机之前。我们先要让他产生,并且这里要明确,食物是在我们的小蛇吃完上一个食物之后在产生;这样我们就把食物的产生,方式,以及产生机制明确了
我们这里也是采用调用函数的方法

'自定义函数随机生成一颗食物在窗体内
Function rndfood()
Randomize
goods.X = Int(Rnd * (ScaleWidth - W))
goods.Y = Int(Rnd * (ScaleHeight - W))
goods.C.R = Int(Rnd * 256)
goods.C.G = Int(Rnd * 256)
goods.C.B = Int(Rnd * 256)
End Function
'自定义函数画食物
Function drawfood()
Line (goods.X, goods.Y)-(goods.X + W, goods.Y + W), RGB(goods.C.R, goods.C.G, goods.C.B), BF
End Function

这里有一个博主觉得很牛逼的地方:vb并不是面向对象的,但是我们这一步实际上是吧食物当作一个对象我么你在通用里声明了一个自定义类型,这个类型拥有坐标,拥有颜色(rgb)
这里博主也把在通用里的声明发出来

'定义食物类型
Private Type FoodX As SingleY As SingleC As Color
End Type
'声明一个食物变量
Dim goods As Food

还记得我们在最开始贪吃蛇第一篇中的那些基础的事情吗?我们当时也声明了一个自定义类型color,你会发现我们在当时的操作现在又用到了,我们当时用声明它的原因是为了随即生成蛇的颜色,我们在自定义类型color中声明了三个变量R.G.B这里我也把那边的代码在搬回来帮助大家理解

'定义颜色类型
Private Type ColorR As Integer'红色G As Integer'绿色B As Integer'蓝色
End Type

我们默认让他们跟别代表三种颜色,这里有人会问,rgb函数里的三个参数书写都是一样的能不能用一个变量分别来代表单个参数呢,这里博主也进行了实验,事实是可以,但是它内部颜色产生方式变了,因为我们原本是要产生三个不同的颜色让他们单个混合起来产生一个新的颜色,而如果我们只用一个变量的话,那相当于他是三个相同数字的纯色混合,并不满足博主的审美标准
食物完成,预告一下,下面我们要让我们的小蛇蛇吃到食物身体变长,并且获取食物的颜色

更多推荐

游戏思路借鉴三——随机生成食物!(四)

本文发布于:2024-02-06 09:57:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1747857.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:思路   食物   游戏

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!