Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/120: Рейтинг темы: голосов - 120, средняя оценка - 4.73
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545

ООП C++ Нужна идея для игры, которая для экзамена

09.07.2019, 12:42. Показов 24753. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Есть такое задание:
Написать игру. В игре управлять каким-либо объектом, например, персонажем. Должны быть другие объекты, управляемые компьютером, и взаимодействие персонажа с ними. Игра должна быть достаточно функциональной (инвентарь, диалоги, передвижение, взаимодействия и т.д.).

Нужна идея или подсказка, какую игру в соответствии с заданием лучше написать. Потому что какую конкретно игру писать, в задании не указано. Нужна просто идея или пример другой игры, которая не замороченная и над которой долго думать не нужно. Если у вас есть идеи, то напишите.
Спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.07.2019, 12:42
Ответы с готовыми решениями:

Нужна идея для 3д игры на пк?
Всем начинаюшим програмистам игр на пк обрасчаться Есть очень хорошая идея для игры на пк Идея полносьтью доработана на несколько...

Идея программы для тренировки ООП
Подскажите пожалуйста какую программу написать новичку в python, чтобы закрепить знания ООП. Так чтобы прям наследование на наследовании с...

Нужна идея по реализации принципов ООП
Есть программа Калькулятор , написанная на языке С++,выполняющий " +,-,*,/,степень,корень и находящий корни квадратного уравнения.Также в...

19
Заблокирован
09.07.2019, 13:02
Несколько небольших игрушек
0
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545
09.07.2019, 13:05  [ТС]
Графика не нужна, только консольная игра. Или графика в консоли.

Добавлено через 1 минуту
Цитата Сообщение от Pvt Посмотреть сообщение
Несколько небольших игрушек
Хорошие идеи, но только для графики. А мы графику еще не проходили. Мне нужны идеи для консольных игр без графики или с графикой в консоли с использованием ООП.
0
Заблокирован
09.07.2019, 13:14
консольный морской бой
0
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545
09.07.2019, 13:15  [ТС]
Цитата Сообщение от Pvt Посмотреть сообщение
консольный морской бой
Уже делал. Нужно что то другое.
0
 Аватар для Krokodil9798
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
09.07.2019, 13:21
Anonymous4722, игра "Жизнь" https://ru.wikipedia.org/wiki/... 1%8C%C2%BB
1
698 / 140 / 57
Регистрация: 20.08.2017
Сообщений: 255
09.07.2019, 13:22
Цитата Сообщение от Anonymous4722 Посмотреть сообщение
Написать игру. В игре управлять каким-либо объектом, например, персонажем. Должны быть другие объекты, управляемые компьютером, и взаимодействие персонажа с ними. Игра должна быть достаточно функциональной (инвентарь, диалоги, передвижение, взаимодействия и т.д.).
Очевидно, тебе нужно смотреть в сторону рогаликов.
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
09.07.2019, 20:15
Цитата Сообщение от Anonymous4722 Посмотреть сообщение
Мне нужны идеи для консольных игр без графики или с графикой в консоли с использованием ООП
Крестики-нолики, 2048, змейка.
1
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
09.07.2019, 20:42
Sokoban, Lode Runner, Pac-Man

Плюс поиск: (ПК8000|УКНЦ|Spectrum) игры
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
10.07.2019, 01:16
Лучший ответ Сообщение было отмечено Anonymous4722 как решение

Решение

Цитата Сообщение от Anonymous4722 Посмотреть сообщение
Написать игру. В игре управлять каким-либо объектом, например, персонажем. Должны быть другие объекты, управляемые компьютером, и взаимодействие персонажа с ними. Игра должна быть достаточно функциональной (инвентарь, диалоги, передвижение, взаимодействия и т.д.).
Текстовый квест пишите. Выглядеть это должно примерно так:

