Форум программистов, компьютерный форум CyberForum.ru

Программа игра "Змейка" - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
IrinaCk
 Аватар для IrinaCk
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 27
01.04.2013, 20:43     Программа игра "Змейка" #1
Программа выдает ошибки не понимаю, что сделать. Вот код самой программы. Буду очень благодарна за помощь.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include "zmejka.h"
int main (int argc, char*argv[]);
int s;
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 DrawField()
{glColor3f (0.0,1.0,0.0);
glBegin (GL_LINES);
for (int i=0;i<w;i+=Scale)
{glVertex2f (i,0);
glVertex2f (i,h);}
for (int j=0;j<h;j+=Scale)
{glVertex2f (0,j);
glVertex2f (w,j);}
glEnd();
}
void Tick()
{for (int i=num;i>0;--i)
{s[i].x=s[i-1].x;
s[i].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==30 s[0].y-=1;
for (int i=0;i<10;i++)
if ((s[0].x==m[i].x)&&(s[0].y==m[i].y))
{num++;m[i].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<num;i++)
if (s[0].x==s[i].x && s[0].y==s[i].y)
num=i;}
void DrawSnake ()
{glColor3f (0.0,0.0,1.0);
for (int i=0;i<num;i++)
{glRectf (s[i].x*Scale, s[i].y*Scale,(s[i].x+1)*Scale,(s[i].y+1)*Scale);}
void MyKeyboard (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 display ()
      {glClear (GL_COLOR_BUFER_BIT);
      for (int i=0;i<10;i++)
          m[i]. DrewApple ();
      DrewField()
      DrawSnake()
      glFlush();
      void timer (int=0)
      {
          display();
          tick();
          glutTimerFunc (250,timer,0);
      }
      int main (int agrc,char **argv){
          for (int i=0;i<10;i++)
              m[i].New();
          s[0].x=10;
          s[0]/y=10;
          glutInit (& argc,argv);
          glutInitDisplayMode (GLUT_SINCLE | CLUT_RGB);
          glutInitWindowSize(w,h);
          glutCreateWindow ("Test");
          glMatrixMode (GL_PROJECTION);
          glLoadIdentity ();
          gluOrtho2D (0,w,0,h);
          glutDisplayFunc (display);
          glutTimerFunc (50,timer,0);
          glutSpecialFunc (MyKeyboard);
          glutMainLoop();
      }
Заранее спасибо за помощь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KOPOJI
01.04.2013, 22:15
  #2
 Комментарий модератора 
Цитата Сообщение от IrinaCk Посмотреть сообщение
не понимаю, что сделать
Для начала перечитать правила и не постить где попало.
anmartex
...
 Аватар для anmartex
1699 / 1192 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
02.04.2013, 06:10     Программа игра "Змейка" #3
Цитата Сообщение от IrinaCk Посмотреть сообщение
Программа выдает ошибки не понимаю, что сделать.
А какие? Здесь телепатов нет.

C++
1
#include "zmejka.h"
Где заголовочный файл zmejka.h?
IrinaCk
 Аватар для IrinaCk
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 27
02.04.2013, 10:06  [ТС]     Программа игра "Змейка" #4
Заголовочный файл в файле .cpp. выдаются ошибки в библиотеках. например, вот такая:error C2381: exit: переопределение; __declspec(noreturn) отличается,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
1>zmejka.cpp
1>c:\program files\microsoft visual studio 9.0\vc\include\stdlib.h(371) : error C2381: exit: переопределение; __declspec(noreturn) отличается
1>        c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\glut.h(146): см. объявление 'exit'
1>c:\program files\microsoft visual studio 9.0\vc\include\stdlib.h(371) : warning C4985: exit: атрибуты отсутствуют в предыдущем объявлении.
1>        c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\glut.h(146): см. объявление 'exit'
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(39) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(39) : error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(39) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(39) : error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(40) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(40) : error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(40) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(40) : error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(41) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(41) : error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(42) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(42) : error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(43) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(43) : error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(44) : error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "s"
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(44) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(44) : error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(46) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(46) : error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(46) : error C2065: m: необъявленный идентификатор
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(46) : error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(46) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(46) : error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(46) : error C2065: m: необъявленный идентификатор
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(46) : error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(47) : error C2065: m: необъявленный идентификатор
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(47) : error C2228: выражение слева от ".New" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(48) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(48) : error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(49) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(49) : error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(51) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(51) : error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(52) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(52) : error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(54) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(54) : error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(54) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(54) : error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(54) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(54) : error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(54) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(54) : error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(59) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(59) : error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(59) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(59) : error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(59) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(59) : error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(59) : error C2109: для индекса требуется массив или указатель
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(59) : error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(61) : error C2601: MyKeyboard: недопустимые локальные определения функций
1>        c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(57): эта строка содержит '{', которая пока не имеет парной
1>c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(96) : fatal error C1075: конец файла обнаружен ранее, чем левая фигурная скобка '{' в "c:\users\555\documents\visual studio 2008\projects\kursovaya\kursovaya\zmejka.cpp(67)"
1>Журнал построения был сохранен в "file://c:\Users\555\Documents\Visual Studio 2008\Projects\kursovaya\kursovaya\Debug\BuildLog.htm"
anmartex
...
 Аватар для anmartex
1699 / 1192 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
02.04.2013, 10:22     Программа игра "Змейка" #5
IrinaCk, простите, но это не программный код, это хлам. Причём покоцаный, т.е. половина функций попросту не завершена (MyKeyboard, display). Вы хотя бы расставьте все соответствия операторных скобок. Я сколько не пытался, у меня не получилось.
Yandex
Объявления
02.04.2013, 10:22     Программа игра "Змейка"
Ответ Создать тему
Опции темы

Текущее время: 03:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru