Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 21.03.2009
Сообщений: 3

Игровая программа “Memory”

28.03.2009, 15:56. Показов 3261. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем, на форме расположено изображение, закрытое 16-ю элементами. По щелчку игрока элемент переворачивается и открывает маленькую картинку. Игрок может перевернуть два элемента. Если картинки совпадают, элементы пропадают. Цель игрока найти как можно быстрее все парные элементы и таким образом открыть большое изображение.
  • по кнопке "Начали" загружается основное изображение
  • в 16 picbox загружается изображение "рубашки" ((из ресурсов)krest.gif)
  • определяется перечень маленьких изображений. Всего используется 4 разных маленьких картинки. Каждая картинка по 4 раза присутствует в списке, кроме этого, нужно реализовать перемешивание 16-и маленьких картинок случайным образом.
  • игрок делает первый щелчок по элементу, в который при этом загружается соответствующее изображение из списка
  • игрок делает второй щелчок по другой картинке. Если изображение совпадает с первым, то через небольшой интервал времени, используя таймер, обе картинки становятся невидимыми. Если картинки разные, то через тот же интервал в оба элемента загружается изображение "рубашки".
В общем, сложность состоит в том, что я не могу сообразить, как рэндомно, используя список, загружать в шестнадцать элементов картинки(условно pic1-pic4).

Я понимаю, что вся эта писанина сводится к "решите за меня плз", но все-таки надеюсь на помощь.
Если каких-либо данных не хватает — пишите, ибо я мог не все объяснить.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.03.2009, 15:56
Ответы с готовыми решениями:

Игровая программа (Циклы) С++
Первый игрок вводит целое число от 1 до 100, после чего второй должен отгадать его, вводя свои варианты. На каждую попытку программа должна...

Игровая программа ''ТИР''
В общем смысл такой:фон,на фоне нарисованный дом в котором 4 окошка,в окошке рандомно появляются изображения(цели) на которые за...

Игровая программа «Возьми ключ»
Здравствуйте! Пожалуйста, помогите выполнить задание. Я, к сожалению, не знаю настолько язык Visual Basic, чтобы справиться с этой задачей....

6
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
30.03.2009, 04:08
C#
1
2
Random rnd = new Random();
int index = rnd.Next(4);
index - индекс картинки в массиве картинок, процедуру повторить нужное кол-раз.
0
0 / 0 / 0
Регистрация: 21.03.2009
Сообщений: 3
30.03.2009, 21:06  [ТС]
Если бы все было так просто...
Загвоздка в том, что не получается согласовать то, что определенное кол-во картинок должно присутствовать на элементах только N-ное кол-во раз.
Т.е. должно быть например 4-е зеленые, 4-е красные, 4-синие, иначе будет идти несостыковка и игру невозможно будет завершить.
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
31.03.2009, 05:41
Берем первую картинку (1-я красная), генерим ей положение на карте. Берем вторую картинку (2-я красная), генерим ей положение. ... Берем пятую картинку (1-я зеленая)..... и т.д. по всем картинкам.
1
0 / 0 / 0
Регистрация: 21.03.2009
Сообщений: 3
03.04.2009, 21:15  [ТС]
Хм, ну попробую как-нибудь эдак... Все равно спасибо.
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
03.04.2009, 23:15
Делай массив (или матрицу); загоняй в него по порядку 4 разных картинки по 4 штуки. Получится что-то вроде AAAABBBBCCCCDDDD.

И потом сделай цикл в котором много раз (например, 100 или 200) два случайных места в массиве обмениваются значениями.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int[] massiv = { 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4 };
 
Random random = new Random();
 
for (int i = 0; i < 200; i++)
{
   int a = random.Next(massiv.Length);
   int b = random.Next(massiv.Length);
 
   if (a != b)
   {
      // здесь элементы massiv[a] и massiv[b] обмениваются значениями
 
      int temp = massiv[a];
      massiv[a] = massiv[b];
      massiv[b] = temp;
   }
}
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
06.04.2009, 04:32
Может отсюда поможет: Random без повторений
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.04.2009, 04:32
Помогаю со студенческими работами здесь

Create an in memory bitmap and draw directly to the memory
Здравствуйте! У меня есть пара вопросов. Знаю, что рисовать в HDC можно только с одного потока. Но узнал такую вещь, что можно создать...

Курсовая работа на тему "Игровая программа Домино"
Здраствуйте помогите написать програмний продукт &quot;Домино&quot; і нарисовать блоксхему плиз помогите!!!!!!! Очень надо!!!!!

Игровая программа "Отгадай картинку"
Помогите пожалуйста вот задание «Игровая программа “Отгадай картинку”» Описание правил игры: На форме расположена картинка, закрытая...

Программа по генерации 7-значного номера время от времени (не всегда) падает с ошибкой memory violation
Добрый день. моя программа по генерации 7-значного номера время от времени (не всегда) падает с ошибкой memory violation : Exception...

Игровая программа "Ипподром"
Игрок выбирает одного из трёх лошадей, которые соревнуются на скачках, и выигрывает, если его лошадь приходит первой. Скорость лошадей на...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru