Иван Асеев
Иван Асеев

Помогите не могу решить ошибку C++ OPENGL

#include
#include
#include

int N=30,M=20;
int Scale=25;

int w = Scale*N;
int h = Scale*M;

int dir,num=4;

struct
{ int x;
int y;} s[100];

class Fructs
{
public:
int x,y;

void New()
{ x=rand() % N;
y=rand() % M; }

void DrawApple()
{ glColor3f(0.0,1.0,0.0);
glRectf(x*Scale,y*Scale,(x+1)*Scale,(y+1)*Scale); }

} m[10];

void DrawSnake()
{
glColor3f(0.0,0.0,1.0);
for (int i=0;i.x*Scale, s.y*Scale, (s.x+0.9)*Scale, (s.y+0.9)*Scale); }
}

void Tick()
{
for (int i=num;i>0;--i)
{s.x=s[i-1].x;
s.y=s[i-1].y;}

if (dir==0) s[0].y+=1;
if (dir==1) s[0].x-=1;
if (dir==2) s[0].x+=1;
if (dir==3) s[0].y-=1;

for (int i=0;i<10;i++)
if ((s[0].x==m.x) && (s[0].y==m.y))
{num++; m.New();}

if (s[0].x>N) dir=1; if (s[0].x<0) dir=2;
if (s[0].y>M) dir=3; if (s[0].y<0) dir=0;

for (int i=1;i.x && s[0].y==s.y) num=i;
}

void DrawField()
{
glColor3f(0.0,0.7,0.0);
glBegin(GL_LINES);
for (int i=0; i.DrawApple();

glFlush();
glutSwapBuffers();
}

void KeyboardEvent(int key, int a, int b)
{
switch(key)
{
case 101 : dir=0; break;
case 102: dir=2; break;
case 100 : dir=1; break;
case 103 : dir=3; break;
}
}

void timer(int = 0)
{
display();

Tick();

glutTimerFunc(50,timer,0);
}

int main(int argc, char **argv) {

srand(time(0));

for (int i=0;i<10;i++)
m.New();

s.x=10;
s.y=10;

glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize (w, h);
glutCreateWindow ("Test");
glClearColor(1.0,1.0,0.6,1.0); //цвет фона
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0,w,0,h);

glutDisplayFunc (display);
glutSpecialFunc(KeyboardEvent);
glutTimerFunc(50,timer,0);

glutMainLoop();
}

ОШИБКА: **************************************************error: name lookup of 'i' changed for ISO 'for' scoping

int main(int argc, char **argv) {

srand(time(0));

for (int i=0;i<10;i++)
m.New();

s.x=10;
s.y=10;

glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize (w, h);
glutCreateWindow ("Test");
glClearColor(1.0,1.0,0.6,1.0); //цвет фона
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0,w,0,h);

glutDisplayFunc (display);
glutSpecialFunc(KeyboardEvent);
glutTimerFunc(50,timer,0);

glutMainLoop();
}

Галина
Галина

У тебя две функции маин ()

Похожие вопросы
помогите решить по C#
Ошибка в строке C++ (решите за оплату в $)
C++ выдает ошибку, помогите
Помогите не могу решить ошибку
Закрасить грани куба OpenGL C++
Кубик Рубик OpenGl C++
помогите решить на c++
Помогите с C++. Проблема с OpenGL. Библиотека GLUT.
C++. Не могу найти ошибку
OpenGL, C++, как сделать так чтобы нормально устанавливать вершины?