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

Написати гру на С++. В консолі - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки из файла http://www.cyberforum.ru/cpp-beginners/thread1040198.html
Здравствуйте. Мне нужна ваша помощь. Как брать поочередно строки из файла, что потом их как-то обрабатывать. fgets берет строку, но всего лишь одну хоть и стоит вроде в цикл "пока не конец файла"..
C++ Упорядоченный массив Всем добрый вечер! Прошу помощи по написанию программы. Задача: изначально имеется одномерный массив с произвольным набором чисел. На выходе нужно получить массив неповторяющихся положительных... http://www.cyberforum.ru/cpp-beginners/thread1040179.html
Из инфиксной нотации в постфиксную C++
Здравствуйте, прошу помощи, есть класс в нем методы. Суть программы в том что она должна переводить из инфиксной нотации в постфисную, но где то накосячил, понять не могу где :( // #include...
C++ Перевод числе из 10 в 2 СС
Помогите пожалуйста дописать код, чтоб отрицательные числа переводил. Только без применения строк. (мб как нибудь с for,if) #include <stdio.h> #include <conio.h> #include <math.h> ...
C++ Подскажите библиотеку.наверно библиотеку http://www.cyberforum.ru/cpp-beginners/thread1040143.html
VS2012 не хочет считать числа например 654367^534, 54266^34 вообщем любые большие числа я так понял даже long double не справляется с этой задачей . Например есть чисела p=54366672 , g=654745 ,...
C++ Сформировать массив сумм элементов столбцов матрицы (где ошибка?) матрицу выводи правильно,но при подсчете суммы выдает ошибку, если использовать не равные значения строк и столбцов. Подскажите, как это можно исправить. Заранее спасибо! // kyrs.cpp:... подробнее

Показать сообщение отдельно
cpp_job
4 / 4 / 1
Регистрация: 25.11.2013
Сообщений: 108
13.12.2013, 20:11
Цитата Сообщение от Advin Посмотреть сообщение
або змейку)
Хотел змейку - получи! Писал я на ОупенЖЛ

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
#include <time.h>
#include <stdlib.h>
#include  <GL/glut.h>
 
int N=30,M=20;
int Scale=25;
 
int w = Scale*N;
int h = Scale*M;
 
int dir,num=4, i;
 
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<num;i++)
    {glRectf(s[i].x*Scale, s[i].y*Scale, (s[i].x+0.9)*Scale, (s[i].y+0.9)*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();}
 
  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 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(50,timer,0);
}
 
int main(int argc, char **argv) {
 
    srand(time(0));
    
    for (int i=0;i<10;i++)
        m[i].New();
    
 
     s[i].x=10;
     s[i].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();
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru