Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/1: Рейтинг темы: голосов - 1, средняя оценка - 5.00
Just Do It!
 Аватар для XLAT
4223 / 2689 / 656
Регистрация: 23.09.2014
Сообщений: 9,252
Записей в блоге: 3

Совместное создание игры

08.01.2025, 12:45. Показов 52942. Ответов 942
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
 Комментарий администратора 
Обсуждение вынесено из темы Ищу человека для совместного изучения программирования


Цитата Сообщение от Royal_X Посмотреть сообщение
Вот на моем неигровом ноуте последний UE без проблем запускается и не тормозит даже.
ок.
если ТС готов варганить со мной сапера, то я сделаю ещё одну попытку его(пожалуй 4 версию) установить и испытать.

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

и больше ничаво.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.01.2025, 12:45
Ответы с готовыми решениями:

Для чего создан язык С++?
Для чего создан язык С++????

создан массив
создан массив автовладельцев, для каждого известны Ф.И.О., номер, адрес...,Выяснить есть ли автовладельцы у которых имеются больше 1-ой...

Теория игр, массивы
Есть задание (прикрепил его в виде файла к сообщению). Есть решение для 12-ого варианта на BORLANDC, у меня 2-ой. Я изменил в начале...

942
 Аватар для Наталья8
640 / 404 / 68
Регистрация: 09.03.2016
Сообщений: 4,431
13.01.2025, 00:31
Студворк — интернет-сервис помощи студентам
filt_file(9).mp4
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,189
13.01.2025, 00:40
XLAT, ты вручную блоки комментов делаешь или каким-нибудь плагином?
0
Just Do It!
 Аватар для XLAT
4223 / 2689 / 656
Регистрация: 23.09.2014
Сообщений: 9,252
Записей в блоге: 3
13.01.2025, 00:52  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
ты вручную блоки комментов делаешь или каким-нибудь плагином?
копипаста форева.
0
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
13.01.2025, 06:59
Цитата Сообщение от XLAT Посмотреть сообщение
|   3. При клике на ячейке она открывается. Если в ней находится мина,        |
|   назначается штраф в размере 10 секунд, в течение которых поле недоступно.
В винде я что-то не видел, что бы игра начиналась с мины - хотя я и не фанат этой игры. Следовательно - сперва человек кликает по клетке, затем осуществляется расстановка мин.
2
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
13.01.2025, 08:43
Цитата Сообщение от Royal_X Посмотреть сообщение
Еще немного оптимизировал игру) Она в архиве.
А исходников не будет?
Я про hi res хотел посмотреть (на как таковое качество кода мне поплевать при чтении, если это смущает)
0
Just Do It!
 Аватар для XLAT
4223 / 2689 / 656
Регистрация: 23.09.2014
Сообщений: 9,252
Записей в блоге: 3
13.01.2025, 09:35  [ТС]
Цитата Сообщение от alexu_007 Посмотреть сообщение
В винде я что-то не видел, что бы игра начиналась с мины - хотя я и не фанат этой игры
1.
верно.
поэтому я дал ссыль на оригинал - потому что это копипаста.

2.
я не стал редактить, потому что в общей идеологии целеуказания я допускаю отход ТЗ от классики.

3.
без ТЗ код был бы ни о чем - поэтому я не поленился потратить 1 минуту гугла,
шоб добавить общее описание того что я делаю.

4.
изначально, я туда хотел добавить "чекбоксы"
Code
1
2
[+] сделано.
[-] не сделано.
но для этого само ТЗ нужно переписать.

5.
ещё раз:
данное описание было добавлено быстро и непринужденно тупо для того,
чтобы можно было сразу обозреть с высокой горы всю задачу в целом.

6.
и важное уточнение:
Цитата Сообщение от XLAT Посмотреть сообщение
дописал модель
речь про то, что я добавил туда кода, но я ещё не закончил))
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,189
13.01.2025, 11:08
alexu_007, я думал об этом, что типа плохо, когда игра начинается с мины. Но а потом подумал, мол а какая разница: взорваться на первом ходу или втором? Почему минное поле должно жалеть игрока и сделать исключение для первого хода? Ну вот, предположим, что на первом ходу не будет мины, а откроется какое-то число. Это же не даёт гарантии, что ты не взорвешься на втором ходу. В итоге, решил, что лучше оставить "честный рандом".
0
 Аватар для CoderHuligan
