Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 29.10.2011, 21:33   #1
jasul
Падаван
Пользователь
 
Аватар для jasul
 
Регистрация: 23.09.2011
Сообщений: 98
По умолчанию С++ Урок по созданию консольной игры.

В этом уроке я вам расскажу как создать простую консольную игру.
Этот урок послужит не плохим тренажером для понятий некоторых функций.
Игра простая что то вроде "кто возьмет миллион" Отвечаеш правильно получаеш денги отвечаеш не правельно денги отнимаются!
И так буду перечеслять что нам надо делать!
Первое нам нужны библеотеки
Код:
#include <iostream>
и
Код:
#include <cstring>
Второе создаём массивы a и a1 они нам нужны для того чтобы индентефицировать правельный ответ! В массиве а задаём значение "a"
Код:
char a[2]="a";
массиву а1 не задаём не каких значений.
Третье с помоши функций cout выдаём на экран текст в нём содержатся вопросы варианты ответов.
Код:
cout << "                 OTvette na vopros"<<endl;
    cout << "                kto takoi piata4ek???"<<endl<<endl;
    cout << "(a)geroi multfilma.           (b)Vid dinozavra."<<endl<<endl;
    cout << "(d)drug wreka                 (c)Energiti4eskii napitok"<<endl<<endl;
Четвертое использования ввода текста с клавиатуры это функция
Код:
cin.getline (a1,2);
и последние пятое что нам нужно сделать это Провести индентификацию с помощью логической функций if
Код:
if (strcmp (a1,a)==0)
А вот и код целиком
Код:
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;

int main()
{
    char a[2]="a";
    char a1[3];
    char b [2]="c";
    char b1[3];
    int dengi;
    dengi=0;
    cout << "                 OTvette na vopros"<<endl;
    cout << "                kto takoi piata4ek???"<<endl<<endl;
    cout << "(a)geroi multfilma.           (b)Vid dinozavra."<<endl<<endl;
    cout << "(d)drug wreka                 (c)Energiti4eskii napitok"<<endl<<endl;   
    cin.getline (a1,2);
    if (strcmp (a1,a)==0){
    cout << "Otvet vernii!!! vi vigrali 10 rublei"<<endl;
    dengi=dengi+10;}
    else {
    cout <<"otvet ne vernii"<<endl;
    dengi=dengi-10;}
    cout << "                               summa na s4etu "<<dengi<<" rublei"<<endl<<endl;
    if (dengi < 10)
      
    
    cout << "Kto iz nije pere4islenix ludei imeet otnowenie k microsoftu???";
    cout << "(a) Papa rimskii.              (b) Advart kalen" << endl <<endl;
    cout << "(d) Brejniv.                   (c)Paren po prozviwu con"<<endl<<endl;   
    cin.getline (b1,2);
    if (strcmp (b1,b)==0){
    cout << "Otvet vernii!!! vi vigrali 50 rublei"<<endl;
    dengi=dengi+50;}
     else {
    cout <<"otvet ne vernii"<<endl;
    dengi=dengi-10;}
    cout << "                               summa na s4etu "<<dengi<<" rublei"<<endl<<endl;
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
............Сила воли ключ идеальности...........

Последний раз редактировалось jasul; 30.10.2011 в 11:00.
jasul вне форума Ответить с цитированием
Старый 29.10.2011, 21:51   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,002
По умолчанию

первая же поправка:
Код:
#include <cstring>
, а не
Код:
#include <string.h>
раз уж сами сказали про С++(или у вас древний компиль?).
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.10.2011, 10:58   #3
jasul
Падаван
Пользователь
 
Аватар для jasul
 
Регистрация: 23.09.2011
Сообщений: 98
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
первая же поправка:
Код:
#include <cstring>
, а не
Код:
#include <string.h>
раз уж сами сказали про С++(или у вас древний компиль?).
Dev С++4.9.9.2 ' Это старый???) Я точно не знаю)
............Сила воли ключ идеальности...........
jasul вне форума Ответить с цитированием
Старый 30.10.2011, 11:03   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Ну раз уж это урок, дополню его примером одного форумчанина:
http://www.programmersforum.ru/showthread.php?t=109819
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2011, 12:45   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,002
По умолчанию

Цитата:
Dev С++4.9.9.2
если не ошибаюсь, это лишь редактор, своего компиля там нет.
компилятор gcc.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.11.2011, 14:24   #6
jasul
Падаван
Пользователь
 
Аватар для jasul
 
Регистрация: 23.09.2011
Сообщений: 98
По умолчанию

Вот новая версия этой же игры.Теперь в игре появилась графика!!!!
НАслаждайтесь текстовой графикой!
Код:
#include <cstdlib>
#include <iostream>
#include <string.h>
#include <fstream>
using namespace std;

int main()
{
    int i;
    char filename[]="ggggg.txt";
    char input_line[81];
    char a[2]="a";
    char a1[3];
    char b [2]="c";
    char b1[3];
    int dengi;
    dengi=0;
    cout << "                kto takoi piata4ek???"<<endl<<endl;
    cout << "                 OTvette na vopros"<<endl<<endl;
    cout << "(a)geroi multfilma.           (b)Vid dinozavra."<<endl<<endl;
    cout << "(d)drug wreka.                 (c)Energiti4eskii napitok."<<endl<<endl;   
    cin.getline (a1,2);
    if (strcmp (a1,a)==0){
    cout << "Otvet vernii!!! vi vigrali 10 rublei"<<endl;
    dengi=dengi+10;}
    else {
    cout <<"otvet ne vernii"<<endl;
    dengi=dengi-10;
    }
    cout << "                               summa na s4etu "<<dengi<<" rublei"<<endl<<endl;
    
if (dengi < 10){
          cout << "                    GAME OVER"<<endl<<endl<<endl;
              ifstream file_in (filename);
    while (1) {
                   for (i=1; i <= 1 && ! file_in.eof(); i++) {
                       file_in.getline (input_line,80);
                       cout<<input_line <<endl;
                       }}
          system ("pause");
          return -1;}
      
    
    
        
  
      
    
    cout << "Kto iz nije pere4islenix ludei imeet otnowenie k microsoftu???"<<endl<<endl;
    cout << "(a) Papa rimskii.              (b) Advart kalen" << endl <<endl;
    cout << "(d) Brejniv.                   (c)Paren po prozviwu con"<<endl<<endl;   
    cin.getline (b1,2);
    if (strcmp (b1,b)==0){
    cout << "Otvet vernii!!! vi vigrali 50 rublei"<<endl;
    dengi=dengi+10;}
     else {
    cout <<"otvet ne vernii"<<endl;
    dengi=dengi-10;
        ifstream file_in (filename);
    while (1) {
                   for (i=1; i <= 1 && ! file_in.eof(); i++) {
                       file_in.getline (input_line,80);
                       cout<<input_line <<endl;
                       }}}
    cout << "                               summa na s4etu "<<dengi<<" rublei"<<endl<<endl;
   
                       
                       
                       
    
    system("PAUSE");
    return 0;


}
Вложения
Тип файла: txt ggggg.txt (1.2 Кб, 188 просмотров)
............Сила воли ключ идеальности...........
jasul вне форума Ответить с цитированием
Старый 26.08.2017, 21:37   #7
Александр0
 
Регистрация: 26.08.2017
Сообщений: 4
По умолчанию

Недавно начал учить язык С++ . И ваша игра, очень мне поможет, большое спасибо. Хочу написать текстовый квест.
Я работаю на Borland C++ Builder.
Буду очень рад если кто нибудь подскажет особенности лексики в этой IDE.
На примере этой игры.
А то эта игра не запускается. Понятно, что не <iostream> a <iostream.h>
Но в связи с моей неопытностью других различий не знаю.

Всем ответившим огромная благодарность.
Александр0 вне форума Ответить с цитированием
Старый 26.08.2017, 21:42   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

1. Выкиньте нафиг такой старый компилятор. iostream.h нет, забудьте о нем
p51x вне форума Ответить с цитированием
Старый 27.08.2017, 13:12   #9
Александр0
 
Регистрация: 26.08.2017
Сообщений: 4
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
1. Выкиньте нафиг такой старый компилятор. iostream.h нет, забудьте о нем
В принципе согласен.
Уже сам всё устранил игра запускается единственное, пишет кракозябры, буквы русские но в случайном порядке ищу как исправить!
Александр0 вне форума Ответить с цитированием
Старый 27.08.2017, 13:14   #10
Alex11223
Заблокирован
 
Регистрация: 12.01.2011
Сообщений: 19,504
По умолчанию

Русские? В коде выше нет русских букв.
Alex11223 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по созданию игры KoBRaAndrey Общие вопросы Delphi 8 14.06.2010 14:21
Вопросы по созданию игры unicode Gamedev - cоздание игр: Unity, OpenGL, DirectX 15 09.07.2009 08:54
вопросы по созданию игры blackstersl Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 03.11.2008 22:22
Самоучитель по созданию игры, типа дальнобойщиков. multik Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 07.07.2008 10:08


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS