资源简介
OpenGL 3D 贪吃蛇程序,适合初学者学习
代码片段和文件信息
// example003.cpp : 定义控制台应用程序的入口点。
//
/*==================================================================================*/
/* Computer Graphics Final Project: Snake */
/* Prepared By: Salim AWAD */
/*-http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=254315*/
/*==================================================================================*/
/*Include Files*/
#include “stdafx.h“
#include
#include
#include
#include
#define UP 1
#define Down 2
#define LEFT 3
#define RIGHT 4
// Status Variables
GLint lvl = 1;
GLint points = 0;
GLint size = 0;
GLbyte gameOver = true;
GLbyte EnableLight = true;
// Snake Variables
GLint bodyPos[2][100] = {{}};
GLint _x = 5;
GLint _z = 10;
GLint _oldX[2] = {};
GLint _oldZ[2] = {};
GLbyte direction = 0;
// Food Variables
GLint _bx = 0;
GLint _bz = 0;
// Screen variables
GLint _w = 800;
GLint _h = 550;
GLint _Giw = 0;
GLint _Gih = 0;
GLint _Gfw = 150;
GLint _Gfh = 150;
//Variables for the Camera Angle
static GLfloat view_rotx=45.0F ;
static GLfloat view_roty=0.0F ;
static GLfloat view_rotz=0.0F ;
static GLfloat headRotation=90.0F ;
static GLfloat zoom=-300.0F ;
// Variables to check the FPS
DWORD g_dwLastFPS = 0;
int g_nFPS = 0 g_nframes = 0;
//Configure the lightning
void initLight()
{
//Add ambient light
GLfloat ambientColor[] = {0.3f 0.4f 0.5f 1.0f};
glLightModelfv(GL_LIGHT_MODEL_AMBIENT ambientColor);
//Add positioned light
GLfloat lightColor0[] = {0.5f 0.5f 0.5f 1.0f};
GLfloat lightPos0[] = {4.0f 0.0f 8.0f 1.0f};
glLightfv(GL_LIGHT0 GL_DIFFUSE lightColor0);
glLightfv(GL_LIGHT0 GL_POSITION lightPos0);
//Add directed light
GLfloat lightColor1[] = {0.5f 0.2f 0.2f 1.0f};
//Coming from the direction (-1 0.5 0.5)
GLfloat lightPos1[] = {-1.0f 0.5f 0.5f 0.0f};
glLightfv(GL_LIGHT1 GL_DIFFUSE lightColor1);
glLightfv(GL_LIGHT1 GL_POSITION lightPos1);
}
//initialize the first configurations
void Initialize(void)
{
glEnable(GL_DEPTH_TEST);
glClearColor(0.7f 0.9f 1.0f 1.0f); //Change the background to sky blue
if(EnableLight){
glEnable(GL_COLOR_MATERIAL); //Enable color
glEnable(GL_LIGHTING); //Enable lighting
glEnable(GL_LIGHT0); //Enable light #0
glEnable(GL_LIGHT1); //Enable light #1
glEnable(GL_NORMALIZE); //Automatically normalize normals
}
}
//Configure window resize
void resize (int w int h)
{
glViewport(0 0 w h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0 (double)w / (double)h 1 800.0);
}
void Write(char *string){//Write string on the screen
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-03-11 12:23 example003\
目录 0 2014-03-11 12:22 example003\debug\
文件 49152 2014-03-11 12:06 example003\debug\example003.exe
文件 391232 2014-03-11 12:06 example003\debug\example003.ilk
文件 412672 2014-03-11 12:06 example003\debug\example003.pdb
目录 0 2014-03-11 12:22 example003\example003\
文件 4000768 2014-03-11 12:23 example003\example003.ncb
文件 895 2014-03-10 17:13 example003\example003.sln
文件 9216 2014-03-10 17:16 example003\example003.suo
目录 0 2014-03-11 12:22 example003\example003\Debug\
文件 10086 2014-03-11 12:06 example003\example003\Debug\BuildLog.htm
文件 403 2014-03-11 12:02 example003\example003\Debug\example003.exe.em
文件 468 2014-03-11 12:02 example003\example003\Debug\example003.exe.em
文件 385 2014-03-11 12:06 example003\example003\Debug\example003.exe.intermediate.manifest
文件 46761 2014-03-11 12:06 example003\example003\Debug\example003.obj
文件 1179648 2014-03-11 12:02 example003\example003\Debug\example003.pch
文件 65 2014-03-11 12:06 example003\example003\Debug\mt.dep
文件 11805 2014-03-11 12:02 example003\example003\Debug\stdafx.obj
文件 183296 2014-03-11 12:06 example003\example003\Debug\vc80.idb
文件 118784 2014-03-11 12:06 example003\example003\Debug\vc80.pdb
文件 12540 2014-03-11 12:06 example003\example003\example003.cpp
文件 4496 2014-03-10 17:13 example003\example003\example003.vcproj
文件 1409 2014-03-11 12:06 example003\example003\example003.vcproj.zjc-PC.zjc.user
文件 968 2014-03-10 17:13 example003\example003\ReadMe.txt
文件 215 2014-03-10 17:13 example003\example003\stdafx.cpp
文件 314 2014-03-11 12:02 example003\example003\stdafx.h
- 上一篇:广工数据结构实验
- 下一篇:基于STM32F07单片机风洞程序
相关资源
- unity5 FPS 3D射击游戏源码
- 3DChess(立体中国象棋
- Unity3D 实战视频教程 保卫萝卜 2D 游戏
- unity3d调用中央气象局城市天气数据,
- OpenGL爆炸碎片化效果 源码
- OpenGL三茶壶三光源光源绕着茶壶旋转
- Direct3d做的演示程序有源代码
- Unity 3D Paint in 3D (1.7.3)
- opencat所有资料.zip
- 10个OpenGL的源码
- vc写的一个游戏里面三维场景漫游
- 2014年最新最好的Unity3d圣典之中文脚本
- 年会抽奖程序,3D 球体抽奖,支持奖
- DES 纯c实现(des.c和des.h) 含pkcs1填充
- OpenGL实现的简单游戏引擎
- OpenGL游戏程序设计源码
- glew最新版本glew1.11.0
- XT30UPB 3D.PcbLib
- 装饰树干枝3D模型
- Unity3D搓牌效果支持4个方向
- Belle II处ϒ6S→ϒ13DJη跃迁
- panda插件201264位 3DMAX转换.x文件工具把
- shp文件转3dtiles
- 3ds Max游戏角色面部高级绑定视频教程
- Unity3D课程设计 模拟火焰效果
- CSS3制作3D旋转科幻球体动画特效
- 贝塞尔曲线的unity3d实现
- 我的Unity 3D之旅——第一人称射
- [资源插件]Unity3D_UGUI HUD Text v1.4.1.zip
- ShaderlabVSCode 1.1.6.unitypackage
评论
共有 条评论