1754 / 1020 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
13.01.2025, 11:43
Цитата Сообщение от Royal_X Посмотреть сообщение
а какая разница
В вики написано, что игроки жаловались, что их раздражает когда на первом шаге попадается мина. Поэтому переделали. Игра должна затягивать, а если на первом же шаге ты проигрываешь, это отбивает желание играть. Чистая психология.
Было бы интересно сделать так, чтобы игрок смог гарантированно выиграть, если не будет делать ошибок. Т.е. когда гарантированно существует стратегия выигрыша. Я об этом с самого начала думал. А то получается так: ты начинаешь игру, но на каком-то шаге вынужден делать ход наобум, наудачу. По сути русская рулетка. Гораздо интереснее рассчитать алгоритм выигрыша, когда точно знаешь, что он существует, иначе получается, что иногда теряешь время на принципиально неоднозначный вариант.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,189
13.01.2025, 11:53
Кстати, в интернете на всяких сайтах можно встретить одну интересную реализацию сапёра, в которой на первом ходу не может быть не только мины, но и числа. Т.е. первый ход там всегда пустое поле, соответственно открывается сразу несколько полей. По такому же принципу работает сапер и от гугла.

Однако, сапер из ХР использует другое правило. На первом ходу может открыться даже всего лишь одно число.

CoderHuligan, я считаю, что существует два варианта:

1. Реализуем честный рандом для поля и не даем игроку никаких гарантий, что он обязательно выиграет при правильной игре. Это то, что я реализовал в своей игре.

ЛИБО

2. Даем игроку гарантию, что при правильной игре он ВСЕГДА может выиграть. В таком случае, во время первого хода не может не открываться ни мина, ни одно число, а должно открываться несколько полей, причем так, чтобы пользователь смог уверенно сделать свой второй ход, не попадясь гарантированно на мину.

Но, как по мне, второй вариант - отстой. Пропадает страх. Игрок превращается в тупого кликера.

Тот же отстой, если помогать игроку частично. Мол на первом ходу убрать мины, но вот не гарантировать дальнейший выигрыш при правильной игре. В чем тогда разница, взорваться на первом или втором ходу?
1
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
13.01.2025, 13:15
Т.к. сапёр игра как бы про подумать (ну кроме некоторой удачи), то вариант, при котором первый ход не приводит к взрыву - очень здравый. Это соответствует ожиданиям игрока, его настрою.
Это как если бы первый ход в шахматах мог тут же приводить к проигрышу, причем даже не какой именно - было бы очень странно. Даже детский мат не такой обидный, потому как понимаешь, что в принципе у тебя были варианты, зависящие только от тебя, чтобы хотя бы не так быстро проиграть гроссмейстеру.

PS
До сообщений в этой теме даже не задумывался про нюанс с тем, что первый ход - всегда мимо мины. Клёвое наблюдение.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,189
13.01.2025, 13:24
Цитата Сообщение от KSergey9 Посмотреть сообщение
то вариант, при котором первый ход не приводит к взрыву - очень здравый.
а если второй ход приводит к взрыву? Если честно, я не понимаю данную логику. Уж лучше взорваться сразу на первом ходу, если такой неудачник, нежели взорваться на втором, третьем ходу...потеряв только время)

другое дело, если реализовать то, о чем уже писал CoderHuligan, т.е. сделать так, что игрок гарантированно выигрывает при правильной игре. Однако, в таком случае игра полностью теряет свои характеристики. Так, одной из характеристик сапёра является то, что это игра на вероятность. Именно вероятность - расположение мин - должны решать всё в данной игре. Если вам нужно обязательно выиграть, так играйте в шахматы) И почему никто не говорит, что как можно попасться на мину на первом ходу, так можно еще и выиграть одним щелчком на первом ходу...
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
13.01.2025, 13:55
Цитата Сообщение от Royal_X Посмотреть сообщение
так можно еще и выиграть одним щелчком на первом ходу...
Вероятно это как раз учтено в алгоритме расстановки мин. Во всяком случае исключить такой вариант расстановки имеет смысл.

Цитата Сообщение от Royal_X Посмотреть сообщение
а если второй ход приводит к взрыву?
Второй ход я в любом случае делаю осознанно, у меня есть хоть какая-то информация (хоть и не полная в классическом случае). Т.е. психологически можно сказать "я сам виноват". Как минимум можно исключить гарантированно заминированные клетки.
А вот первый ход - он абсолютно случайный, у меня нет вообще никакой информации. А игра всё же не просто "угадайка", но и про "я умный"

Добавлено через 1 минуту
Цитата Сообщение от Royal_X Посмотреть сообщение
Однако, в таком случае игра полностью теряет свои характеристики
Возможно, теряет, тут надо тестировать.
Хотя тут всё же остаётся вариант простой человеческой ошибки, т.е. полностью интересной игра быть не перестаёт (если не пользоваться каким-либо электронным подсказчиком, т.е. гарантированно исключить собственную ошибку)
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,189
13.01.2025, 14:21
KSergey9, поиграв в инете разные сапёры, я понял, что игра не имеет стандартизированных правил. Каждый разработчик волен делать так, как считает нужным. Я вот решил, что мина может быть уже на первым ходу, равно как и победа.
0
 Аватар для CoderHuligan
