2015-04-11 5 views
0

Мне нужно создать приложение GUI, которое случайным образом выбирает карту из колоды и отображает ее каждый раз, когда пользователь нажимает на нее. После выбора карты она удаляется из колоды и больше не может использоваться. Сообщение должно отображаться, когда в колоде больше нет карт. Я полностью потерян, и любая помощь будет оценена по достоинству.card dealer java gui

Я забыл упомянуть, что у меня есть фотографии для каждой из карт. Как связать идентификатор карты с изображением?

+2

Вы пробовали что-нибудь самостоятельно? – pikachu

+0

сделать карточку класса [как это] (http://math.hws.edu/eck/cs124/javanotes4/source/Card.java), как только вы закончите этот шаг ** А ТАКЖЕ КЛАССА КАК НА ВАШИ ПОТРЕБНОСТИ **, обновите сообщение –

+0

Я могу делать все, что угодно, например, создавать панели и добавлять к ним вещи, у меня просто есть проблема с тем, как начать. Это, наверное, моя худшая тема. Мне просто нужна помощь, чтобы выяснить, с чего начать и что включать и т. Д. Я могу сделать остальные самостоятельно –

ответ

0

Один из способов сделать это - составить список идентификаторов карт. Например, вы можете поставить 1 из сердец как ID 0, поставить 1 из тузов как ID 1 и так далее. Затем вы можете использовать класс Math.Random для выбора одного идентификатора из списка идентификаторов при каждом нажатии кнопки и отображения карты. Как только карта отображается, удалите идентификатор из колоды, чтобы он не был выбран снова.

+0

Хорошо спасибо. Это тоже хорошая идея. Я забыл упомянуть, что у меня есть фотографии для каждой из карт. –

1

Вы не должны ожидать, что кто-нибудь сделает домашнее задание для вас, но есть, по крайней мере, несколько вещей, которые вы можете найти, чтобы начать.

Я также начинающий программист, начиная с Java, и мой первый проект включал в себя карты и случайный рисунок карты. Я сохранил колоду карт в двумерном массиве и выбрал их случайным образом, создав два случайных числа с помощью Math.Random, один для костюма и один для карты в этом костюме.

Уверен, что существует много, МНОГО лучших способов решения этого вопроса, но в то время это был самый простой способ и, похоже, выполнял эту работу.

+0

Это хороший ответ, в котором вы даете предложение о том, с чего начать, и о некоторых вещах, о которых нужно подумать. Однако обратите внимание, что эта стратегия имеет проблему - вы не можете легко удалить карты. Даже если вы установите поле в массиве равным «null», это замедлит вашу программу, когда вы рисуете все больше и больше карт (потому что вам нужно попробовать еще раз, если вы нарисуете карту, которую вы уже нарисовали). Это [статья] (http://en.wikipedia.org/wiki/Simple_random_sample) может дать вам некоторые идеи по улучшению вашего решения - ключевая фраза «без замены». – dimo414

+0

Отлично это было действительно полезно! Спасибо, по крайней мере, я знаю, с чего начать. Это проблема для меня, и я не ожидаю, что кто-нибудь сделает мою домашнюю работу, но мне просто нужна помощь, и ваш способ кажется мне хорошим способом. Спасибо –

+0

Спасибо за другие комментарии об удалении карт, это было очень полезно –

Смежные вопросы