用C写的3D迷宫
Boss说,要看OpenGL,看了快一个月,总算出了个像样的东西,用C写了个3D迷宫,
虽然只有350行
代码,不过边学边写,足足写了一周时间,还是小有成就感的,活活活!
Tips:上下左右键控制前进后退转向,空格键切换俯视图,鼠标右键更换地图(虽然只写了两
个……) 加了点音乐,免得太过单调。
效果图:
#include<stdlib.h>
#include<stdio.h>
#include<GL/glut.h>
#include<GL/glaux.h>
#include<math.h>
#include<windows.h>
#pragma comment(lib, "glaux.lib")
#define PX_START 1.5
#define PY_START 1.5
#define UNITSTEP 0.2
#define ANGLE_START -45
GLuint Texture = 0 ;
float px = PX_START ;
float py = PY_START ;
int angle = ANGLE_START ; //行走方向
int dir_x ; //行走方向向量
int dir_y ;
int MAP_SIZE = 16 ;
char **map ;
int globalView = 0 ; //是否查看俯视图
char *map1[16] =
{
"HHHHHHHHHHHHHHHH",
"H H H",
相关文档:
如下代码编译运行就会提示R6002错误 #include
struct xxx{
float score;
};
int main()
{
xxx* p = new xxx;
scanf( "%f" , &p->score );
delete p;
} 解决方案很简单 int main()
{
xxx* p ......
用linux C 下的函数调用创建中文目录、文件等,字符串的编码格式要求是utf-8格式的。
比如想要使用 int mkdir(const char *pathname, mode_t mode); 创建一个中文的目录。那么pathname的编码格式要求是utf-8的,而不能是gb3212/gbk的,否则就是乱码。
那么如果linux C下如何进行gbk<---->utf-8编码转换的编码装换的 ......
C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则 ......
(1)zImage自解压
本文以流行的Samsung公司的S3C2410,mini2440平台和linux-2.6.29为例,介绍如何在ZIX嵌入式开发环境下探索linux内核启动过程。
Linux内核启动一般由外部的bootloader引导,也可以在内核头部嵌入一个loader,实际的应用中这两种方式都会经常遇到。所以要了解内核启动最开始的过程,必须对bootloader如何 ......