Богдан Хвалько, Так и подстраивай под того, с кем он будет драться именно сейчас. Предложенная тобой концепция используется в синглплеер играх, чтобы автоматически подстраивать сложность под игрока, на основе предыдущих сражений. Но для мультиплеера это уже не подходит. Хоть в процентах, хоть в логарифмах, хоть в квадратных корнях формулы рисуй. После новичка бос будет слишком лёгкий для опытного игрока и после опытного игрока босс будет слишком сложным для новичка.
Т.е. если все игроки находятся в едином игровом Мире, то можно сохранать ID игрока и, если он с боссом уже сражался, то как-то корректировать уровень босса (ослаблять, если агрок уже проигрывал и усиливать, если игрок уже выигрывал этого босса), а если это первая встреча, то по какой-то формуле начальный уровень босса назначать.
А если каждый игрок в своём игровом пространстве играет, то вообще никакой связи между скиллом игроков быть не должно и н еможет быть.
Богдан Хвалько, Тогда никак. Либо разграничивать игроков разного уровня по отдельным серверам, либо на слабых игроков будут попадать сильные боссы после сильных игроков, а сильным игрокам слабые боссы после слабых игроков. и все будут недовольны.
Так что либо разные сервера по скиллу игроков, либо подстраивать босса под играющего игрока.
Никакой формулы быть не может, потому что игроки с разным скиллом в случайно порядке могут оказаться ведь.
art style, Лучше вырезать не "лассо", а создать слой маски, тогда больше свободы в плане удаления и возвращения прозрачности. И на маске можно хоть карандашом рисовать прозрачность.
Хотя, возможно, достаточно отключить AntiAliasing при выделении:
wefhuieu, скомпилировалось - правильно. Не скомпилировалось - надо в настройках компилятора указать, что это юникод приложение, а не мультибайт, чтобы точку входа нашёл.
wefhuieu, это =, а не ==. Для char* нет оператора сравнения строк, сравнивается указатель.
char* нельзя записывать в wstring.
Замени main на wmain с типом wchar_t.
xaiponews, Да, примерно так и делаются всякие Лотто и карточные игры. Гораздо эффективнее и предсказуемее создать массив со всеми допустимыми значениями и перемшать его. С вызовом генератора случайных чисел может быть "зацыкливние" алгоритма, когда будут выпадать уже недопустимые значения. И хоть миллион раз вызови функцию, а нужного числа можешь не получить. Поэтому делают от обратного. Напрмиер, в Лотто, создают массив с номерами всех кубышек и перемешивают массив. А потом по очереди достают кубышки с гарантией, что они не повторятся и цикл не подвиснет в ожидании случайного числа с номером ещё не использованной кубышки.
xaiponews, Конкретно под описанный случай: создаёте массив из 4 чисел, заполняете его 1,2,3,4. перемешиваете числа любым алгоритмом перемешивания. При нажатии кнопки получаете первое число в массиве, затем второе и т.д. Когда четыре раза нажили на кнопку, то снова перемешиваете этот массив и снова берёте первое число, оптом второе и т.д. Это гарантирует, что при четырёх нажатиях не будет повтора. но при мятом нажатии может быть повтор с четвёртым.
Вообще, случайные числа подразумевают, что одно и то же число может выпасть хоть 50 раз подряд, просто это маловероятно.
heinehen, можно использовать только ту часть библиотеки, которая для "рюшечек".
WinAPI в плане разработки интерфейсов ещё ужаснее, чем MFC. Мало того, что он Сишный, так ещё и настолько древний, что крайне неудобно создавать многопоточные приложения. Т.е. просто "математические" потокеи без проблем можно создавать, а вот если надо создать диалоговое окно в отдельном потоке, то это боль и страдания (в MFC).
Профит от QT однозначно будет. Разрабатывать можно в той же VisualStudio.
heinehen, Тогда однозначно QT. Есть и другие, но лучше потратить время именно на QT. Его можно будет использовать с любыми компиляторами и на любых платформах, помимо Виндоус. Помимо рюшечек там есть почти всё, что в голову может прийти, есть куча классов инкапсулирующих системные API.
Библиотека очень большая, но польза от изучения будет. В вакансиях С++ часто QT указан в требованиях.
Игорь, Плотно сидит после того, как полностью вставлен. Но это нужно постараться, конечно, чтобы настолько коряво вставлять и закоротить соседние дорожки.
При большой удаче, даже вставляя флешку можно спалить как минимум юсб-контроллер - я несколько портов так сжёг. И вставляя HDMI кабель можно сжечь мног очего. Когда во включенное оборудование что-то подключаете - это всегда некоторый риск.
Виктор, Разобрал, визуально никакого криминала не увидел (да и не на что смотреть, микросхема микроскомпическая, взя разводка на плате), разве что диск вверх ногами стоит. Чтобы быстрее сломался, видимо.
Надо покупать SATA-USB подходящего размера и не придётся ничего выбрасывать. Спасибо за подсказку, что можно просто докупить детальку :)
Yan, Непосредственно с порта всё норм приходит, другие внешние диски заводятся. Так что надо разбирать и уже внутри что-то мерять. И чтение же более-менее нормально работает, значит, диск раскрутился, а раз хватило для старта, то для последующей работы тем более хватит питания.
* у меня нету usb-тестера :(
Виктор, Цельное устройство. но ведь всё можно разобрать, пусть и без возможности собрать обратно. "Seagate expansion Portable Drive", model: SRD00F1.
"High-speed до 480 Мбит/с USB 2.0 ", т.е. 60мегабайт интерфейс позволяет передавать. Так что 38 вполне реально.
Подключил через хаб от монитора, там гарантированно usb2.0, скорость те же 37-38 мегабайт/сек.
AUser0, Точно проверено, что дело не в проводе (от другого подключал). И по юсб2 работает. Получается, что-то в кейсе сломалось в той части, которая за юсб3 отвечает. Или гнездо или внутри или не знаю что ещё...
Вариантов нет, надо кейс разбирать и смотреть. В худшем случае, у меня будет ненужный ноутбучный диск, котороый сунуть некуда :)
ilykir, может ГуглПлей для мобилок другую версию файлов раздаёт. Но более вероятно, что какой-ниубдь браузер Хром помимо анонимизации ещё и сжимает всё подряд, чтобы трафик экономить.
Провод подключал от того диска, которы йработает - не помогло. Так же в диспетчере устройств отключал "энергосбережение" ля всех usb-хабов.
Смущает, что через usb2 порт всё работает с этим же кейсом и этим же проводом. По идее, если какой-то контакт окислился, например, то он был бы окисленным и для usb2, а не только для usb3.
Удаление раздела с последующим созданием и форматированием не помогли.
Напрямую подключать смысла не вижу, раз через usb2 работает без проблем, то сам по себе диск исправен. Да и не нжен мне внутренний диск.