Место: Ларек.
Описание: Вы стоите перед ларьком, где продают ягу и сиги. Рядом стоит участковый, который подозрительно на вас смотрит.
Инвентарь: Деньги (1234 рубля), семки.
Возможные действия:
1) Купить яги (123 рубля банка).
2) Попытаться отжать мобильник у прохожего (успех определяется корейским рандомом).
3) Пойти на лавочку.
4) Пойти домой.

Да, да, вот прям так, текстом. Инвентарь есть. Передвижение есть. Взаимодействие есть. Компьютер может управлять участковым, который настучит по башке за попытки отжать мобильник.
3
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,077
Записей в блоге: 3
10.07.2019, 09:12
Anonymous4722,

Тут Генератор Идей Для Игр!

пример идеи для игры

Бесконечный Удар Величия
Обычный тупой такой аркадный , совмещение лучших идей из РПГ и паззла c элементами дефенса с фокусом на рыцарстве в сеттинге , где как будто живем внутри человека. Главный герой - обычный чмоловек в очёчках, который приземлился на разрушенном корабле. Мы сражаемся с древним загадочным злом. Это бессмертный забытый бог, который, руководя армией гоблинов, хочет уничтожить Землю. Рулить так - дуть в микрофон. Лучше всего выпускать под ведроид, потому что самый популярный, там и денег больше, но nintendo 3ds с модным 3д параллаксом нормуль, а потом на стим его.
0
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545
11.07.2019, 00:56  [ТС]
Цитата Сообщение от XLAT Посмотреть сообщение
Тут Генератор Идей Для Игр!
Тут какой-то хардкор игр.
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,970
Записей в блоге: 234
11.07.2019, 16:22
Цитата Сообщение от Anonymous4722 Посмотреть сообщение
Нужна просто идея или пример другой игры, которая не замороченная и над которой долго думать не нужно. Если у вас есть идеи, то напишите.
Игра Угодай число. Компьютер загадывает число от скольки-то до скольки-то, а человек должен угадать с какой-то попытки. Компьютер может подсказывать, что загаданное число больше или меньше предложенного пользователем. Можно сделать много уровней. Например, первый уровень - число от 1 до 10 и даётся 3 попытки. Второй уровень - можно количество попыток меньше сделать, либо диапазон увеличить.

Лучше начинать с очень простых игр, чтобы результат был. Если взять более сложную, то без опыта написания более простых можно не справиться, потерять энтузиазм и мотивацию. Придётся тогда искать готовое, заказывать и не факт, что вы хорошо разберётесь в чужой работе и вас преподаватель не завалит не не поймёт, что это не вы сделали. А если сделаете вы, то это будет огромный опыт, куча сэкономленных нервный клеток и возможно денег. Плюс деньги, которые вы заработаете в будущем, благодаря полученному опыту.
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,970
Записей в блоге: 234
11.07.2019, 17:09
Как предлагали выше "Крестики-нолики" - неплохой выбор. Она праще, чем змейка если не писать игру с компьютером, а сделать игру на двоих на одном компьютере с ходами по очереди.

Можно начать с того, чтобы вывести приветствие. У меня так получилось:

Название: Tic-Tac-Toe-Console_001.png
Просмотров: 512

Размер: 10.4 Кб

Выводить крестики и нолики в консоль можно с помощью букв "X" и "O".

Я даже ещё больше заморочился. Так могу выглядеть моменты игры в консоле:

1
Code
1
2
3
4
5
X|X|    
-+-+-
 |O|    
-+-+-
 | |
2
Code
1
2
3
4
5
X| |X
-+-+-
 |O|    
-+-+-
 | |
3
Code
1
2
3
4
5
X| |    
-+-+-
X|O|    
-+-+-
 | |
4
Code
1
2
3
4
5
X| |    
-+-+-
 |O|X
-+-+-
 | |
5
Code
1
2
3
4
5
X| |    
-+-+-
 |O|    
