Перейти к содержимому


Фотография

Морской Бой

opencomputers lua 2d ships battle game

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 16

#1 Оффлайн   Nezn

Nezn
  • Пользователи
  • Сообщений: 16
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 24 Июль 2015 - 08:19

battleship-630x300.jpg
Всем привет!

Спойлер

Наверное, все знают игру морской бой, поэтому не надо объяснять, как в неё играть.
Пока что сделал только против компьютера, но планирую сделать и между игроками.

Видео довольно скучное, можно его не смотреть, там просто демонстрация

 

 

Скриншоты:

Спойлер

 

 

 

 

Запуск:

pastebin run vyjzpm9y 

Есть два необязательных аргумента.
Первый аргумент - fast, он включает минимальные настройки, при которых поле выглядит не как шашечка, а как сплошной синий цвет.
Второй - notime, это временный аргумент, он исчезнет в релизе. Позволяет убрать задержки после хода компьютера.
Примеры запуска с аргументами

pastebin run vyjzpm9y fast 
pastebin run vyjzpm9y _ notime  
pastebin run vyjzpm9y fast notime 

 
Требования:

  • Компьютер 2 уровня
  • Графическая карта 2 уровня
  • Память 1.5 уровня
  • Монитор 2 уровня

Рекомендуемые:

  • Компьютер 3 уровня
  • Графическая карта 3 уровня
  • Память 1.5 уровня
  • Процессор 3 уровня

oGznXLr.png
 

 

Планы разработки:

  1. Улучшить GUI
  2. Попытаться оптимизировать
  3. Добавить возможность играть против игроков
  4. Добавить поддержку английского языка
  5. Добавить возможность поворота кораблей
  6. Сделать игру компьютера умной
  7. ...

 

 

Исходный код: ссылка

 

Прошу писать о найденных багах, если кто-то этим пользоваться вообще будет, ну а также не откажусь от советов и рекомендаций.


Сообщение отредактировал Nezn: 24 Июль 2015 - 13:04

  • Alex, Zer0Galaxy, Fingercomp и 6 другим это нравится

#2 Оффлайн   MineUbuntu

MineUbuntu
  • Пользователи
  • Сообщений: 185
  • Уровень сигнала: 4,14%
  • В игре: 35 час. 33 мин.

Награды

     

Отправлено 24 Июль 2015 - 08:25

Шикарно!
Сделай режим "игрок vs игрок" на OpenNet. Недавно как раз была идея такая: в датацентре стоит сервер с логинами/паролями, который обслуживает игроков, прога-клиент может запрашивать список игроков, ожидающих игру, попасть в список ожидающих и выбрать другого игрока. Потом сервер просто обменивает сообщения клиентов.
За такое и медаль выдать можно!

Сообщение отредактировал MineUbuntu: 24 Июль 2015 - 08:26


#3 Оффлайн   Nezn

Nezn
  • Автор темы
  • Пользователи
  • Сообщений: 16
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 24 Июль 2015 - 08:29

Шикарно!

Сделай режим "игрок vs игрок" на OpenNet. Недавно как раз была идея такая: в датацентре стоит сервер с логинами/паролями, который обслуживает игроков, прога-клиент может запрашивать список игроков, ожидающих игру, попасть в список ожидающих и выбрать другого игрока. Потом сервер просто обменивает сообщения клиентов.
За такое и медаль выдать можно!

Спасибо, примерно так и хотел, но сначала нужно сделать хотя бы между двумя игроками. Попробую разобраться.



#4 Оффлайн   Quant

Quant
  • Пользователи
  • Сообщений: 537
  • Уровень сигнала: 0,01%
  • В игре: 0 час. 4 мин.
  • Городinterface IQuant

Награды

     

Отправлено 24 Июль 2015 - 10:08

Спасибо, примерно так и хотел, но сначала нужно сделать хотя бы между двумя игроками. Попробую разобраться.

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



#5 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 787
  • Уровень сигнала: 46,37%
  • В игре: 398 час. 9 мин.

Награды

                 

Отправлено 24 Июль 2015 - 10:58

Комп не учитывает добивание кораблей и правила одного поля буфера между кораблями? Просто рандомит по полю 10x10?



#6 Оффлайн   Nezn

Nezn
  • Автор темы
  • Пользователи
  • Сообщений: 16
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 24 Июль 2015 - 11:01

Просто рандомит по полю 10x10?
 

Да, я пока думаю над этим



#7 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 780
  • Уровень сигнала: 4,24%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 24 Июль 2015 - 12:35

Сделай так что, если ии попал по твоему кораблю он начал, в соседние клетки стрелять.

#8 Оффлайн   Nezn

Nezn
  • Автор темы
  • Пользователи
  • Сообщений: 16
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 24 Июль 2015 - 13:01

Сделай так что, если ии попал по твоему кораблю он начал, в соседние клетки стрелять.
 

