数据结构在游戏中的体现

在游戏的编写中,不可避免的出现很多应用数据结构的地方,有些简单的游戏,只是由几个数据结构的组合,所以说,数据结构在游戏编程中扮演着很重要的角色。   本文主要讲述数据结构在游戏中的应用,其中包括对链表、顺序表、栈、队列、二叉树及图的介绍。读者在阅读本文以前,应对数据结构有所了解,并且熟悉C/C++语言的各种功用。好了,现在我们由链表开始吧! 1、链表   在这一节中,我们将通过一个类似雷电的飞机射击游戏来讲解链表在游戏中的应用。在飞机游戏中,链表主要应用在发弹模块上。首先,飞机的子弹是要频繁的出现,消除,其个数也是难以预料的。链表主要的优点就是可以方便的进行插入,删除操作。我们便将链表这一数据结构引入其中。首先,分析下面的源代码,在其中我们定义了坐标结构和子弹链表。   struct CPOINT   {     int x;  // X轴坐标     int y;  // Y轴坐标   };   struct BULLET   {     struct BULLE* next;  // 指向下一个子弹     CPOINT bulletpos;   // 子弹的坐标     int m_ispeed;     // 子弹的速度   };   接下来的代码清单是飞机类中关于子弹的定义:   class CMYPLANE   {   public:     void AddBullet(struct BULLET*);  // 加入子弹的函数,每隔一定时间加弹     void RefreshBullet();       // 刷新子弹   privated:     struct BULLET *st_llMyBullet;   // 声明飞机的子弹链表   };   在void AddBullet(struct BULLET*)中,我们要做的操作只是将一个结点插入链表中,并且每隔一段时间加入,就会产生连续发弹的效果。   这是加弹函数主要的源代码:   void AddBullet(struct BULLET*)   {     struct BULLET *st_llNew,*st_llTemp;  // 定义临时链表     st_llNew=_StrucHead;          // 链表头(已初始化) ....

详情请浏览:http://lcper.vicp.net/chapter/computer/621576.shtml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值