-+-+-
X| |
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,970
Записей в блоге: 234
11.07.2019, 17:14
Цитата Сообщение от Anonymous4722 Посмотреть сообщение
Написать игру. В игре управлять каким-либо объектом, например, персонажем. Должны быть другие объекты, управляемые компьютером, и взаимодействие персонажа с ними. Игра должна быть достаточно функциональной (инвентарь, диалоги, передвижение, взаимодействия и т.д.).
Вообще-то, тут действительно нужно писать текстовый квест. По заданию же очевидно.

Добавлено через 2 минуты
Цитата Сообщение от Anonymous4722 Посмотреть сообщение
Уже делал. Нужно что то другое.
А, вы настолько продвинутый. Морской бой я ещё не писал, но есть в планах сделать по сети с шейдерной OpenGL графикой в 3D, но это после того, как напишу крестики-нолики по сети, тогда будет легче, так как применю уже полученные знания от крестиков-ноликов.
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,970
Записей в блоге: 234
11.07.2019, 17:42
Я крестики-нолики ещё не писал и неплохо было бы написать. Вроде игра простая, но как только начинаешь продумывать следующий шаг - что дальше кодить, то не такая уж и простая в реализации, но интересная.

Выглядит неплохо:

Название: Tic-Tac-Toe-Console_002.png
Просмотров: 503

Размер: 1.4 Кб
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,970
Записей в блоге: 234
11.07.2019, 19:47
Я начал писать консольные Крестики-нолики, так увлёкся, что написал до конца. Я сделал "защиту от дурака". Если не сложно, то попробуйте поиграть, я собрал в EXE: Tic-Tac-Toe-Console.zip. Никуда не подсматривал, сделал сам с нуля. До чего же интересно было.

Несколько скриншотов:

Название: Tic-Tac-Toe-Console_005.png
Просмотров: 494

Размер: 3.8 Кб

Название: Tic-Tac-Toe-Console_003.png
Просмотров: 500

Размер: 4.8 Кб

Название: Tic-Tac-Toe-Console_004.png
Просмотров: 499

Размер: 6.9 Кб
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
11.07.2019, 21:38
8Observer8, я скачал, а теперь ты запусти и оцени код Игра "Крестики - нолики"
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,970
Записей в блоге: 234
11.07.2019, 22:32
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
8Observer8, я скачал, а теперь ты запусти и оцени код Игра "Крестики - нолики"
Можно в EXE собрать?

Вот мой код:

Program.cs

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Tic_Tac_Toe_Console
{
    class Program
    {
        static void Main(string[] args)
        {
            new Game();
        }
    }
}
Game.cs

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
using System;
 
namespace Tic_Tac_Toe_Console
{
    class Game
    {
        private char[,] _field = new char[3, 3] {
                { ' ', ' ', ' ' },
                { ' ', ' ', ' ' },
                { ' ', ' ', ' ' },
            };
 
        private bool _isXMove = true;
 
        private readonly string _coordErrorMessage = "Координаты должны быть: [0, 2]";
 
        public Game()
        {
            Draw();
 
            int row, col;
            do
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("\n Введите номер ряда: [0, 2]\n (или -1 для выхода): ");
                Console.ForegroundColor = ConsoleColor.White;
                if (!int.TryParse(Console.ReadLine(), out row))
                {
                    ShowError(_coordErrorMessage);
                    continue;
                }
                if (row == -1) break;
 
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("\n Введите номер столбца: [0, 2]\n (или -1 для выхода): ");
                Console.ForegroundColor = ConsoleColor.White;
                if (!int.TryParse(Console.ReadLine(), out col))
                {
                    ShowError(_coordErrorMessage);
                    continue;
                }
                if (col == -1) break;
 
                Update(row, col);
                Draw();
            } while (true);
 
        }
 
        private void Update(int row, int col)
        {
            if (row == -1 || col == -1)
            {
                return;
            }
 
            if (0 <= row && row <= 2 &&
                0 <= col && col <= 2)
            {
                if (_field[row, col] == ' ')
                {
                    _field[row, col] = _isXMove ? 'X' : 'O';
 
                    if (IsWinner('X'))
                    {
                        Draw();
                        EndGame("Крестики");
                    }
                    else if (IsWinner('O'))
                    {
                        Draw();
                        EndGame("Нолики");
                    }
 
                    _isXMove = !_isXMove;
                }
                else
                {
                    ShowError("По этим координатам уже сделан ход.");
                }
            }
            else
            {
                ShowError(_coordErrorMessage);
                return;
            }
        }
 
