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

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

08.01.2025, 12:45. Показов 49816. Ответов 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
638 / 396 / 67
Регистрация: 09.03.2016
Сообщений: 4,324
13.01.2025, 00:31
Студворк — интернет-сервис помощи студентам
filt_file(9).mp4
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3058 / 1054
Регистрация: 01.06.2021
Сообщений: 11,678
13.01.2025, 00:40
XLAT, ты вручную блоки комментов делаешь или каким-нибудь плагином?
0
Just Do It!
 Аватар для XLAT
4220 / 2684 / 656
Регистрация: 23.09.2014
Сообщений: 9,240
Записей в блоге: 3
13.01.2025, 00:52  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
ты вручную блоки комментов делаешь или каким-нибудь плагином?
копипаста форева.
0
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,349
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
4220 / 2684 / 656
Регистрация: 23.09.2014
Сообщений: 9,240
Записей в блоге: 3
13.01.2025, 09:35  [ТС]
Цитата Сообщение от alexu_007 Посмотреть сообщение
В винде я что-то не видел, что бы игра начиналась с мины - хотя я и не фанат этой игры
1.
верно.
поэтому я дал ссыль на оригинал - потому что это копипаста.

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

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

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

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

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

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

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

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

ЛИБО

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

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

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

PS
До сообщений в этой теме даже не задумывался про нюанс с тем, что первый ход - всегда мимо мины. Клёвое наблюдение.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3058 / 1054
Регистрация: 01.06.2021
Сообщений: 11,678
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
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3058 / 1054
Регистрация: 01.06.2021
Сообщений: 11,678
13.01.2025, 14:21
KSergey9, поиграв в инете разные сапёры, я понял, что игра не имеет стандартизированных правил. Каждый разработчик волен делать так, как считает нужным. Я вот решил, что мина может быть уже на первым ходу, равно как и победа.
0
 Аватар для CoderHuligan
1753 / 1019 / 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
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3058 / 1054
Регистрация: 01.06.2021
Сообщений: 11,678
13.01.2025, 15:15
Цитата Сообщение от CoderHuligan Посмотреть сообщение
уже научился тайлы доставать из картинки и выводить их на gdi+
картинки пусть будут ресурсами, чтобы они были внедрены в exe, как вот я сделал

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

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Да, конечно элемент опасности теряется. Можно предложить такой вариант: игрок открывает клетку, и если там мина, то ему дается фора в виде времени, на открытие другой ячейки. Ну, такая мина с часовым механизмом)). Если время истекает, то конец.
Я вот начал делать 3d сапер, и тоже есть пару интересных идей. Но у меня много другой работы, поэтому поставил разработку на паузу. Программирование для меня хобби. Сапер на GDI+ не занял много времени. Но вот сейчас нужно вложить еще времени, чтобы реализовать новые идеи, а времени у меня нет.
0
 Аватар для CoderHuligan
1753 / 1019 / 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
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3058 / 1054
Регистрация: 01.06.2021
Сообщений: 11,678
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
1753 / 1019 / 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
Закрытая тема Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru