自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 问答 (3)
  • 收藏
  • 关注

原创 顺序串的建立与操作

一、代码如下/*项目名称:顺序串的建立与基本操作编译环境:VC++ 2008作者相关:。。。最后修改:2019.6.29学习目标:赋值、复制、判空、比较、求长、清空、连接、返回子串、返回子串下标、替换子串、删除子串、销毁注意事项:1.测试所有功能是否正常*/#include <stdio.h>#include <string.h>...

2019-06-29 22:15:04 1060

原创 循环链队列的建立与操作

一、代码如下/*项目名称:链循环队列的建立与基本操作编译环境:VC++ 2008作者相关:。。。最后修改:2019.6.26学习目标:初始化、销毁、清空、判空、求长、返回队头元素、插入元素、删除元素、输出队列中元素注意事项:1.测试所有功能是否正常2.front始终指向头结点而不是首元素,rear始终指向尾元素*/#include <stdio.h&g...

2019-06-26 19:45:12 1910 1

原创 循环顺序队列的建立与操作

一、基本思路1.初始化建空队列时,令front=rear=0;2.插入元素时尾指针增1,删除队头元素时头指针增1,;3.头指针始终指向队头元素,尾指针指向尾元素的下一个位置,如图;4.臆造环状空间(1)在a状态下依次插入J5,J6,J7得到b,在a状态下依次删除J3,J4,J5得到c;(2)队列满或空时都有front=rear,两种解决方法:一是设置标志位,二是预留...

2019-06-25 21:59:13 1182

原创 链队列的建立与操作

一、基本思路1.与单链表操作类似,多了一个尾指针;2.建立含有头结点的链队列,其中front恒指向头结点,rear恒指向尾结点;二、代码如下/*项目名称:链队列的建立与基本操作编译环境:VC++ 2008作者相关:。。。最后修改:2019.6.23学习目标:初始化、销毁、清空、判空、求长、返回队头元素、插入元素、删除元素、输出队列中元素注意事项:1.测试所...

2019-06-23 20:40:42 666

原创 顺序队列的建立及操作

一、基本思路1.与顺序栈的操作几乎一样,区别是在删除元素时,删除的是第一个结点;2.顺序栈的空间是由base指针申请的,利用top指针进行插入、删除操作,并不影响base,因此最后释放时,能全部释放;3.但顺序队列不同,若建立front和rear_next(最后一个元素的下一个位置),若由front申请内存,在删除操作时会更改front的 指向,最后释放时会造成内存泄漏;4...

2019-06-23 10:45:41 734

原创 顺序栈的建立及操作

一、代码如下/*项目名称:顺序栈的建立与基本操作编译环境:VC++ 2008作者相关:。。。最后修改:2019.6.20学习目标:初始化、销毁、清空、判空、求长、返回栈顶元素、插入元素、删除元素、输出栈中元素注意事项:1.测试所有功能是否正常2.s->base = (ElemType *)realloc(s->base,(s->stacksiz...

2019-06-23 10:00:48 630

原创 内存溢出问题

一、问题描述二、问题原因 经百度,基本上是内存溢出问题,也就是动态分配的内存太小了,不够存储的,导致该内存被破坏,最后释放的时候报错;三、问题解决 在申请动态内存时,多写了一个sizeof,把错误类比如下:int i = 100;int j = sizeof(i*sizeof(int)); printf("%d",j); j的值为4,前...

2019-06-23 09:54:23 286

原创 链栈的建立与基本操作

一、链栈的建立1.定义结点结构体,含有数据和指针两个成员变量;2.定义栈结构体,含有栈顶指针和栈中元素个数两个成员变量,其中栈顶指针是结点结构体指针类型;3.栈顶指针当作头指针指向第一个元素,利用头插法实现入栈;二、代码如下/*项目名称:链栈的建立与基本操作编译环境:VC++ 2008作者相关:。。。最后修改:2019.6.21学习目标:初始化、销毁、清空...

2019-06-21 21:31:07 2767

原创 Visual C++游戏编程基础之匀速运动

一、基本思路1.匀速运动:物体在每一个时刻的速度是相同的,即Vx和Vy保持不变;2.关于下次的贴图坐标: 下次X的坐标=当前X的坐标 + Vx; 下次Y的坐标=当前Y的坐标 + Vy;3.设小球匀速运动,碰到窗口边缘则反弹;二、效果...

2019-06-20 21:47:46 1229

原创 双向循环链表的建立及操作

一、代码如下/*项目名称:双向循环链表的建立与基本操作编译环境:VC++ 2008作者相关:。。。最后修改:2019.6.19学习目标:判空、求长、获取元素位置、返回某个位置的元素、插入元素、删除元素、清空链表、销毁链表注意事项:1.测试所有功能是否正常*/#include <stdio.h>#include <stdlib.h>...