        private void Draw()
        {
            Console.Clear();
 
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("\n Крестики-Нолики\n");
            Console.ForegroundColor = ConsoleColor.Magenta;
 
            ShowField();
 
            // Устанавливаем цвет рисования белым
            Console.ForegroundColor = ConsoleColor.White;
        }
 
        private void ShowField()
        {
            Console.WriteLine(string.Format("  {0} | {1} | {2}", _field[0, 0], _field[0, 1], _field[0, 2]));
            Console.WriteLine(" ---+---+---");
            Console.WriteLine(string.Format("  {0} | {1} | {2}", _field[1, 0], _field[1, 1], _field[1, 2]));
            Console.WriteLine(" ---+---+---");
            Console.WriteLine(string.Format("  {0} | {1} | {2}", _field[2, 0], _field[2, 1], _field[2, 2]));
        }
 
        private void ShowError(string message)
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("\n " + message);
            Console.WriteLine(" Нажмите любую клавишу");
 
            Console.ReadKey();
        }
 
        private bool IsWinner(char player)
        {
            return (
                // Rows
                (_field[0, 0] == player && _field[0, 1] == player && _field[0, 2] == player) ||
                (_field[1, 0] == player && _field[1, 1] == player && _field[1, 2] == player) ||
                (_field[2, 0] == player && _field[2, 1] == player && _field[2, 2] == player) ||
                // Columns
                (_field[0, 0] == player && _field[1, 0] == player && _field[2, 0] == player) ||
                (_field[0, 1] == player && _field[1, 1] == player && _field[2, 1] == player) ||
                (_field[0, 2] == player && _field[1, 2] == player && _field[2, 2] == player) ||
                // Diagonals
                (_field[0, 0] == player && _field[1, 1] == player && _field[2, 2] == player) ||
                (_field[0, 2] == player && _field[1, 1] == player && _field[2, 0] == player)
            );
        }
 
        private void ClearField()
        {
            for (int row = 0; row < 3; row++)
            {
                for (int col = 0; col < 3; col++)
                {
                    _field[row, col] = ' ';
                }
            }
        }
 
        private void EndGame(string player)
        {
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine(string.Format("\n Победили {0}!", player));
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("\n Нажмите любую клавишу для продолжения");
            Console.ReadKey();
            ClearField();
        }
    }
}
0
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545
11.07.2019, 22:55  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
А, вы настолько продвинутый. Морской бой я ещё не писал, но есть в планах сделать по сети с шейдерной OpenGL графикой в 3D, но это после того, как напишу крестики-нолики по сети, тогда будет легче, так как применю уже полученные знания от крестиков-ноликов.
Он у меня консольный, морской бой. Я еще не умею делать окна и 3д. Только консоль. Да и он у меня криво работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.07.2019, 22:55
Помогаю со студенческими работами здесь

Идея для игры
Хочу сделать онлайн игру на подобии nebo.mobi ,zamok.mobi, mdragons.mobi.То есть нужно переходить по ссылкам для продвижения...

Нужна идея для проекта
В общем, нужна идея для проекта(всего скорее open source), стаж 4.5 года знаю c++. Проект нужен что-нибудь послабее чем собственная...

Нужна идея для программы
Лето, скука, делать нечего. Чего бы спрограммить. На VB конечно. Если есть интересные идеи, которые некогда реализовывать, давайте мне....

Нужна идея для реализации
Подскажите что можно написать полезного, в голову ничего не лезет.

Нужна идея для программирования
Здравствуйте форумчане! Я - наверное, типичный школьник. Но проблема не простая... Вот сижу без дела, паралельно типичной задротской жизни...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru