русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-06-12; просмотров: 687; Нарушение авторских прав


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

 

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

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

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

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

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

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

 

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

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

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

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

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



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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

 

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

 

 

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

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

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

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

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

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

· Снаряд

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

 

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

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

 

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

 

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

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

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

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

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

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

 

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

 

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

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



<== предыдущая лекция | следующая лекция ==>
Нерассмотренные возможности Visual Basic | Что такое компьютер. Первое представление о программе.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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