|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.12.2013, 16:16 | #1 |
Новичок
Джуниор
Регистрация: 06.12.2013
Сообщений: 1
|
морской бой на два человека (с++)
помогите с заданием пожалуйста!!!!;
Игра «Морской бой» Общая идея игры. Каждый игрок расставляет свои корабли на поле 10х10 клеток. Координаты клеток описываются парой чисел – номер столбца и номер строки. Левый верхний угол имеет координаты 0,0. Количество кораблей: Один четырёхпалубный (4 клетки) Два трёхпалубных (3 клетки) Три двухпалубных (2 клетки) Четыре однопалубных (1 клетка) Каждый корабль может располагаться либо по горизонтали, либо по вертикали. Корабли не могут касаться друг друга никакими частями. В свой ход игрок указывает координаты клетки, по которой он стреляет. Возможно три исхода стрельбы: 1. Промах если в указанной клетке нет никакого корабля. В этом случае ход передается другому игроку. 2. Ранен если выстрел попадает в корабль, состоящий из нескольких клеток, и при этом после попадания остается хотя бы одна клетка этого корабля, в которую не было попадания. В этом случае право выстрела остаётся у стрелявшего игрока. 3. Убит если игрок попадает в однопалубный корабль, или после попадания в многопалубный корабль все клетки корабля подбиты. Право выстрела остаётся у стрелявшего игрока. Победителем считается игрок, уничтоживший все корабли противника. Техническая реализация. Написанная программа игрока должна иметь имя Client.exe. Она должна быть расположена либо в подпапке 1, либо в подпапке 2 серверной папки. В другой папке соответственно будет находится программа соперника, которая тоже должна иметь имя Client.exe. Сервер будет сам по очереди запускать программы клиентов. При первом запуске программа игрока должна создать в своей папке файл расположения флота Сraft.txt следующего формата: 0000000000 1001110000 1000000100 0000000000 1001100100 1000000000 0000100000 1000101000 1000100001 1000100000 где 1 показывает наличие сектора корабля, 0 - его отсутствие. Требования к расположению кораблей описаны выше, в случае неправильного расположения сервер выдаст ошибку. Внимание: При каждой новой игре должно создаваться новое поле игры, то есть расстановки должны быть псевдослучайны (случайны, но с учетом построенного авторами интеллекта). Не допускается использование заранее созданных расстановок, даже если их количество велико. При своем ходе игрок считывает информацию из файла result.txt и записывает координаты выстрела в файл command.txt. После выполнения хода программа игрока должна прекратить свою работу. Программа может создавать при работе произвольное количество файлов для сохранения необходимой информации между запусками программы (каждый ход – новый запуск программы). Программа должна выполнить ход и завершить работу не более чем через полсекунды от момента запуска. Ход игрока записывается в файл command.txt одной строкой, в которой указана пара чисел, разделенных запятой, координаты клетки по которой производится выстрел (не забывайте закрыть файл). В файле result.txt может быть следующая информация: • Если результат выстрела Убит, то в файле result.txt одна строка, в которой записано число 2. • Если результат выстрела Ранен, то в файле result.txt одна строка, в которой записано число 1. • Если результат выстрела Промах, то файл result.txt будет иметь следующую структуру: В первой строке будет записано число 0. Во второй строке будет записано число N (количество ходов, сделанных противником). В следующих N строках будут записаны координаты выстрелов противника. Программа может быть написана на любом языке программирования. На соревнование предоставляются как исполняемый файл, так и исходные тексты программы. Указывается язык программирования и версия компилятора. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Морской бой | flutt | C++ Builder | 10 | 12.10.2017 16:57 |
морской бой | Alexander1205 | Общие вопросы C/C++ | 0 | 21.06.2011 22:24 |
Морской Бой | Liska-Melisska | Microsoft Office Excel | 9 | 29.12.2008 00:11 |
Морской бой | flutt | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 6 | 17.04.2008 22:40 |