Программирование игр и головоломок [Жак Арсак] (fb2) читать постранично


 [Настройки текста]  [Cбросить фильтры]

Жак Арсак Программирование игр и головоломок

Предисловие

«Играйте с компьютером, это захватывает…»

«Нет ничего увлекательнее создания собственных компьютерных игр»…

Это — два привлекательных лозунга, взятые из рекламы микрокомпьютеров. Поэтому самое существенное — это создавать игру.

КТО САМ ПРОГРАММИРУЕТ СВОИ КОМПЬЮТЕРНЫЕ ИГРЫ, НАСЛАЖДАЕТСЯ ДВАЖДЫ[1]

Я уже проводил небольшое расследование в SICOB в 1984 году. Во многих торговых предприятиях я представлялся как отец, который хочет подарить своему сыну микрокомпьютер. Мне объяснили, что именно нужно купить и во сколько это мне обойдется. Затем я спрашивал об играх. И вот что, приблизительно, там происходило.

«—Так он сможет со всем этим играть?

— Да нет же, месье. Чтобы он мог играть с компьютером, он должен покупать кассеты с играми.

— Кассеты с играми? Я думал, что компьютер… А сколько стоит кассета?»

Продавец называет мне цену, которую вы, должно быть, знаете. Я отвечаю:

«— И сколько игр на кассете?

— Одна, месье.

— Но тогда двадцать игр стоят дороже самой машины! А я слышал от сведущих людей, что на компьютере интереснее всего создавать игры самому.

— Для этого, месье, нужно уметь программировать.

— Но по телевизору твердят, что это очень просто. Мой сын, должно быть, может научиться?

— Да, месье. У нас есть кассета с Бейсиком.

— Кассета с Бейсиком! Бейсик — это и есть программирование?

— Нет, месье. Чтобы уметь программировать, нужна еще вот эта кассета с языком ассемблера…»

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

«— Да, это так. Но эти игры плохо сделаны. Они не являются профессиональной работой, как наши кассеты, где вывод изображения на экран тщательно отработан. Кроме того, очень неприятно набирать тексты этих игр на клавиатуре. Так что все это не очень серьезно, что бы об этом ни говорили…»

На этот раз я поверил, что мне говорят правду. Опубликованные таким образом игры весьма посредственны по качеству. Я не поленился внимательно прочесть некоторые из них (см., например, головоломку 28). Чаще всего они плохо составлены и так плохо прокомментированы, как будто автор хочет помешать читателю понять их. Стратегия этих игр иногда более чем примитивна: я видел игру ТИК—ТАК—ТОК, где компьютер случайным образом выбирал свой игровой ход… Это издевательство над читателями!

Во всем этом совершенно отсутствует творчество. Реклама трубит: «Создавать — это увлекательно!». Но на практике все делается так, как будто подростки неспособны что-либо создавать. И им не помогают начать делать что-нибудь творческое.

Чтобы восполнить этот пробел, я и написал эту книгу. Многие подростки обучены программированию — в лицее (причем не только в таких лицеях, которые официально предоставляют обучение со специализацией по информатике, устраивая курсы по программированию), в клубах и на каникулах — с родителями, с друзьями, по книгам… Но вот что программировать на компьютере? Игры? Какие? Примеры, публикуемые в журналах и книгах, непонятны. Как они могут хоть на что-то вдохновить? А если и посмотреть вокруг, что можно найти? Шахматы, Отелло, вошек? Это слишком трудно…

Поэтому я собрал здесь описания некоторых игр, которые есть в продаже, чаще всего на Бейсике, для которых не нужны графические возможности компьютера. Я сам все эти игры реализовал на микрокомпьютере, имеющем только алфавитно-цифровой черно-белый экран и не имеющем ни светового пера, ни мыши, ни планшета. Трудность программирования обозначается звездочками «*». Начинайте с игр без звездочек. К остальным вы перейдете позже. Каждая игра допускает многочисленные вариации, которые вы легко изобретете.

Для того чтобы менее мужественные читатели могли избежать искушения сразу же читать все подробности изготовления программ, в первой части книги условие игры обычно излагается вместе с некоторыми указаниями. Если этих указаний вам недостаточно, иначе говоря, если после размышления и возможных обсуждений с товарищами вы не видите, как тронуться с места, вас выведет из затруднений «первая помощь». Если же вы опять упретесь в какую-нибудь трудность, то третья часть книги должна позволить вам достичь цели. Смелее вперед: СОЗДАВАЙТЕ.

Игры привлекательны не только для молодых людей от 14 до ? (а до скольких?). Я знаю многих взрослых, любящих играть (и сам люблю). У меня много коллег, для которых программирование и есть игра — как для меня. Я написал эту книгу для всех молодых людей от 14 до 77 лет, которые любят играть с компьютером или которые любили бы это делать, если бы средство для этого им было предоставлено.

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