1754 / 1020 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
13.01.2025, 15:06
Цитата Сообщение от Royal_X Посмотреть сообщение
второй вариант - отстой
Да, конечно элемент опасности теряется. Можно предложить такой вариант: игрок открывает клетку, и если там мина, то ему дается фора в виде времени, на открытие другой ячейки. Ну, такая мина с часовым механизмом)). Если время истекает, то конец. Ладно, всё это не принципиально, так как задача ставилась просто обучение определенным вещам на реальном проекте. Я, вот, уже научился тайлы доставать из картинки и выводить их на gdi+

Добавлено через 3 минуты
Делается это примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
Graphics g(hdc);
 
    Image* pImage=Image::FromFile(L"t2.png");
    ImageAttributes ImgAtt;
    ImgAtt.SetWrapMode(WrapModeTile);
    RectF rcDrawRect;
    rcDrawRect.X=0;
    rcDrawRect.Y=0;
    rcDrawRect.Width=16;
    rcDrawRect.Height=16;
    g.DrawImage(pImage,rcDrawRect,0, 32,16,16, UnitPixel,&ImgAtt);
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,189
13.01.2025, 15:15
Цитата Сообщение от CoderHuligan Посмотреть сообщение
уже научился тайлы доставать из картинки и выводить их на gdi+
картинки пусть будут ресурсами, чтобы они были внедрены в exe, как вот я сделал

Добавлено через 6 минут
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Ладно, всё это не принципиально, так как задача ставилась просто обучение определенным вещам на реальном проекте.
Согласен.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Да, конечно элемент опасности теряется. Можно предложить такой вариант: игрок открывает клетку, и если там мина, то ему дается фора в виде времени, на открытие другой ячейки. Ну, такая мина с часовым механизмом)). Если время истекает, то конец.
Я вот начал делать 3d сапер, и тоже есть пару интересных идей. Но у меня много другой работы, поэтому поставил разработку на паузу. Программирование для меня хобби. Сапер на GDI+ не занял много времени. Но вот сейчас нужно вложить еще времени, чтобы реализовать новые идеи, а времени у меня нет.
0
 Аватар для CoderHuligan
1754 / 1020 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
13.01.2025, 15:35
Цитата Сообщение от Royal_X Посмотреть сообщение
картинки пусть будут ресурсами
Конечно. Из ресурсов надо загружать. Функцию в сети нашел.
0
0 / 0 / 0
Регистрация: 13.01.2025
Сообщений: 2
13.01.2025, 16:16
Здравствуйте, помогите пожалуйста написать код на с++ для решения Л.Р, до этого момента не работал в с++
Миниатюры
Совместное создание игры  
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,189
13.01.2025, 16:31
Ilya89089, третье задание
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cmath>
 
int main()
{
    std::cout << "hypotenuse: ";
    double c; std::cin >> c;
    std::cout << "cathetus: ";
    double a; std::cin >> a;
    if (c > a)
        std::cout << std::sqrt(c*c-a*a);
}
1
0 / 0 / 0
Регистрация: 13.01.2025
Сообщений: 2
13.01.2025, 16:58
Спасибо!
0
 Аватар для CoderHuligan
1754 / 1020 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
13.01.2025, 17:21
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Из ресурсов надо загружать
Только через одно место придется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.01.2025, 17:21

Решение матричных игр. Есть у кого такая программа написанная уже...
Требуется программа по решению матричных игр... С выбором размера матрицы и выдачей решения... Может кто смогёт такую сбатцать?

Запуск приложений(старых игр) в оконном режиме
День добрый, подскажите, хотелось бы реализовать свое желание запуска старых игр windo`вых(типа StarCraft) в оконном режиме, с чего начать,...

Алгоритм календаря игр (например в футболе)
необходимо составить календарь футбольных матчей, допустим есть 6 команд char *teams = {&quot;TEAM A&quot;,&quot;TEAM B&quot;,&quot;TEAM...

Движок для игр
Всем привет!!!, хотел узнать возможно ли создать движок на C++ чтобы экспортировать модели из 3ds max а после в самом движке можно было...

Выбор IDE для создания 2D игр
Здравствуйте. Задача сделать пака 2ух – мерные драчки загружая в проект анимацию-как удар(ы) и реакция на удар...(лучше всего секвенцию...


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

Или воспользуйтесь поиском по форуму:
180
Закрытая тема Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru