弹球游戏,文字还有点问题
2012年01月13日
#include
#include
#include
#include
#include
#include
#define PI3.14159
#define MAX_CHAR128
#define ballV1.0
#define cpuV0.2//减速
#define rCamera6
#define Middle-rCamera
#define WHITEglColor3f(1,1,1);
#define GRAYglColor3f(0.5,0.5,0.5);
#define GREENglColor3f(0,1,0);
#define REDglColor3f(1,0,0);
#define PURPLEglColor3f(1,0,1);
#define BLUEglColor3f(0,0,1);
GLfloat light_position[] = { 0.0, 1.0, 0.0, 0.0 };
GLfloat light_specular[]={1.0, 1.0, 1.0, 1.0};
GLfloat light_shininess[] = { 100.0 };
static GLuint lists;
GLUquadricObj *q1,*q2,*q3;
GLintImageWidth,ImageHeight,
WindowWidth=600,WindowHeight=600;
GLuinttexture;
GLubyte *PixelData;
boolmoving=true,
win=false,
lose=false;
GLfloat myX=0,myY=Middle+1,
cpuX=0,cpuY=Middle-1,
ballX=0,ballY=myY-0.25,
ballvX,ballvY,ballAng,
eyeX=0,eyeZ=0,eyeAng=0;
int rand(int low, int high){
return rand()%(high-low)+low;
}
float dst(float x1,float y1, float x2,float y2){
return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
void readBmp(FILE* pFile){
fseek(pFile, 0x12, SEEK_SET);
fread(&ImageWidth, sizeof(ImageWidth), 1, pFile);
fread(&ImageHeight, sizeof(ImageHeight), 1, pFile);
int PixelLength = ImageWidth * 3;
while( PixelLength % 4 != 0 )
++PixelLength;
PixelLength *= ImageHeight;
PixelData=new GLubyte[PixelLength];
GLubyte* tmp=new GLubyte[PixelLength];
fseek(pFile, 54, SEEK_SET);
fread(tmp, PixelLength, 1, pFile);
for(int i=0;i=30)
eyeAng=30;
else if(eyeAng0.85)
myX=0.85;
if(myXMiddle+1.9)
myY=Middle+1.9;
glutPostRedisplay();
}
void restart(){
moving=true;
win=false;
lose=false;
myX=0;myY=Middle+1;
cpuX=0;cpuY=Middle-1;
ballX=0;ballY=myY-0.25;
ballAng=rand(240,300);
ballvX=ballV*cos(ballAng*PI/180);
ballvY=ballV*sin(ballAng*PI/180);
glutPostRedisplay();
}
void key(unsigned char key,int w,int h){
switch(key){
case VK_RETURN:
restart();
glutPostRedisplay();
break;
default:break;
}
}
void key2(int key,int w,int h){
switch(key){
case GLUT_KEY_LEFT:
adjustAngle(5);
glutPostRedisplay();
break;
case GLUT_KEY_RIGHT:
adjustAngle(-5);
glutPostRedisplay();
break;
default:break;
}
}
void update(int value){
float up=Middle-1.9,down=Middle+1.9;
if(moving){
//弹球的移动
ballX+=ballvX*0.1;
ballY+=ballvY*0.1;
if(ballX>=-0.4 && ballX=down){//输
moving=false;
win=false;
lose=true;
}
else if(ballX>=-0.4 && ballX=down){//撞到下面
ballY= 2*down-ballY;
ballvY= -ballvY;
ballAng = 360-ballAng;
}
if(ballY=0.9){//撞到右边
ballX= 1.8-ballX;
ballvX= -ballvX;
ballAng= ballAng0)
ballAng = theta;
else
ballAng = theta+360;
}
if((d=dst(ballX,ballY,cpuX,cpuY))0)
ballAng = theta;
else
ballAng = theta+360;
}
//cpu的移动
if(ballY>=cpuY && ballX=cpuY && ballX>cpuX){//向右
cpuX += cpuV*0.1;
if(cpuX> 0.85)
cpuX=0.85;
}
else if(ballY0.85)cpuX=0.85;
if(cpuX
发表评论
-
堆和栈的区别
2012-01-20 00:16 403堆和栈的区别 2010年10 ... -
堆栈的认知!
2012-01-20 00:16 510堆栈的认知! 2010年11月2 ... -
VC串口通讯win32SDK版
2012-01-20 00:16 596VC串口通讯win32SDK版 2011年05月14日 ... -
Programming Applications for Microsoft Windows - 第七部分 附录
2012-01-20 00:16 511Programming Applications for Mi ... -
Windows窗口和消息(2)
2012-01-20 00:16 375Windows窗口和消息(2) 2011 ... -
第七十三章 暗杀
2012-01-19 01:07 360第七十三章 暗杀 2011年06月10日 丰含笑又等了 ... -
我的见解
2012-01-19 01:07 512我的见解 2011年08月20日 上等美女只存在两个地方 ... -
“网店模特”成新兴职业 大学生兼职居多
2012-01-19 01:07 677“网店模特”成新兴职 ... -
中国各省美丽女孩分析
2012-01-19 01:07 742中国各省美丽女孩分析 2010年10月24日 关于美女的 ... -
fzl图片说。非主流
2012-01-17 00:31 638fzl图片说。非主流 2012年01月10日 非主流图片 ... -
各种文件后缀名与打开方式大全a-d
2012-01-17 00:31 746各种文件后缀名与打开方式大全a-d 2012年01月11日 ... -
p内部资料s
2012-01-17 00:30 653p内部资料s 2011年12月22 ... -
平面设计界的九阳真经
2012-01-17 00:30 636平面设计界的九阳真经 ... -
小学生评语大全{六年级}
2012-01-15 14:53 669小学生评语大全{六年级 ... -
最有文采有学生评语下载大全
2012-01-15 14:53 556最有文采有学生评语下载大全 2010年01月22日 h ... -
作文评语大全
2012-01-15 14:53 579作文评语大全 2009年10 ... -
小学生期末评语经典大全
2012-01-15 14:53 436小学生期末评语经典大全 2011年12月15日 1.你是 ... -
作文评语大全
2012-01-15 14:53 613作文评语大全 2009年11 ...
相关推荐
java弹球游戏源码 文字冒险 一款安卓老式文字冒险游戏。 这是 Android 环境中 TDD 的另一个练习。 不要忘记通过创造价值来推动开发——价值是游戏内容,这应该推动功能的开发来支持它。 Vagrant 开发环境 这个项目...
java弹球游戏源码 这是啥? 这是一个使用 Java 编写的屑文字游戏,名为《鬼畜大冒险》,英文名为 KichikuAdventure。 这是迄今为止本人所做的最大的 Java 文字游戏项目。 编译时的注意事项 由于本游戏包含 BGM,其...
多个文字字符在设定好的边框内弹动,源于弹球游戏的设计。
通过13个实例,详细讲解了tkinter模块在游戏开发中,常用功能的实现方法。具体包括:创建一个...学会这些基础知识,对开发Python五子棋游戏、贪吃蛇游戏、弹球游戏、连珠游戏、井字游戏、太空阻击游戏有直接的帮助。
7.6 弹球游戏 7.7 拯救生命 7.8 扫雷 7.9 双向飞碟 7.10 俄罗斯方块 第8章 java网络编程 8.1 解析URL 8.2 逆序信息 8.3 回声 8.4 敲门服务 8.5 每日一贴 8.6 聊天室服务器 8.7 聊天室客户端 8.8 留言簿 8.9 网络游戏
日历与定时器 特效小猫抓毛线球 统计剩余字数(jq版) 文字折纸效果 相册 表情 纯css+媒体查询实现网页特效 倒计时 魔性的舞蹈 计算器 h5弹球游戏
7.6 弹球游戏 7.7 拯救生命 7.8 扫雷 7.9 双向飞碟 7.10 俄罗斯方块 第8章 java网络编程 8.1 解析URL 8.2 逆序信息 8.3 回声 8.4 敲门服务 8.5 每日一贴 8.6 聊天室服务器 8.7 聊天室客户端 8.8 留言簿 8.9 网络游戏
7.6 弹球游戏 7.7 拯救生命 7.8 扫雷 7.9 双向飞碟 7.10 俄罗斯方块 第8章 java网络编程 8.1 解析URL 8.2 逆序信息 8.3 回声 8.4 敲门服务 8.5 每日一贴 8.6 聊天室服务器 8.7 聊天室客户端 8.8 留言簿 8.9 网络游戏
实例168 三维弹球游戏(Java 3D) 498 实例169 贪吃的小蛇 502 实例170 有趣的拼图游戏 510 实例171 滚动的文字 517 实例172 简单的GIF动画效果 519 实例173 简单的声音播放 522 实例174 多媒体播放器 526 ...