Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3

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

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

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

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

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

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

6.
и важное уточнение:
Цитата Сообщение от XLAT Посмотреть сообщение
дописал модель
речь про то, что я добавил туда кода, но я ещё не закончил))
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
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
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
13.01.2025, 11:53
Кстати, в интернете на всяких сайтах можно встретить одну интересную реализацию сапёра, в которой на первом ходу не может быть не только мины, но и числа. Т.е. первый ход там всегда пустое поле, соответственно открывается сразу несколько полей. По такому же принципу работает сапер и от гугла.

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

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

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

ЛИБО

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

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

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

PS
До сообщений в этой теме даже не задумывался про нюанс с тем, что первый ход - всегда мимо мины. Клёвое наблюдение.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
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
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
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
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
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
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
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
Закрытая тема Создать тему
Опции темы

Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru