用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",
相关文档:
//yichi的c代码编写规范:091216
//一、常量:
// 所有宏定义、枚举常数和const变量全部由大写字母构成,词与词之间用下划线分开,例如#define GPS_WORK_STATUS 0x30
//二、变量:
// 局部变量全部由小写字母构成,词与词之间用下划线分开,例如uint8 ack_delay_time[4];全局变量与局部变量 ......
关于perl中和C中的sort机制
(转载)
细读C++ primer,终于理解了一直比较疑惑的perl和C的sort函数机制。我到不是疑惑它的用法,而是很疑惑它的形式,为什么要传递一个子程序的匿名引用给它呢,而且形式还很古怪,一定要是$a<$b,$a<=>$b之类的。要求严格且古怪。
今夜突然看到p.384页,看到书上对quicksort排 ......
(1)zImage自解压
本文以流行的Samsung公司的S3C2410,mini2440平台和linux-2.6.29为例,介绍如何在ZIX嵌入式开发环境下探索linux内核启动过程。
Linux内核启动一般由外部的bootloader引导,也可以在内核头部嵌入一个loader,实际的应用中这两种方式都会经常遇到。所以要了解内核启动最开始的过程,必须对bootloader如何 ......