JavaRush /Java блог /Архив info.javarush /Морской бой и Swing
zor07
31 уровень
Санкт-Петербург

Морской бой и Swing

Статья из группы Архив info.javarush

Всем доброго времени суток

Будучи еще школьником и изучая программирование у репетитора (Pascal), как и все, я захотел написать игрушку. С репетитором написал консольную игру Быки и Коровы, но раздутое чсв требовало чего-нибудь посерьезнее. Выбор остановился на морском бое. Стал писать его на паскале. В планах была консольная игра, в которой компьютер просто сообщает игроку адрес ячейки, по которой он стреляет, а игрок, в свою очередь, сообщает компьютеру адрес своей ячейки. Все тогда застопорилось на том, что не смог научить компьютер "добивать" раненные кораблики, а дописывать игру, в которой компьютер рандомно стреляет по полю не хотелось. Прошло 9 лет, открыл для себя javarush, на 21-ом уровне проснулось чсв и потребовало морской бой. Основными целями были:
  • Наличие интерфейса
  • Адекватная стрельба компьютера (он должен добивать раненые корабли)
Первую цель достиг с помощью библиотеки Swing А вторую с помощью библиотеки КостыльВелосипедИВераВБога Всем заинтересовавшимся предлагаю опробовать сего франкенштейна на GitHub Качеством кода, признаться, недоволен сам, но как делать лучше пока не знаю. Так что буду признателен за конструктивную критику и любые комментарии. Всем спасибо!
Комментарии (20)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Samson Уровень 19
26 мая 2016
спасибо, не разочарует) дуамю даже поможет)
Samson Уровень 19
26 мая 2016
можешь скинуть пожалуйста код консольной версии мне интересно взглянуть. сам недавно начал Swing учить
Grif Уровень 11
24 мая 2016
А вообще я думаю на JavaRush можно было бы не только по играм, но и по другим проектам организовывать конкурсы, отбирать наиболее удачные и складывать в открытый для скачивания архив, со временем сделать базу своих приложений которые можно бесплатно раздавать и чем черт не шутит ещё и таким образом увеличить свою аудиторию :) Самое интеренсное, что при удачном стечении обстоятельств это может быть всем выгодно:)
Grif Уровень 11
24 мая 2016
Кстати, у меня родилась маленькая идея… старндартный морской бой это интересно, но что если делать по уровням и слегка менять декорации, например:
1) 1-й уровень — надводный бой, 2-й уровень подводный бой, 3-й уровень морская авиация и т.д.;
2) С каждым уровнем повышать интелект ПК… 1-й рандомный обстрел, 2-й обстрел с добиванием, 3-й использование логики уменьшения количества обстреливаемых полей в два раза (я её назвал шахматная доска), 4-й применение логики при расстановке кораблей (увеличение свободного пространства для маленьких кораблей) и т.п.;

В общем с таким успехом ещё немного пофантазирую и глядишь начну команду подыскивать для совместного проекта «МОРСКОЙ БОЙ» :))) :D
Torin Уровень 27
23 мая 2016
Javarush даешь конкурсы на создание игр в массы! Давайте уже не будем кривить душой, все блин игры клепаем, инфа сотка. Да весь ресурс построен на игровой механике, так что давайте… я жду :))
Grif Уровень 11
22 мая 2016
Я на 21-м уровне, поигрался в Ваш морской бой, впечатления хорошие. Пожелание — улучшить графику.

Раз пошла такая каша, предлагаю скриншоты своих варинатов морского боя.

Консольная версия:


Свинг версия


Консольную версию делал на 10-м уровне, реализовал два уровня сложности.
Свинговую версию пока не доделал, решил логику заново переписать, да намудрил с потоками всё работает, но логика слабая и вообще надо все доделывать и переделывать… доучу паттерны, потом подумаю над переработкой :)