Пока что это в разработке, придумываю оптимальный вариант



#9 Оффлайн   Rab

Rab
  • Пользователи
  • Сообщений: 11
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.
  • Город0xFFAA18

Отправлено 24 Июль 2015 - 13:29

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

Например при промахе ничего не пищать, при попадании пикать весёлым звуком, при победе проигрывать песенку и при поражении тоже песенку, только грустную.

А то сидишь и тыкакшь по экранчику, скучно, а со звуками будет весело, ИМХО.

Сообщение отредактировал Rab: 24 Июль 2015 - 13:33


#10 Оффлайн   Nezn

Nezn
  • Автор темы
  • Пользователи
  • Сообщений: 16
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 24 Июль 2015 - 13:31

проигрывал разные весёлые звуки, и рисовал бы при по беде весолово человечка, а при поражении злого.

Я о возможности проигрывать звуки только что узнал :D 

Попробую что-нибудь придумать, спасибо за идею 



#11 Онлайн   Fingercomp

Fingercomp
  • Гуру
  • Сообщений: 2 015
  • Уровень сигнала: 149,03%
  • В игре: 1279 час. 35 мин.

Награды

                                               

Отправлено 24 Июль 2015 - 16:24

За такую огромную прогу совершенно необходимо выдать статус [V] или даже [VP]!


  • NEO, MineUbuntu, davial и еще 1 это нравится

#12 Оффлайн   Doob

Doob
  • Пользователи
  • Сообщений: 814
  • Уровень сигнала: 17,02%
  • В игре: 146 час. 10 мин.

Награды

                                   

Отправлено 25 Июль 2015 - 06:59

Можно сделать морской бой на дебаг-картах, чтобы корабли выстреливали заряженный TNT и попадания проверялись через testforblock. При определенном проценте повреждений корабль тонет, можно еще добавить возможность перемещать корабли во время боя.

Только есть два минуса - нужна дебаг-карта и много места. Но зато будет намного зрелищней.



#13 Оффлайн   MineUbuntu

MineUbuntu
  • Пользователи
  • Сообщений: 185
  • Уровень сигнала: 4,14%
  • В игре: 35 час. 33 мин.

Награды

     

Отправлено 25 Июль 2015 - 07:08

Можно сделать морской бой на дебаг-картах, чтобы корабли выстреливали заряженный TNT и попадания проверялись через testforblock. При определенном проценте повреждений корабль тонет, можно еще добавить возможность перемещать корабли во время боя.
Только есть два минуса - нужна дебаг-карта и много места. Но зато будет намного зрелищней.

Я один вспомнил рекламу сухариков, когда двое мужиков на замёрзшей реке корабли небольшие из льда сделали, а потом поля заминировали и по очереди взрывали клетки?
----------------
А так, на сервере отключено уничтожение блоков взрывом.

Сообщение отредактировал MineUbuntu: 25 Июль 2015 - 07:10


#14 Оффлайн   evgkul

evgkul
  • Пользователи
  • Сообщений: 369
  • Уровень сигнала: 0,56%
  • В игре: 4 час. 49 мин.

Награды

     

Отправлено 25 Июль 2015 - 07:20

Я один вспомнил рекламу сухариков, когда двое мужиков на замёрзшей реке корабли небольшие из льда сделали, а потом поля заминировали и по очереди взрывали клетки?
----------------
А так, на сервере отключено уничтожение блоков взрывом.

Спавнить неподвижного зомби на каждой клетке и проверять радарами на месте ли зомби

#15 Оффлайн   Doob

Doob
  • Пользователи
  • Сообщений: 814
  • Уровень сигнала: 17,02%
  • В игре: 146 час. 10 мин.

Награды

                                   

Отправлено 25 Июль 2015 - 07:34

Спавнить неподвижного зомби на каждой клетке и проверять радарами на месте ли зомби

 

Смысл? Если есть дебаг-карта, то и разрешение на взрывы можно выпросить))



#16 Оффлайн   evgkul

evgkul
  • Пользователи
  • Сообщений: 369
  • Уровень сигнала: 0,56%
  • В игре: 4 час. 49 мин.

Награды

     

Отправлено 25 Июль 2015 - 08:13

Смысл? Если есть дебаг-карта, то и разрешение на взрывы можно выпросить))


Кстати, есть плагины, позволяющие в одном мире запретить взрывы, а в другом оставить

#17 Онлайн   Fingercomp

Fingercomp
  • Гуру
  • Сообщений: 2 015
  • Уровень сигнала: 149,03%
  • В игре: 1279 час. 35 мин.

Награды

                                               

Отправлено 26 Июль 2015 - 11:46

Кстати, есть плагины, позволяющие в одном мире запретить взрывы, а в другом оставить

Кстати, есть флаг для привата, который позволяет включить взрывы.







Темы с аналогичным тегами opencomputers, lua, 2d, ships, battle, game

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных