资源简介
牛X的课设魔方,代码简洁有操控音乐播放等等功能
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include “fmod.h“ // 音频库的头文件
#pragma comment(lib “fmodvc.lib“) // 把音频库加入到链接器中
#define PI2 6.2831853f
#define CYCLE_COUNT 900
#define MAX_CHAR 128
FSOUND_STREAM *mp3back; // 背景音乐 *.mp3格式
static GLfloat spin=0.0jl=0.0; //旋转参数
GLfloat RX=0RY=0; //平移参数
GLuint texture[15]; // 存储一个纹理
void wenzi(void); //文字绘制函数申明
typedef struct //用于存储点坐标
{
GLfloat p[3];
}stPoint;
typedef struct //单个立方体八个点信息
{
stPoint CubePoint[8];
}stCube;
static stPoint pianyi[27]= // 立方体偏移数组
{
{-1.0-1.0-1.0} //0
{-1.01.0-1.0} //1
{-1.03.0-1.0} //2
{1.0-1.0-1.0} //3
{1.01.0-1.0} //4
{1.03.0-1.0} //5
{3.0-1.0-1.0} //6
{3.01.0-1.0} //7
{3.03.0-1.0} //8
{-1.0-1.01.0} //9
{-1.01.01.0} //10
{-1.03.01.0} //11
{1.0-1.01.0} //12
{1.01.01.0} //13
{1.03.01.0} //14
{3.0-1.01.0} //15
{3.01.01.0} //16
{3.03.01.0} //17
{-1.0-1.03.0} //18
{-1.01.03.0} //19
{-1.03.03.0} //20
{1.0-1.03.0} //21
{1.01.03.0} //22
{1.03.03.0} //23
{3.0-1.03.0} //24
{3.01.03.0} //25
{3.03.03.0} //26
};
static stPoint CubePoint[8]= //初始立方体点坐标
{
{ -1.0f -1.0f 1.0f} //0
{ 1.0f -1.0f 1.0f } //1
{1.0f 1.0f 1.0f } //2
{-1.0f 1.0f 1.0f} //3
{-1.0f -1.0f -1.0f} //4
{-1.0f 1.0f -1.0f} //5
{1.0f 1.0f -1.0f} //6
{1.0f -1.0f -1.0f} //7
};
stCube Cube[27];
stCube Static_Cube[27];
int rotAngle=1rotbegin=1;//程序运行判断参数
int rotCount=0; //一个旋转周期内旋转次数
int rotXrotYrotZ; //指定那个轴旋转
int sw=1_key=1;//初始化数组
BYTE ZP[9] = {012345678}; //Z轴上三层
BYTE ZM[9] = {91011121314151617};
BYTE ZK[9] = {181920212223242526};
BYTE YM[9] = {03691215182124}; //Y轴上三层
BYTE YP[9] = {147101316192225};
BYTE YK[9] = {258111417202326};
BYTE XM[9] = {01291011181920}; //X轴上三层
BYTE XP[9] = {345121314212223};
BYTE XK[9] = {678151617242526};
//与上对应的层次划分,用于比较,更新
const BYTE SZP[9] ={012345678};
const BYTE SZM[9] ={91011121314151617};
const BYTE SZK[9] ={181920212223242526};
const BYTE SYM[9] = {03691215182124};
const BYTE SYP[9] = {147101316192225};
const BYTE SYK[9] = {258111417202326};
const BYTE SXM[9] = {01291011181920};
const BYTE SXP[9] = {345121314212223};
const BYTE SXK[9] = {678151617242526};
void reset_model() //三阶魔方点坐标初始化
{
int i;
if(sw==1)
{
for(int j=0;j<27;j++)
{
for(int i=0;i<8;i++)
{
Cube[j].Cub
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-12-18 23:35 cube1\
文件 4433 2012-11-11 23:38 cube1\cube1.dsp
文件 535 2012-10-15 22:41 cube1\cube1.dsw
文件 135241 2012-11-13 13:05 cube1\cube1.exe
文件 58368 2012-12-12 15:54 cube1\cube1.ncb
文件 658944 2012-12-12 15:54 cube1\cube1.opt
文件 1436 2012-12-12 15:50 cube1\cube1.plg
目录 0 2012-12-18 23:35 cube1\Data\
文件 58854 2012-10-25 21:34 cube1\Data\x1.bmp
文件 145254 2012-10-26 12:57 cube1\Data\x2.bmp
文件 58854 2012-10-25 21:35 cube1\Data\x3.bmp
文件 58854 2012-10-25 21:35 cube1\Data\x4.bmp
文件 60534 2012-10-25 21:36 cube1\Data\x5.bmp
文件 26838 2012-10-25 12:00 cube1\Data\x6.bmp
文件 6377218 2012-11-05 22:03 cube1\Data\zszj.mp3
文件 18060 2012-12-12 15:50 cube1\main.cpp
文件 2053 2012-12-11 13:39 cube1\wenzi.cpp
评论
共有 条评论