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

Загрузка информации из файла (система рекордов в игре "Змейка") - C++

Восстановить пароль Регистрация
 
artemd55131
2 / 4 / 0
Регистрация: 26.06.2014
Сообщений: 60
27.06.2014, 02:52     Загрузка информации из файла (система рекордов в игре "Змейка") #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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include <glut.h>
#include <iostream>
#include <time.h>
 
#include <windows.h>
using namespace std;
 
int score = 0;
int record = 0;
int N = 52,M = 25;
 
int Scale=25;
 
 
int w = Scale*N;
int h = Scale*M;
 
int dir,num=2;
 
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.5);
  for (int i=0;i<num;i++)
    {glRectf(s[i].x*Scale, s[i].y*Scale, (s[i].x+1.0)*Scale, (s[i].y+1.0)*Scale); }
 }
 
 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==3) 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();score++;}
    if(num ==2){score = 0;}
    
    if (s[0].x>N) {cout <<"your score:" <<score <<endl; glutDestroyWindow(1); system("pause"); exit(0);}  
    if (s[0].x<0) {cout <<"your score:" <<score <<endl; glutDestroyWindow(1); system("pause"); exit(0);}
  if (s[0].y>M)  {cout <<"your score:" <<score <<endl; glutDestroyWindow(1); system("pause"); exit(0);}  
  if (s[0].y<0)  {cout <<"your score:" <<score <<endl; glutDestroyWindow(1); system("pause"); exit(0);}
 
 for (int i=1;i<num;i++)
     if (s[0].x==s[i].x && s[0].y==s[i].y)  num=i;
if (num >100){
    cout <<"you win!!!" <<endl;
    glutDestroyWindow(1);
    system("pause");
    }
 }
 
 
 
void DrawField()
  {
   glColor3f(0.0,0.7,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 display() {
 
     glClear(GL_COLOR_BUFFER_BIT);
 
    DrawField();
 
    DrawSnake(); 
 
   for (int i=0;i<10;i++)
     m[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(65,timer,0);
}
 
int main(int argc, char **argv) {
    
    srand(time(0));
    
    for (int i=0;i<10;i++)
        m[i].New();
    
 
 
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize (w, h);
glutCreateWindow ("HardcoreSnake"); 
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();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
artemd55131
2 / 4 / 0
Регистрация: 26.06.2014
Сообщений: 60
27.06.2014, 05:30  [ТС]     Загрузка информации из файла (система рекордов в игре "Змейка") #2
Всем привет.Я занят разработкой змейки.Не получается сделать систему рекордов(
-запись в txt файл рекорда
-вывод рекорда из txt файла в программу
)
вот код:
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include <glut.h>
#include <iostream>
#include <time.h>
int record = 0;
#include <windows.h>
using namespace std;
 
int score = 0;
 
int N = 52,M = 25;
 
int Scale=25;
 
 
int w = Scale*N;
int h = Scale*M;
 
int dir,num=2;
 
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.5);
  for (int i=0;i<num;i++)
    {glRectf(s[i].x*Scale, s[i].y*Scale, (s[i].x+1.0)*Scale, (s[i].y+1.0)*Scale); }
 }
 
 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==3) 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();score++;}
    if(num ==2){score = 0;}
    
    if (s[0].x>N) {cout <<"your score:" <<score <<endl; glutDestroyWindow(1); system("pause"); exit(0);}  
    if (s[0].x<0) {cout <<"your score:" <<score <<endl; glutDestroyWindow(1); system("pause"); exit(0);}
  if (s[0].y>M)  {cout <<"your score:" <<score <<endl; glutDestroyWindow(1); system("pause"); exit(0);}  
  if (s[0].y<0)  {cout <<"your score:" <<score <<endl; glutDestroyWindow(1); system("pause"); exit(0);}
 
 for (int i=1;i<num;i++)
     if (s[0].x==s[i].x && s[0].y==s[i].y)  num=i;
if (num >100){
    cout <<"you win!!!" <<endl;
    glutDestroyWindow(1);
    system("pause");
    }
 }
 
 
 
void DrawField()
  {
   glColor3f(0.0,0.7,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 display() {
 
     glClear(GL_COLOR_BUFFER_BIT);
 
    DrawField();
 
    DrawSnake(); 
 
   for (int i=0;i<10;i++)
     m[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(65,timer,0);
}
 
int main(int argc, char **argv) {
    
    srand(time(0));
    
    for (int i=0;i<10;i++)
        m[i].New();
    
 
 
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize (w, h);
glutCreateWindow ("HardcoreSnake"); 
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();
}
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
27.06.2014, 08:14     Загрузка информации из файла (система рекордов в игре "Змейка") #3
То ли я слепой, то ли у вас действительно нет чтения/записи в файл. Тогда в чем вопрос?
artemd55131
2 / 4 / 0
Регистрация: 26.06.2014
Сообщений: 60
27.06.2014, 08:47  [ТС]     Загрузка информации из файла (система рекордов в игре "Змейка") #4
в этом вся проблема.я не знаю как.
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
27.06.2014, 09:07     Загрузка информации из файла (система рекордов в игре "Змейка") #5
Что вам записать в файл нужно?
artemd55131
2 / 4 / 0
Регистрация: 26.06.2014
Сообщений: 60
27.06.2014, 09:32  [ТС]     Загрузка информации из файла (система рекордов в игре "Змейка") #6
рекордное кол-во очков,а после игры показать его.(буду в понедельник)
nmcf
4315 / 3736 / 1259
Регистрация: 14.04.2014
Сообщений: 14,653
27.06.2014, 11:29     Загрузка информации из файла (система рекордов в игре "Змейка") #7
Что нужно считывать и в каком месте? Сформулируй понятно.
Sonance
6 / 6 / 3
Регистрация: 15.02.2013
Сообщений: 55
27.06.2014, 12:02     Загрузка информации из файла (система рекордов в игре "Змейка") #8
Вот так сохраняет.
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
 //-------------------------------------------------------------------------------
 void SaveScore(){
 
    std::ofstream F;
    F.open("Score.txt", std::ios::out | std::ios::trunc);
    F<<score;
    F.close(); 
    
 }
 //-------------------------------------------------------------------------------
 
 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==3) 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();score++;}
    if(num ==2){score = 0;}
    
    if (s[0].x>N) {cout <<"your score:" <<score <<endl; glutDestroyWindow(1); system("pause"); exit(0);}  
    if (s[0].x<0) {cout <<"your score:" <<score <<endl; glutDestroyWindow(1); system("pause"); exit(0);}
  if (s[0].y>M)  {cout <<"your score:" <<score <<endl; glutDestroyWindow(1); system("pause"); exit(0);}  
  if (s[0].y<0)  {cout <<"your score:" <<score <<endl; glutDestroyWindow(1); system("pause"); exit(0);}
  SaveScore();
 for (int i=1;i<num;i++)
     if (s[0].x==s[i].x && s[0].y==s[i].y)  num=i;
if (num >100){
    cout <<"you win!!!" <<endl;
    glutDestroyWindow(1);
    SaveScore();
    system("pause");
    }
 }
И кстати если резко нажать вперед-назад змейка умирает об себя.

Добавлено через 5 минут
Цитата Сообщение от nmcf Посмотреть сообщение
Что нужно считывать и в каком месте? Сформулируй понятно.
Что непонятного то, написано же переменную score писать и читать из файла.

А чтение будет так:
C++
1
2
3
4
std::ifstream F;
F.open("Score", std::ios::in);
F>>record;
F.close();
Добавлено через 4 минуты
Цитата Сообщение от artemd55131 Посмотреть сообщение
Не получается сделать считывание из файла и загрузки рекорда,помогите.Пытался сам,но всё запорол
А откуда код если не секрет, учебник какой-то? Я бы тоже поковырял, ссылку в ЛС плз.
artemd55131
2 / 4 / 0
Регистрация: 26.06.2014
Сообщений: 60
30.06.2014, 03:18  [ТС]     Загрузка информации из файла (система рекордов в игре "Змейка") #9
спс всё понятно.только переменная для рекорда record а не score.

Добавлено через 2 минуты
Sonance, набери на youtube c++ всё что хочешь няйдёшь

Добавлено через 3 часа 20 минут
вставил код чтения в main. информация записывается,но не сохраняется(если даже я набрал меньше рекорда то в файл результат становится меньше ,а должен меняться только если я набрал больше.
код:
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#include <fstream>
#include <glut.h>
#include <iostream>
#include <time.h>
int record = 0;
#include <windows.h>
using namespace std;
 
int score = 0;
 
int N = 52,M = 25;
 
int Scale=25;
 
 
int w = Scale*N;
int h = Scale*M;
 
int dir,num=2;
 
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.5);
  for (int i=0;i<num;i++)
    {glRectf(s[i].x*Scale, s[i].y*Scale, (s[i].x+1.0)*Scale, (s[i].y+1.0)*Scale); }
 }
  void SaveScore(){
 
    std::ofstream F;
    F.open("Score.txt", std::ios::out | std::ios::trunc);
    F<<score;
    F.close();
 
 
  }
 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==3) 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();score++;}
    if(num ==2){score = 0;}
    if(score > record){record = score; SaveScore();}
    if (s[0].x>N) {cout <<"your score:" <<score <<endl <<"your record:" <<record <<endl; glutDestroyWindow(1); system("pause"); exit(0);}  
    if (s[0].x<0) {cout <<"your score:" <<score <<endl <<"your record:" <<record <<endl; glutDestroyWindow(1); system("pause"); exit(0);}
  if (s[0].y>M)  {cout <<"your score:" <<score <<endl <<"your record:" <<record <<endl; glutDestroyWindow(1); system("pause"); exit(0);}  
  if (s[0].y<0)  {cout <<"your score:" <<score <<endl <<"your record:" <<record <<endl; glutDestroyWindow(1); system("pause"); exit(0);}
  
 for (int i=1;i<num;i++)
     if (s[0].x==s[i].x && s[0].y==s[i].y)  num=i;
if (num >100){
    cout <<"you win!!!" <<endl;
    glutDestroyWindow(1);
    SaveScore();
    system("pause");
    }
 }
 
 
 
void DrawField()
  {
   glColor3f(0.0,0.7,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 display() {
 
     glClear(GL_COLOR_BUFFER_BIT);
 
    DrawField();
 
    DrawSnake(); 
 
   for (int i=0;i<10;i++)
     m[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(65,timer,0);
}
 
int main(int argc, char **argv) {
    std::ifstream F;
F.open("Score", std::ios::in);
F>>record;
F.close();
    srand(time(0));
    
    for (int i=0;i<10;i++)
        m[i].New();
    
 
 
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize (w, h);
glutCreateWindow ("HardcoreSnake"); 
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();
}
может я накасипорил где?

Добавлено через 30 секунд
вставил код чтения в main. информация записывается,но не сохраняется(если даже я набрал меньше рекорда то в файл результат становится меньше ,а должен меняться только если я набрал больше.
код:
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#include <fstream>
#include <glut.h>
#include <iostream>
#include <time.h>
int record = 0;
#include <windows.h>
using namespace std;
 
int score = 0;
 
int N = 52,M = 25;
 
int Scale=25;
 
 
int w = Scale*N;
int h = Scale*M;
 
int dir,num=2;
 
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.5);
  for (int i=0;i<num;i++)
    {glRectf(s[i].x*Scale, s[i].y*Scale, (s[i].x+1.0)*Scale, (s[i].y+1.0)*Scale); }
 }
  void SaveScore(){
 
    std::ofstream F;
    F.open("Score.txt", std::ios::out | std::ios::trunc);
    F<<score;
    F.close();
 
 
  }
 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==3) 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();score++;}
    if(num ==2){score = 0;}
    if(score > record){record = score; SaveScore();}
    if (s[0].x>N) {cout <<"your score:" <<score <<endl <<"your record:" <<record <<endl; glutDestroyWindow(1); system("pause"); exit(0);}  
    if (s[0].x<0) {cout <<"your score:" <<score <<endl <<"your record:" <<record <<endl; glutDestroyWindow(1); system("pause"); exit(0);}
  if (s[0].y>M)  {cout <<"your score:" <<score <<endl <<"your record:" <<record <<endl; glutDestroyWindow(1); system("pause"); exit(0);}  
  if (s[0].y<0)  {cout <<"your score:" <<score <<endl <<"your record:" <<record <<endl; glutDestroyWindow(1); system("pause"); exit(0);}
  
 for (int i=1;i<num;i++)
     if (s[0].x==s[i].x && s[0].y==s[i].y)  num=i;
