|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|
Игровой автомат, как лучше хранить картинки для последующего вывода в PictureBox29.06.2014, 13:16. Показов 4374. Ответов 23
Метки нет (Все метки)
Всем привет!
Задача такая: сделать некое подобие игрового автомата. 3 элемента picturebox, при нажатии на кнопку изображение должно сменяться на всех трёх случайным образом, всего 3 возможных варианта изображений. При некоторых вариантах совпадения картинок на picturebox'ах (2 или 3) должны начисляться очки. Я не могу понять как мне изображения в массив что ли засунуть, чтобы потом их через random выводить в picturebox'ы... Подскажите, пожалуйста. Заранее спасибо.
0
|
|
| 29.06.2014, 13:16 | |
|
Ответы с готовыми решениями:
23
[Теоритическая часть] Как лучше хранить картинки Объясните, как лучше хранить картинки на сайте? Как правильно упаковать модуль для последующего вывода в материалы |
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|
| 29.06.2014, 16:45 | |
|
используй switch. Если зарандомилось число 1, то картинка такая, если 2 то другая картинка итд...
1
|
|
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|||||||||||
| 29.06.2014, 17:47 [ТС] | |||||||||||
|
Благодарю, я вот так уже сделал:
Ведь получается элементы 0, 1, 2. Но всё равно попробую сделать и по вашему.
0
|
|||||||||||
|
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
|
|||
| 29.06.2014, 17:54 | |||
|
то есть 2 уже не считается.
1
|
|||
|
|
|||||||||||
| 29.06.2014, 19:24 | |||||||||||
|
berkut_174, вот мой вариант реализации вашего задания, накидал по быстрому.
Вместо картинок цвета, три вида. Это можете сами изменить Класс Gamer
4
|
|||||||||||
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|||||||
| 29.06.2014, 19:55 [ТС] | |||||||
![]() Заметил очень понравившуюся мне реализацию в вашем варианте, смена картинок после того, как нажимается старт, так намного интересней получается. Пробую у себя также сделать, поглядывая в ваш код:
0
|
|||||||
|
|
|
| 29.06.2014, 19:58 | |
|
berkut_174, в моем коде реализована многопоточность, с параллельным выполнением. Три потока запускаются одновременно и работают независимо от формы. Поэтому форма и не тормозит. А у вас она тормозит во время выполнения, и отображает все после завершения цикла.
1
|
|
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|
| 29.06.2014, 20:00 [ТС] | |
|
0
|
|
|
|
|
| 29.06.2014, 20:01 | |
|
berkut_174, пробуйте.
![]() Пример у вас есть.
0
|
|
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|||||||
| 30.06.2014, 19:30 [ТС] | |||||||
|
Чёрт, интересно даже стало, но не выходит, решил попроще задачу поставить: 3 label, 1 button, 1 form.
Form1.cs
0
|
|||||||
|
|
||
| 30.06.2014, 19:43 | ||
|
berkut_174, а как вы думаете, зачем вот эта строка нужна?
0
|
||
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
||
| 30.06.2014, 20:14 [ТС] | ||
|
Ладно, надо пример про многопоточность попроще, наверно, поищу ещё
0
|
||
|
|
||||||
| 30.06.2014, 20:34 | ||||||
|
berkut_174, почитайте про многопоточность и обновление интерфейса в WinForm. Обратиться напрямую к контролам формы можно только из того потока, в котором они созданы. Вот для того, чтобы обновить контролы из других потоков, и применяется Invoke.
Добавлено через 7 минут Сделайте так:
1
|
||||||
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
||||||
| 30.06.2014, 21:35 [ТС] | ||||||
|
Так работает
Спасибо.Я попробовал вот так сделать:
0
|
||||||
|
|
||
| 30.06.2014, 22:25 | ||
|
1
|
||
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
||||||
| 02.07.2014, 19:31 [ТС] | ||||||
|
Не заметил...
Теперь в другом проблема, у вас в коде не могу понять как вы сравниваете результаты.
Полагаю, есть более красивое решение... Добавлено через 20 часов 31 минуту Может есть какой-то пример с описанием ? А то я догадываюсь где в коде это описано, но не пойму как под свои реалии переделать и не гуглится ничего... Напомню, мне нужно теперь после выполнения всех потоков, сравнить результаты на pictureBox'ах. Выше писал, что мол задержку выставить 5*1000, но так не работает. Нужно как-то "выждать" пока все потоки выполнятся... Добавлено через 10 часов 7 минут Ну вот что-то нашёл http://www.bafoed.net/post/7624/, но тоже мельком всё... понятно что на Event нужно смотреть... Про консольные приложения такие примитивные примеры, которых полно, а для Forms не могу найти самого примитивного, чтоб пара потоков и выхлоп как получить, да ещё и с объяснениями бы... Неужели нет таких простых ("школьных") примеров ? Поделитесь ссылкой, пожалуйста.
0
|
||||||
|
|
|
| 02.07.2014, 19:41 | |
|
berkut_174, обратите внимание, в моем коде, метод для вывода изображения номер один. В конце метода, когда цикл заканчивается, срабатывает событие, говорящее о том, что перебор окончен. А на форме мы обрабатываем это событие и сравниваем переменные в классе, по результатам сравнения и делается вывод о том, выигрыш или проигрыш.
1
|
|
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
|||||||
| 02.07.2014, 20:24 [ТС] | |||||||
|
Вот вроде пашет с горем пополам, только понимание не пришло...
Также строка 102, убрал + перед равно, иначе Message с каждым последующем клацаньем по кнопке, вылазил по несколько раз (первый клик - 1, второй - 2, третий - 3 и т.д.), это почему ? И тут же, что это за параметры такие, в скобках, я произвольные вообще ввёл (a,q) ? Спасибо!
0
|
|||||||
|
|
|||
| 02.07.2014, 20:47 | |||
|
Добавлено через 2 минуты Вам бы побольше про делегаты, события почитать не мешает. Иначе трудновато во всем этом разобраться...
1
|
|||
|
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
|
||
| 03.07.2014, 09:19 [ТС] | ||
|
Спасибо. Но рано я обрадовался, если использовать label'ы, то резалты назначаются согласно отображенной строки (но очень редко промахи всё же случаются), а вот с pictureBox'ами беда, то есть у меня на картинке показывается одно, а в резалте номер предыдущей картинки, которая сменилась уже следующей. Получается потоки неравномерно завершаются, первый иногда быстрей остальных, из-за этого путаница с вычислениями результатов получается. Как быть, тоже условие в остальные добавить что ли ? Добавлено через 11 часов 46 минут В общем решил бросить эту затею... сделаю без многопоточности, просто при нажатии картинка будет сразу же меняться единожды, как и было у меня. Всем спасибо, отдельная благодарность insite2012! Возможно вернусь к решению поставленной задачи в будущем...
0
|
||
| 03.07.2014, 09:19 | |
|
Помогаю со студенческими работами здесь
20
Игровой автомат, который подбирает случайным образом картинки в трех окошках Задержка после вывода картинки в pictureBox
Как лучше хранить конфигурационные файлы для проекта Как лучше всего хранить данные для приложения? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Конвертировать закладки 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.
На борту пять. . .
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|