|
17 / 17 / 1
Регистрация: 28.03.2013
Сообщений: 80
|
|
Организационные трудности с написанием игры30.03.2013, 20:14. Показов 1485. Ответов 9
Метки нет (Все метки)
Есть задание написать игру для просты пусть будут крестики нолики на поле 5х4. Игра до 4-х подряд. UI в JAVA только начал изучать и в связи с отсутствием опыта есть вопросы:
1. Поля которые будут заполнять игроки (крестиками и ноликами), я планирую делать через кнопки. Т.е. кнопка имеет вид квадрата с рисунком нейтральной позиции, при нажатии на нее рисунок меняется на крестик или нолик. Первый вопрос нормально ли использовать для этого кнопки или можно реализовать через какие-то другие объекты JAVA которые будут себя вести так же как описано? 2. Второй вопрос вытекает из первого. Как сделать так, что бы при изменении размеров окна, кнопки меняли свой размер пропорционально. Т. е. если изначально кнопки были квадратными, то при изменении размеров окна они оставались всегда квадратными. Я так понимаю надо кнопки загнать в GridBagLayout и там как-то прописать что бы размер ячейки Layouta был всегда квадратным. Но вот как это сделать? И если в GridLayout кол-во строк и столбцов регулируется просто передачей параметров (5,4), то как оно выставляется в GridBagLayout? 3. Третий вопрос тоже вытекает из первого. Как сделать так, что бы при изменении размеров окна, рисунок на кнопке независимо от размеров кнопки масштабировался и занимал все пространство кнопки, а не просто оставался одного размера? Собственно это все вопросы, логику игры я запрограммирую без проблем, но вот с отображением бьюсь уже 3-й день. Заранее скажу, что в гугле гуглил и тех. статьи читал. Заранее благодарен за любую помощь.
0
|
|
| 30.03.2013, 20:14 | |
|
Ответы с готовыми решениями:
9
Помогите пожалуйста с написанием кода для текстового квеста игры
Проблемы с написанием игры "Шахматы" |
|
|
|
| 30.03.2013, 20:44 | |
|
если вы планируете рисунки то вам лучше зафиксировать размеры окна (так как чем больше их масштабировать тем размытее они будут), если вам нужна динамическая форма, то рисунки на кнопках должны рисоваться векторно и занимать выделеный процент кнопки динамически базируясь на её размерах.
чтобы всё всегда было квадратным повесте листенер на изменения размера окна и если меняют ширину, изменяйте пропорционально и длину и наоборот ну и вырубите максимизацию, так вы получите то что вы хотите
1
|
|
|
17 / 17 / 1
Регистрация: 28.03.2013
Сообщений: 80
|
|||
| 30.03.2013, 21:16 [ТС] | |||
|
На счет листнера на изменение размера окна, скорее всего так и сделаю. Единственный вопрос, какой метод возвращает текущий размер окна?
0
|
|||
|
17 / 17 / 1
Регистрация: 28.03.2013
Сообщений: 80
|
|
| 02.04.2013, 23:04 [ТС] | |
|
Большое спасибо за предыдущие ответы, я разобрался и у меня получилось реализовать графику игры. Теперь стоит вопрос такого плана:
1. Перед тем как собственно играть, нужно ввести имена игроков, а после этого уже выводить ту графику которую я писал. Как я себе это представляю, после запуска исполняемого файла у меня появляется окно в котором создан фрейм, а в фрейме размещены: Надпись "Введите имена игроков" и ниже 2 JTextField. И еще ниже кнопка "Начать игру!". Так вот, по нажатию кнопки мне нужно загнать значения TextFieldов в переменные, убрать фрейм с вводом игроков и вывести фрейм с полем для игры(тот самый фрейм с кнопочками). Как реализуется смена этих фреймов? Я очень плохо себе это представляю. Возможно есть какой-то пример?
0
|
|
|
17 / 17 / 1
Регистрация: 28.03.2013
Сообщений: 80
|
||||||
| 03.04.2013, 20:40 [ТС] | ||||||
|
А, то есть все просто
![]() Добавлено через 18 часов 43 минуты В результате я накидал такую менюшку:
0
|
||||||
|
17 / 17 / 1
Регистрация: 28.03.2013
Сообщений: 80
|
|
| 03.04.2013, 21:33 [ТС] | |
|
Это ясно, вопрос собственно в том как мне обратиться к объекту в обработчике событий? Просто написать L.setVisible(false); в обработчике нельзя.
0
|
|
|
|
||||||
| 04.04.2013, 02:05 | ||||||
0
|
||||||
| 04.04.2013, 02:05 | |
|
Помогаю со студенческими работами здесь
10
Организационные доки Чем можно заменить организационные юниты? помогите с написанием Сборка ПК "для себя" - игры, игры, игры! Киев, бюджет 8300 грн с монитором. Помогите с написанием формул. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
|