Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Миг между прошлым и будущим




Вот и все. На этом изложение программирования на Visual Basic я заканчиваю. Того, что вы знаете, вполне достаточно для программирования большинства задач из любой сферы человеческой деятельности. Дальнейшее изучение Visual Basic позволит вам составлять более эффективные программы, имеющие новые возможности в смысле использования объектов, работы с базами данных, Интернетом и т.д.

 

Дорогой друг! Вы вполне созрели для того, чтобы выполнить задание на звание «Программист-любитель II ранга». На выбор – одно из трех:

· Игра в морской бой

· Игра в крестики-нолики на бесконечном поле

· Игра "Танковый бой".

Во всех трех программах игра должна вестись между человеком и компьютером.

Правила морского боя без компьютера общеизвестны. Вы с приятелем тайком друг от друга рисуете на листочках в клетку квадратные "моря" размером 10 на 10 клеток, обозначаете строки буквами, а столбцы цифрами и расставляете свои корабли. Стреляете по очереди, называя координаты квадратика, куда производится выстрел. Правила крестиков-ноликов на бесконечном поле такие же, как и у обычных крестиков-ноликов на поле 3 на 3, с тем отличием, что в линию нужно выстроить не 3, а 5 ноликов или крестиков. Между прочим, очень приятная игра. Конечно, запрограммировать игру на бесконечном поле довольно трудно, поэтому рекомендую ограничиться полем 20 на 20. Правила танкового боя приведу чуть ниже.

 

Требования к первым двум играм:

· Компьютер должен обнаруживать незаконное расположение кораблей и незаконные ходы в крестики-нолики.

· Компьютер должен вести счет партий и отображать его на экране

· Компьютер должен обеспечить возможность сохранения игры и загрузки сохраненной игры

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

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

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

· Рекомендации по выбору уровня сложности стратегии: В морском бое вы вполне сможете сделать стратегию компьютера очень сильной, чтобы человеку было трудно у него выиграть. А вот в крестиках-ноликах стратегию компьютера сделать очень сильной затруднительно. Достаточно, если компьютер будет обнаруживать простейшие угрозы человека: четверки с одним свободным концом и тройки с двумя свободными концами - и сам стремиться к их созданию.

· Ни в той, ни в другой игре нет особой нужды использовать объекты пользователя.

 

А вот правила танкового боя.

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

Если ваш личный танк врежется в любой другой танк, то он погибнет, остальные танки при столкновении не погибают.

В бою побеждает сторона, уничтожившая все танки противника. При этом неважно, погиб ваш личный танк или нет.

Необязательные правила: Вы можете выбрать любой из трех типов игры:

1 - Простая игра. В случае победы в бою вы переходите на следующий уровень. Всего в игре 12 уровней, различающихся числом снарядов у вашего танка и числом рядов на поле боя. Число снарядов у остальных танков очень большое. Сохраняться в простой игре нельзя.

2 - Произвольная игра. Здесь нет уровней. Число снарядов и число рядов вы настраиваете сами.

3 - Трудная игра. Уровни те же, что и в простой игре, но для перехода на следующий уровень мало просто победить в бою, надо победить убедительно.

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

Отчаявшись пройти уровень в трудной игре, вы можете перейти на тот же уровень в простой.

 

Когда я программировал эту игру, я не заботился о красоте и занимательности. Это - хотя и большая, но всего лишь учебная задача на использование объектов. Улучшайте игру и ее правила, как вам заблагорассудится.

 

 

Советы по программированию. Первые две игры не требуют объектов, третья требует. Правда, в морском бое вполне можно создать массив объектов "Корабль". Хоть корабли и неподвижны, но так, возможно, будет проще анализировать игру. Не знаю, не пробовал.

В первых двух играх информацию о ходе игры удобно представлять в двумерных массивах, в третьей игре это не нужно.

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

В танковой битве объектами будут:

· Танк под управлением компьютера

· Танк под управлением человека

· Снаряд

Для простоты запретите танку стрелять, пока его снаряд от предыдущего выстрела все еще летит. Тогда размер массива снарядов не превысит размер массива танков.

 

Любая из этих задач достаточно сложна и потребует многих дней напряженной работы. В книге таких сложных задач я не программировал. Если вам кажется, что вы не сможете удовлетворить всем перечисленным в задании требованиям, потому что «мы этого не проходили», то я вам заявляю – все, что нужно, мы проходили! Нужно только как следует подумать над самым важным: над представлением информации об игре и над алгоритмами, по которым компьютер будет делать ходы.

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

 

Желаю успеха!

 

Приложение 1. Необходимые сведения о компьютере и программе

В этой части излагаются на уровне "для начигающего" следующие вещи:

· Что такое программа. Что такое цикл, ветвление, процедура, и какая от них польза.

· Принцип действия компьютера и его устройств: оперативной памяти, принтера, винчестера и других.

· Взаимодействие устройств во время работы компьютера.

· Принципы кодирования информации в разных устройствах компьютера.

 

Если что-то из вышеупомянутого вам знакомо, вы можете это пропустить или прочитать "по диагонали".

 

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

Если вы ничего не знаете о компьютере и программе, начинайте читать книгу именно с этой части..

Глава 24. Первое представление о компьютере и программе

 




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 377; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.