Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Покер. Комбинация Стрит-флеш Написал функцию проверки на образование комбинации стрит-флеш....помидорами не закидывать писал не очень вдумчиво но здесь какие то ошибки при использовании алгоритмов STL и моей структуры(я так думаю) мб и сам алгоритм не правильный...кому не в западло разобраться в моем говнокоде подскажите)):) struct card { int first; //величина карты int second; //её масть ... https://www.cyberforum.ru/ cpp-beginners/ thread932234.html Шаблоны STL C++
Здраствуйте. У меня задача такая: робота со стандарными шаблонами. Мне нужно заполнить контейнер пользовательским типом даных, тоесть класом. У меня написан клас (по возможности проверть перегрузку фкнкции) но я никак не могу создать массив vector<Student> VStudent(4); не понимаю почему. пример в книге точно такой же, и все работает. не могу проверить размер контейнера c помощью VStuden.size()...
C++ OpenGL, работа с освещением https://www.cyberforum.ru/ cpp-beginners/ thread932221.html
Здравствуйте. Пробую себя в игростроении. Нарисовал трехмерный домик, физику сделал - можно бегать по поверхностям, прыгать, не проходить сквозь стены - все вроде бы работает. И тут встал вопрос об освещении... Использую уроки от NeHe, там про освщение написано, сделал как говорилось. Заработало. Но заметил несколько странностей(с заданием параметров освещения немного разобрался): 1) Освещение...
C++ Вывод символа из таблицы ASCII https://www.cyberforum.ru/ cpp-beginners/ thread932209.html
Всем добрый вечер! Небольшой ступор Пытаюсь в консоли вывести символ - 156 Это символ фунта (денежная единица). #include <iostream> .... cout << '\x9C' << endl; ....
C++ Математическая задачка
В качестве f(x) использовать по выбору: sin(x), х , ех
C++ Задание вычислить за минимальное число операций https://www.cyberforum.ru/ cpp-beginners/ thread932177.html
Дано действительное число х. Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить за минимальное число операций 2х4 - Зх3 + 4.х2 - 5х + 6.
C++ Вычислить по формуле Вычислить по формуле: 2^(-x) - cos(x) + sin(2xy) https://www.cyberforum.ru/ cpp-beginners/ thread932176.html Классы в структуре C++
Добрый вечер. Вопрос первый: какой из контейнеров STL наиболее целесообразней использовать, если предполагаются частые операции поиска в этом контейнере? Вопрос второй: полагаю, что ответ на первый вопрос будет - map, и если это так, то у map есть ключ и значение. Так вот... Ключ у меня описывается двумя объектами одного класса. Как мне это сделать. Самое логичное, что приходит на ум, это...
C++ Подключение wininet.h к проекту Добрый день, в рамках самообразования мне захотелось изучить С++. Поставил Visual Studio Express 2012, в течении дня в промежутках между работой было прочитано 78 страниц старого самоучителя 2003 года по С/С++, осознан необходимый минимум который тут же захотелось опробовать. Первым делом потратив пару часов написал мини-игру "Жизнь", порадовался как работает, решил идти дальше. Была совершена... https://www.cyberforum.ru/ cpp-beginners/ thread932172.html C++ Лучшая задача для практики https://www.cyberforum.ru/ cpp-beginners/ thread932137.html
Привет. Что посоветуете для практики? Я было писал разную чушь типо крестиков-ниликов, кубиков, но без псевдографики. Дело в том, что читаю я много, а практики у меня мало, вот и думаю, может написать змейку на OpenGL? Или что другое посоветуете? А то впринципе графика меня не очень интересует, а так для змейки нужно будет еще и GL, подучить, который я вообще не знаю. Спасибо. :)
rtti C++
Есть код: // header.h #include <stdexcept> #include <string> #include <typeinfo> #include <cstdlib> class Sales { protected:
C++ Возможно дело в цикле https://www.cyberforum.ru/ cpp-beginners/ thread932123.html
Задачка: Программа должна отображать меню из четырех пунктов, каждый из них помечен буквой. Если пользователь вводит букву, отличающуюся от четырех допустимых, программа должна повторно приглашать его ввести правильное значение до тех пор, пока он этого не сделает. с таким вот условием цикл останавливается: while (b != 'c'); а вот с таким, нечего не происходит: using namespace std;
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
02.08.2013, 11:28 0

OpenGL для новичка - C++ - Ответ 4907831

02.08.2013, 11:28. Показов 5484. Ответов 11
Метки (Все метки)

Ответ