if (num >100){
    cout <<"you win!!!" <<endl;
    glutDestroyWindow(1);
    SaveScore();
    system("pause");
    }
 }
 
 
 
void DrawField()
  {
   glColor3f(0.0,0.7,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 display() {
 
     glClear(GL_COLOR_BUFFER_BIT);
 
    DrawField();
 
    DrawSnake(); 
 
   for (int i=0;i<10;i++)
     m[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(65,timer,0);
}
 
int main(int argc, char **argv) {
    std::ifstream F;
F.open("Score", std::ios::in);
F>>record;
F.close();
    srand(time(0));
    
    for (int i=0;i<10;i++)
        m[i].New();
    
 
 
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize (w, h);
glutCreateWindow ("HardcoreSnake"); 
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();
}
может я накасипорил где?

Добавлено через 12 часов 30 минут
Sonance, rrrrrrrrrrrrrrrr
Psilon
Master of Orion
 Аватар для Psilon
5743 / 4691 / 619
Регистрация: 10.07.2011
Сообщений: 14,162
Записей в блоге: 5
Завершенные тесты: 4
30.06.2014, 10:35     Загрузка информации из файла (система рекордов в игре "Змейка") #10
artemd55131, может проще будет использовать Boost::serialization? Тем более, что рекорды таким образом можно будет расширять сколько угодно, а не ломать логику парсинга при попытке добавить новое поле.
dzrkot
30.06.2014, 11:21
  #11

Не по теме:

а змейка ваша? или та, которая на ютубе в уроках?) а то как-то без основ сделать змейку проблематично)

Sonance
6 / 6 / 3
Регистрация: 15.02.2013
Сообщений: 55
30.06.2014, 11:57     Загрузка информации из файла (система рекордов в игре "Змейка") #12
Ну так читать надо из того же файла в который записываете
C++
1
2
3
4
5
int main(int argc, char **argv) {
    std::ifstream F;
F.open("вот тут", std::ios::in);
F>>record;
F.close();
И если уж переносите значение score в record
C++
1
if(score > record){record = score; SaveScore();}
Тогда и пишите в файл record, хотя тут незачем переменные туда сюда гонять
C++
1
2
3
4
std::ofstream F;
    F.open("Score.txt", std::ios::out | std::ios::trunc);
    F<<record;
    F.close();
Цитата Сообщение от dzrkot Посмотреть сообщение
а змейка ваша? или та, которая на ютубе в уроках?) а то как-то без основ сделать змейку проблематично)
И это тоже верно, хотя при желании во всем по ходу можно разобраться, если понимать что пишешь а не бездумно копировать код.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2014, 12:14     Загрузка информации из файла (система рекордов в игре "Змейка")
Еще ссылки по теме:

Переписать в файл О все элементы файла К с заменой в них символа "0" на символ "1" и наоборот C++
Переписать в файл О все элементы файла К с заменой в них символа "0" на символ "1" и наоборот C++
"Змейка", не работают кнопки направления движения C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
artemd55131
2 / 4 / 0
Регистрация: 26.06.2014
Сообщений: 60
30.06.2014, 12:14  [ТС]     Загрузка информации из файла (система рекордов в игре "Змейка") #13
не понимаю
Yandex
Объявления
30.06.2014, 12:14     Загрузка информации из файла (система рекордов в игре "Змейка")
Ответ Создать тему
Опции темы

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