1.Two Sum

一、题目要求 Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input wou...

2019-06-17 20:37:42

阅读数 11

评论数 0

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

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

2019-06-16 21:31:13

阅读数 23

评论数 0

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

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

2019-06-16 18:51:28

阅读数 31

评论数 0

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

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

2019-06-15 21:53:47

阅读数 29

评论数 0

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

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

2019-06-13 21:39:43

阅读数 780

评论数 0

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

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

2019-06-09 22:06:32

阅读数 753

评论数 0

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

一、基本思路 1.现在有三张背景图:天空和草地、山峦、房屋; 2.天空在最远处,其次是草地和山峦(因为山峦在草地上),最后是房屋; 3.背景的循环速度是天空最慢、然后是山峦、最后是草地和房屋; 4.恐龙让它原地跑动,以num记录图号,每次到末尾号,再从第0号开始; 二、背景循环贴图 1...

2019-06-09 20:39:29

阅读数 1483

评论数 0

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

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

2019-06-06 22:03:31

阅读数 1428

评论数 1

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

一、原理 1.利用前面学过的透明处理,这一次相当于是对每一帧图片进行透明处理,如第一次循环对第一帧进行透明处理,接着显示;第二次对第二帧透明处理,接着显示,直到最后一帧,然后再从第一帧开始,就这样无限循环 二、代码如下 #include "stdafx.h" HIN...

2019-06-05 21:29:00

阅读数 73

评论数 0

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

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

2019-06-05 17:13:06

阅读数 58

评论数 0

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

一、重要函数 1.函数原型 BOOLPeekMessage(LPMSGIpMsg,HWNDhWnd,UINTwMSGfilterMin,UINTwMsgFilterMax,UINTwRemoveMsg); 功 能:用于检测消息,检测到了就返回非0值,否则返回0; 参数一:接收消息信...

2019-06-02 21:23:06

阅读数 55

评论数 0

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

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

2019-06-02 19:20:54

阅读数 49

评论数 0

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

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

2019-06-01 21:36:20

阅读数 48

评论数 0

循环链表的建立(头指针)

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

2019-06-01 18:05:41

阅读数 40

评论数 0

Visual C++游戏编程基础之平面地图贴图

一、基本思路 1.地图由3*4张图块组成,列方向4块,行方向3块,这里有3种不同颜色的图块; 2.将3张不同的图块分别用0、1、2表示,建立地图数组,8行8列,用0、1、2这三个数进行初始化 3.建立空白位图存到mdc,循环整个地图数组,从第一个开始,根据数组值(0或1或2)取出对应的地图,...

2019-05-31 21:52:28

阅读数 68

评论数 0

Visual C++游戏编程基础之透明半透明效果

一、基本思路 1.半透明的原理 一张位图由许多像素组成,而每一像素包含R、G、B三原色,三原色的值决定了像素的色彩,要实现半透明效果,需要把前景图 和背景图彼此对应的像素颜色按某一比例进行调配,称为 ‘不透明度’,直接贴图,则前景图不透明度为100%,背景图为0%; 公式:半透明图色彩...

2019-05-29 22:33:52

阅读数 61

评论数 0

Visual C++游戏编程基础之图片透明处理

一、透明处理步骤 1.屏蔽图与背景图做与运算,黑色为0,白色为1; 2.前景图与背景图作或运算,处理后的位图贴到DC上 二、实现代码 #include "stdafx.h" HINSTANCE hInst; HBITMAP bg,dra;//定义背景图句柄bg,前...

2019-05-27 21:14:59

阅读数 77

评论数 0

静态链表的理解及基本操作

一、静态链表的由来 某些高级语言里面并没有指针,只有数组,静态链表就是利用数组来实现类似链表的操作 二、如何建立静态链表 1.要分配足够大的内存,用来存放变量,内存大小记为MAXSIZE; 2.内存不仅要存放数据,而且要存放' 指针 ',把它称为游标,满足这一条件的变量类型是结构体,其定义...

2019-05-27 17:31:42

阅读数 54

评论数 0

Visual C++游戏编程基础之位图绘制

一、位图绘制步骤 1.加载位图,这里要用到函数LoadImage( ),其函数原型如下: HANDLE LoadImage( HINSTANCE hinst, //实例句柄 LPCTSTR lpszName,//指向图像的名称 UINT uType, //指...

2019-05-20 22:02:06

阅读数 315

评论数 0

单链表的理解及操作

一、对于结点的理解 ​​​1.结点的定义 typedef struct Node { ElemType data; struct Node *next; }Node; 2.对该定义进行分解,首先得到: struct { ElemType data; ...

2019-05-18 18:16:47

阅读数 96

评论数 0

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