91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

閑來無事用opengl做了一個貪吃蛇來玩,感覺還不錯傳上來和大家分享。不過由于時間關系沒有注釋,還望見諒。程序運行后用方向鍵控制小蛇,鼠標右鍵調節難度。

資源截圖

代碼片段和文件信息

#include“gl/glut.h“
#include
#include
using?namespace?std;
vector?x;
vector?y;
int?point_x?point_y;
int?direction?=?GLUT_KEY_RIGHT;
int?level?=?150;
void?restart()
{
x.clear();
y.clear();
int?i;
for(i?=?0;?i? {
x.push_back(30?-?i);
y.push_back(75);
}
direction?=?GLUT_KEY_RIGHT;
}
void?menu(int?input)
{
level?=?input;
glutPostRedisplay();
}
double?random(double?start?double?end)
{
????return?start+(end-start)*rand()/(RAND_MAX?+?1.0);
}
void?createpoint()
{
int?i;
bool?state?=?true;
while(1)
{
point_x?=?random(0200);
point_y?=?random(0150);
for(i?=?0;?i? {
if(?(x[i]?==?point_x)?&&?(y[i]?==?point_y)?)
{
state?=?false;
break;
}
}
if(state?==?true)
break;
}
}
void?move()
{
int?i;
for(i?=?x.size()?-?1;?i?>?0;?i--)
{
x[i]?=?x[i?-?1];?
y[i]?=?y[i?-?1];
}
}
void?special(int?key?int?x?int?y)
{
if(?(key?!=?direction)?&&?(abs(key?-?direction)?!=?2)?)
direction?=?key;
}
void?init(void)
{
glClearColor(1.01.01.00.0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0200.00.0150.0);
}
void?display(void)
{
int?i;
if(?(x[0]??200)?||?(y[0]??150)?)
restart();
for(?i?=?1;?i? {
if(?(x[0]?==?x[i])?&&?(y[0]?==?y[i])?)
{
restart();
break;
}
}
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.01.00.0);
glPointSize(5);
for(i?=?0;?i? {
glBegin(GL_POINTS);
glVertex2i(x[i]?y[i]);
glEnd();
}
if(?(x[0]?==?point_x)?&&?(y[0]?==?point_y)?)
{
x.push_back(x[0]);
y.push_back(y[0]);
createpoint();
}
glBegin(GL_POINTS);
glVertex2i(point_x?point_y);
glEnd();
glFlush();
}
void?timer(int?i)
{

move();
switch(direction)
{
case?GLUT_KEY_RIGHT:?::x[0]++;?break;
case?GLUT_KEY_UP:?::y[0]++;?break;
case?GLUT_KEY_LEFT:?::x[0]--;?break;
case?GLUT_KEY_DOWN:?::y[0]--;?break;
}
glutTimerFunc(leveltimer1);
glutPostRedisplay();
}

int?main(int?argc?char**?argv)
{
int?i;
for(i?=?0;?i? {
x.push_back(30?-?i);
y.push_back(75);
}
glutInit(&argc?argv);
glutInitDisplayMode(GLUT_SINGLE?|?GLUT_RGB);
glutInitWindowPosition(50?100);
glutInitWindowSize(400?300);
glutCreateWindow(“貪吃蛇“);
init();
glutCreateMenu(menu);
glutAddMenuEntry(“低級“?150);
glutAddMenuEntry(“中級“?100);
glutAddMenuEntry(“高級“?50);
glutAttachMenu(GLUT_RIGHT_BUTTON);
createpoint();
glutDisplayFunc(display);
glutSpecialFunc(special);
glutTimerFunc(leveltimer1);
glutMainLoop();
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????86016??2011-02-26?22:17??snake\debug\snake.exe

?????文件?????455708??2011-02-26?22:17??snake\debug\snake.ilk

?????文件?????429056??2011-02-26?22:17??snake\debug\snake.pdb

?????文件???????5356??2011-02-26?22:17??snake\snake\Debug\BuildLog.htm

?????文件?????140519??2011-02-26?22:17??snake\snake\Debug\main.obj

?????文件?????????65??2011-02-26?22:17??snake\snake\Debug\mt.dep

?????文件????????387??2011-02-26?22:17??snake\snake\Debug\snake.exe.intermediate.manifest

?????文件?????134144??2011-02-26?22:17??snake\snake\Debug\vc80.idb

?????文件?????110592??2011-02-26?22:17??snake\snake\Debug\vc80.pdb

?????文件???????2648??2011-02-26?22:17??snake\snake\main.cpp

?????文件???????3706??2011-02-23?21:20??snake\snake\snake.vcproj

?????文件???????1407??2011-04-27?15:30??snake\snake\snake.vcproj.gz-PC.gz.user

?????文件????2034688??2011-04-27?15:30??snake\snake.ncb

?????文件????????880??2011-02-23?21:03??snake\snake.sln

????..A..H.??????9728??2011-04-27?15:30??snake\snake.suo

?????目錄??????????0??2011-02-26?22:17??snake\snake\Debug

?????目錄??????????0??2011-02-26?22:17??snake\debug

?????目錄??????????0??2011-02-26?22:17??snake\snake

?????目錄??????????0??2011-02-26?22:14??snake

-----------?---------??----------?-----??----

??????????????3414900????????????????????19


評論

共有 條評論