2019-06-19 20:42:43 2083

原创 双向链表的建立与操作

一、代码如下/*项目名称:双向链表的建立与基本操作编译环境:VC++ 2008作者相关:。。。最后修改:2019.6.19学习目标:判空、求长、获取元素位置、返回某个位置的元素、插入元素、删除元素、清空链表、销毁链表注意事项:1.测试所有功能是否正常2.true/false不是数据类型,不能用typedef,要使用define3.NULL本身没有prior和...

2019-06-19 20:16:59 347

原创 Visual C++游戏编程基础之搜寻迷宫出口

一、基本思路1.建立8*8迷宫数组,使用0,1,2,3初始化,0,1,2,3分别表示墙、通道、入口、出口,使用地图贴图知识建立迷宫;2.建立堆栈结构记录走过的方格编号,即走到某个方格就把该方格编号压入堆栈;若发现路不通,就把该编号出栈,栈顶元素表示 小球所在的方格编号;3.根据迷宫数组中的值,在初始化函数中对每一格进行贴图,墙贴蓝色的,其余均为白色,找到迷宫入口,记录编号并压入...

2019-06-16 21:31:13 631

原创 Visual C++游戏编程基础之行为型AI游戏

一、设计目标1.建立一个回合制游戏,角色设定怪物与玩家,并在下方显示它们的生命值;2.在背景图上贴上攻击标志,鼠标点击该标志时,玩家向怪物发动 攻击,并在左下角输出怪物的状态信息;3.玩家回合结束后,轮到怪物,根据怪物的HP来决定要选择哪种攻击方式或者逃跑或重伤而死;4.当某一方HP为0时,贴上游戏结束标志;二、基本思路1.初始化过程中,将背景图、怪物及其HP、玩家及其HP...

2019-06-16 18:51:28 578

原创 Visual C++游戏编程基础之追逐移动

一、基本思路1.追逐移动的实现与飞机追随鼠标光标原理类似;2.现在小鸟作为追逐者,设定其贴图坐标为(nowX-25,nowY-16),其中(nowX,nowY)是飞机的贴图坐标;3.通过判断小鸟贴图坐标的X坐标与nowX-25谁大谁小,来决定小鸟在飞机左边还是右边,从而决定贴哪张图;二、效果三、代码实现#include "stdafx.h"#include &lt...

2019-06-15 21:53:47 637

原创 Visual C++游戏编程基础之利用鼠标消息实现贴图

一、鼠标键入消息1.WM_LBUTTONDBLCLK 双击鼠标左键;2.WM_LBUTTONDOWN 单击鼠标左键;3.WM_LBUTTONUP 松开鼠标左键;4.鼠标中键及右键分别将上述L替换为M、R;5.WM_MOUSEMOVE 鼠标移动消息;6.WM_MOLSEWHEEL ...

2019-06-13 21:39:43 5816 2

原创 Visual C++游戏编程基础之键盘消息

一、键盘1.虚拟键码:Windows系统下所有的按键被视为虚拟键(包含鼠标在内),每一个虚拟键都有其对应的虚拟键码;2.键盘消息(1)VM_KEWDOWN:按下按键消息;(2)VM_KEYUP :松开按键消息;(3)VM_CHAR :字符消息,当按下的按键为定义于ASCII码中的可打印字符时,便发出此字符消息;3.系统键(1)VM_SYSKE...

2019-06-09 22:06:32 5608 1

原创 Visual C++游戏编程基础之多背景循环动画

一、基本思路1.现在有三张背景图:天空和草地、山峦、房屋;2.天空在最远处,其次是草地和山峦(因为山峦在草地上),最后是房屋;3.背景的循环速度是天空最慢、然后是山峦、最后是草地和房屋;4.恐龙让它原地跑动,以num记录图号,每次到末尾号,再从第0号开始;二、背景循环贴图1.以天空为例,设x0表示背景图从左向右滚动右边需要切割的宽度,初值为0;2.设背景图宽度640,裁...

2019-06-09 20:39:29 6630 1

原创 Visual C++游戏编程基础之动画显示问题

一、为什么要进行贴图修正目的是解决恐龙底下的阴影问题,要想办法让它重合,不然看起来不流畅,所以要适当修改即将贴图的坐标;二、排序贴图1.为什么要进行排序贴图? 假设有两只恐龙,1号和2号,先贴1号后贴2号,结果可能出现如图遮掩的情况 为了避免这种情况,采用排序贴图;2.什么是排序贴图? (1)首先约定,y越小表示越远,y越大表示越近; (2)建立...

2019-06-06 22:03:31 5251 2

原创 Visual C++游戏编程基础之透明动画

一、原理1.利用前面学过的透明处理,这一次相当于是对每一帧图片进行透明处理,如第一次循环对第一帧进行透明处理,接着显示;第二次对第二帧透明处理,接着显示,直到最后一帧,然后再从第一帧开始,就这样无限循环二、代码如下#include "stdafx.h"HINSTANCE hInst;HBITMAP dra,bg;//bg为背景图,dra为恐龙连续跑动,前景图及屏蔽图HDC ...

2019-06-05 21:29:00 556

原创 循环链表的建立(尾指针)

一、基本思路1.如果要遍历到最后一个元素,使用头指针的时间复杂度是O(n),若使用尾指针,查找最后一个和第一个的时间复杂度都是O(1);2.利用函数返回尾指针,通过传递尾指针来完成函数操作;二、代码如下:/* 项目名称:循环链表的建立与基本操作 编译环境:VC++ 2008 作者相关:。。。 最后修改:2019....

2019-06-05 17:13:06 5087 1

原创 Visual C++游戏编程基础之游戏循环

一、重要函数1.函数原型 BOOLPeekMessage(LPMSGIpMsg,HWNDhWnd,UINTwMSGfilterMin,UINTwMsgFilterMax,UINTwRemoveMsg); 功 能:用于检测消息,检测到了就返回非0值,否则返回0; 参数一:接收消息信息的MSG结构指针; 参数二:其消息被检查的窗口句柄; 参...

2019-06-02 21:23:06 899

原创 Visual C++ 游戏编程基础之定时器的使用

一、重要函数1.定时器函数介绍 注意事项:1.定时器代号不为0,且在同一个窗口内唯一; 2.时间间隔单位是千分之一秒; 3.专门处理VM_TIMER消息的函数,若不需要则设为NULL,把消息处理放到WndProc函数中;2.定时器删除函数 Bool KillTimer( int 定时器代...

2019-06-02 19:20:54 865

原创 Visual C++游戏编程基础之景物贴图

一、基本思路1.首实现斜角贴图,需要显示菱形图块,使用矩形图块贴图,但是要将它的周围进行透明处理,只显示菱形部分2.计算图块索引值的公式: 列编号 = 索引值 / 每一列的图块个数; 行编号 =索引值 %每一列的图块个数;3.计算每一图块的贴图坐标公式,设矩形(菱形)长w,宽h,(xstart,ystart)为起始坐标 左上点x坐标 = xstart + 行...

2019-06-01 21:36:20 897

原创 循环链表的建立(带头结点)

一、基本思路1.循环链表与单链表的区别(1)初始化的时候,头结点的next指向它自己;(2)判断条件上,由p!=NULL更换为p != *L;(3)更新尾结点的时候,要由NULL改为*L;二、代码如下/* 项目名称:循环链表的建立与基本操作 编译环境:VC++ 2008 作者相关:。。。 最后修改:201...

2019-06-01 18:05:41 2599 2

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除