КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Миг между прошлым и будущимВот и все. На этом изложение программирования на Паскале я заканчиваю. Того, что вы знаете, вполне достаточно для программирования любых задач из любой сферы человеческой деятельности. Дальнейшее изучение Паскаля позволит вам составлять более эффективные программы, имеющие новые возможности в смысле использования объектов, богатства цветов, быстрой работы с графикой и т.п. Если вы решите стать профессиональным программистом, то будете работать с современными версиями языков программирования, такими как Delphi, и узнаете, что они полностью объектно-ориентированы и имеют богатый набор «модулей», предназначенных для удобного решения часто встречающихся типов задач, таких, например, как управление базами данных, создание окон и кнопок на экране и т.п. По сути, настолько удобного решения, что программу для этих задач компьютер пишет сам, а программист только задает исходные данные. Однако, писать программный текст вам придется все равно.
А теперь я хочу предложить вам задание 135 и последнее на звание «Программист-любитель II ранга». На выбор – одно из трех: · Игра в морской бой · Игра в крестики-нолики на бесконечном поле · Игра в шашки Во всех трех программах игра должна вестись между человеком и компьютером. Правила морского боя и шашек общеизвестны. Правила крестиков-ноликов на бесконечном поле такие же, как и у крестиков-ноликов на поле 3 на 3, с тем отличием, что в линию нужно выстроить не 3, а 5 ноликов или крестиков. Конечно, запрограммировать игру на бесконечном поле довольно трудно, поэтому рекомендую ограничиться полем 20 на 20 или 10 на 10.
Требования и рекомендации к программам: · Компьютер должен обнаруживать незаконное расположение кораблей, незаконные ходы в крестики-нолики и в шашки. · Компьютер должен вести счет партий и отображать его на экране · Компьютер должен обеспечить возможность сохранения игры и загрузки сохраненной игры · Удобный интерфейс. В частности, человек должен иметь возможность легко делать ходы шашками, расставлять корабли, ставить нолики или крестики (например, при помощи клавиш передвижения курсора и клавиши пробела) · При нажатии на клавишу F1 любая порядочная программа предлагает помощь. В вашем случае достаточно показать правила игры · Неплохо сделать в углу экрана управляемое с клавиатуры меню с такими, примерно, пунктами: сохранить игру, загрузить игру, выход из игры, помощь. · Для того, чтобы не было игр-близнецов, ходы компьютера не должны быть железно заданы. Например, свои корабли компьютер должен располагать от игры к игре с разумной долей случайности, чтобы человек не мог легко догадаться, где будут стоять корабли в следующей игре. То же относится к выстрелам, ходам в крестики-нолики и в шашки. · Рекомендации по выбору уровня сложности стратегии: В морском бое стратегия компьютера должна быть очень сильной, чтобы человеку было трудно у него выиграть. В крестиках-ноликах стратегию компьютера затруднительно сделать очень сильной. Достаточно, если компьютер будет обнаруживать простейшие угрозы человека: четверки с одним свободным концом и тройки с двумя свободными концами - и сам стремиться к их созданию. Что касается шашек, то шашечного чемпиона сделать очень трудно. Достаточно, если компьютер не будет бестолку подставлять свои шашки под бой. Правила шашек упростите – например, откажитесь от дамок.
Любая из этих задач достаточно сложна и потребует многих дней напряженной работы. Если вам кажется, что вы не сможете удовлетворить всем перечисленным в задании требованиям, потому что «мы этого не проходили», то я вам заявляю – все, что нужно, мы проходили! Нужно только немножко подумать. У вас есть все шансы сделать так, что программа в морской бой будет играть очень сильно, а значит, может приобрести популярность во всем мире, так как при выполнении всех требований задания у нее будет достаточно «товарный» вид. В принципе, если вы очень постараетесь со стратегией, то сможете достигнуть того же и в крестики-нолики. Желаю успеха!
|