BigLow, посмотри ещё это
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
#include <ctime>    //для srand(time)
#include <iostream> //для cout, rand() и system()
#include <list>     
#include <windows.h>//для функций управления консолью
using namespace std;
const int width=50;   //размеры экрана и некоторые 
const int height=25;  //прочие глобальные константы
const char* DOT="*";
const char* SPACE=" ";
const COORD run_up   ={0, -1};  //вектора направлений перемещения
const COORD run_down ={0,  1};
const COORD run_left ={-1, 0};
const COORD run_right={1, 0};
const DWORD DELAY_TIME=166;    //аргумент для Sleep()
//используемые типы
typedef COORD cell;   //тип точек на экране.
typedef list<cell>    tSnake;//тип змейка - это список точек.
//глобальные переменные
tSnake snake;        //главный перс - змейка
HANDLE hStdout;       
COORD dir=run_right;  //направление её движения     
cell apple;          //яблоко
COORD pos={0,0};  
void put_cell(cell place, const char* symbol){//вывод символа в заданные координаты
    DWORD written;
    SetConsoleCursorPosition(hStdout, place);
    WriteConsole(hStdout, symbol, 1, &written, NULL);
}
void init_window(){
    system("mode con cols=50 lines=25");
    hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 
}
void init_snake(){  //Змейка - список точек. snake.back это хвост змеи
    for (pos.X=pos.Y=0; pos.X<3; pos.X++)//snake.front это её голова
        snake.push_front(pos);//в начале змейка заполнена тремя точками(0,0) (1,0) (2,0)
}
void redraw(){//вывести змейку целиком на экран (обычно она выводится не вся)
    for(tSnake::iterator it=snake.begin(); it!=snake.end(); it++)
        put_cell(*it, DOT);
}
void resetApple(){//установка нового яблока в случайные координаты
    bool run=true;
    while(run){
        run = false;
        apple.X=rand()%(width-3)+1;
        apple.Y=rand()%(height-3)+1;
        for(tSnake::iterator it=snake.begin(); it!=snake.end() && (!run); it++)
            run=(it->X==apple.X && it->Y==apple.Y);//если яблоко упало на змейку,
    }                                              //цикл while запустится снова.
}
bool step_and_die(){
    bool hit,eat;
    pos=snake.back();
    snake.pop_back();//move tail
    if(snake.back().X!=pos.X || snake.back().Y!=pos.Y ) put_cell(pos, SPACE);//erase tail if tail isn't double
    pos=snake.front();
    pos.X+=dir.X; 
    pos.Y+=dir.Y;//move head
    if (pos.X==-1) pos.X=width-1;//check if head moves through wall
    if (pos.X==width) pos.X=0;
    if (pos.Y==-1) pos.Y=height-1;
    if (pos.Y==height) pos.Y=0;
    hit=eat=false;//start checking collisions
    for (tSnake::iterator it=snake.begin(); it!=snake.end() && (!hit) && (!eat); it++){
       hit=(it->X==pos.X && it->Y==pos.Y);
       eat=(it->X==apple.X && it->Y==apple.Y);
    }
    snake.push_front(pos);//mo
    put_cell(pos, DOT);
    
    if (eat){
        resetApple();
        snake.push_front(pos);
    }
    return hit;
}
void finish(){
    pos.X=width/2-5;
    pos.Y=height/2;
    put_cell(pos, SPACE);
    cout<<"GAME OVER!";
    system("pause");
}
void HandleKeyboard(){//обработка клавиатуры
    SHORT keys[4];//сначала проверяем нажатие всех 4х стрелок
    int i, key;   //и запоминаем их состояние в массив keys
    for (i=0, key=VK_LEFT; i<4; i++, key++)
        keys[i]=GetAsyncKeyState(key);
    //затем соответственно стрелкам меняем направление змейки
    if (dir.Y==0) {//если змейка движется горизонтально, то на вправо-влево не реагирууем
        if (keys[VK_UP  -VK_LEFT]) dir=run_up;
        if (keys[VK_DOWN-VK_LEFT]) dir=run_down;}                   
    else{//и соответственно наоборот, если змейка вертикально, то на вверх-низ не реагирууем
        if (keys[VK_LEFT -VK_LEFT]) dir=run_left;
        if (keys[VK_RIGHT-VK_LEFT]) dir=run_right;
    }
}
int main(){//точка входа.
    srand(time(NULL));
    init_window();//инициализация
    init_snake();
    resetApple();
    redraw();
    const char* anim[]={DOT, SPACE, DOT};//"кадры анимации яблока" 
    while(1){
        for (int j=0; j<3; j++){//мигнуть анимацией яблока три кадра
          put_cell(apple, anim[j&1]);
          Sleep(DELAY_TIME);
        }
        HandleKeyboard();//считать клавиши
        if (step_and_die()||GetAsyncKeyState(VK_ESCAPE))break;//step_and_die() - главная функция
    }
    finish();
    return 0;
}


Вернуться к обсуждению:
OpenGL для новичка C++
3
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.08.2013, 11:28
Готовые ответы и решения:

C++ для новичка-не новичка
Знал с++, забросил - теперь опять. Но есть проблема что я знал с++ для дос, а мне нужен си для...

OpenGL в андроиде для новичка
Посоветуйте примеры и учебники по применению OpenGL в андроиде. Только начал кодить на яве....

Подскажите пожалуйста IDE для линукса (например, для кали-линукса) для новичка для обучения программированию на си++
Сейчас обучаюсь стандарту си++ 2011. Подскажите новичку, чего выбрать? Есть небольшой опыт работы в...

Задачи для новичка
Здравствуйте Уважаемые программисты C#. Начну с того что я студент первого курса информационного...

11
02.08.2013, 11:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.08.2013, 11:28
Помогаю со студенческими работами здесь

литература для новичка
Подскажите пожалуйста литературу для новичка. Программирование на С++ в Linux. Заранее спасибо)

Angular для новичка
Первый раз вижу angular юзаю турториал wLKP9uffaD0 все сделал как там index.html : ...

Важно для новичка
Здравствуйте уважаемые участники. Я задам вам вопрос, который является достаточно сложны для...

Литература для новичка
подскажите или кинь ссыль(лазил по форуму и не нашел...мб очки нужны) на лит-ру, с которой лучше...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru