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

Здесь есть возможность читать онлайн «Жак Арсак - Программирование игр и головоломок» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 1990, ISBN: 1990, Издательство: Наука. Гл. ред. физ.-мат. лит., Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программирование игр и головоломок: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программирование игр и головоломок»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

Программирование игр и головоломок — читать онлайн бесплатно полную книгу (весь текст) целиком

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

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Как и в предыдущих играх, тщательно продумайте способ представления игры, задайте всю необходимую информацию для упрощения программирования. Не позволяйте себе увлечься оптимизацией времени вычислений или объема требуемой памяти. Эта игра должна легко поместиться на любом микрокомпьютере. Работайте аккуратно: если то, что вы запрограммировали, не удовлетворяет правилам игры, то ваша игра нечестная.

Игра 10.

Добавить нечего. Это проще, чем в случае убийц. Вы определяете направление перемещения, которое наилучшим образом приближает робота к игроку (перемещение, которое уменьшает скачки обеих координат). Вы перемещаете робота в этом направлении. Если он попадает в расщелину, то он исключается из игры. Если он попадает на поле другого робота, то он также исключается. Используйте генератор случайных чисел, чтобы решить, помещаете ли вы в углы новых роботов. Например, если случайное число меньше 0,7, то вы ставите нового робота; в противном случае вы не делаете ничего. Это означает, что есть 7 шансов из 10 увидеть появление нового робота…

Игра 11.

Никаких особенных трудностей, если не считать тех, которые связаны с рисунком дороги и положением препятствий. У вас много способов представить игру. Если вы используете таблицу, то факт перемещения фигуры очевидно обязывает вас производить сдвиги. Если вы используете цепочки символов, то дело упрощается. Вы можете, например, состыковывать (конкатенировать) различные строчки (вначале — пробелы, 4 знака (точка, звездочка, 0), код окончания строки) в единую строку, которую вы выводите на экран кусок за куском. Чтобы сдвинуть фигуру, вы убираете некоторое количество кусков в начале (определяемое скоростью) и добавляете столько же в конце. Но это неприемлемо, если ваш компьютер не допускает длинных цепочек (счастливы обладатели LSE1).

Чтобы заставить дорогу повернуть, вы изменяете на i число пробелов в начале. Но не выбирайте случайным образом одно из трех чисел: −1, 0, 1. (Технически это легко. Вы выбираете случайным образом число в интервале (0, 1), скажем x , а затем берете целую часть от (3 * x ), уменьшенную на 1.) Если вы сделаете так, то дорога останется приблизительно прямой с маленькими колебаниями влево или вправо. Задайте фактор поворота принимающий значения −1, 0 или 1. На каждой новой строке вы увеличиваете на t число пробелов в начале. Чтобы изменить t , вы выбираете случайное число. Вы надаете постоянную величину a . Если случайное число меньше a , то вы уменьшаете t на 1, и если это действие дает вам −2, то вы полагаете t равным 1. Если, напротив, случайное число больше, чем 1 − a , то вы увеличиваете t нa 1 и если получаете 2, то заменяете его на −1. Параметр a вы подберете экспериментально.

Для размещения тяжелых грузовиков вы можете случайным образом выбирать целое число в интервале длины, большей 4. Если оно примет значения 1, 2, 3 или 4, то вы помещаете грузовик в соответствующий ряд, а если оно примет большее значение, то препятствия нет. Чем больше выбранный исходный интервал, тем меньше шансов для появления грузовика. Подберите этот параметр экспериментально.

Игра 12.

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

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

Вы выбираете две шашки, скажем a и b , и соединяете их одной из операций:

a + b , ab , a * b , a : b .

Сложение возможно всегда. Что касается вычитания, то с ним дела обстоят так же, если договориться, что мы всегда вычитаем меньшее из большего (это относится к правильному наименованию чисел, или — что то же — к взятию той из двух операций ab или ba , которая дает положительный результат). Заметим, однако, что если a = b , то знак «−» выбирать нельзя.

a * b можно вычислять только тогда, когда ни один из двух сомножителей не равен 1.

a : b ориентировано (как и вычитание). Число b не должно быть равно 1. Остаток при делении должен быть нулевым.

Все это не очень трудно запрограммировать. Вы случайным образом выбираете две шашки. Затем вы случайным образом выбираете знак операции, а если его нельзя использовать — вы повторяете розыгрыш знака. В конце концов вы всегда получите хороший знак…

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Программирование игр и головоломок»

Представляем Вашему вниманию похожие книги на «Программирование игр и головоломок» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Программирование игр и головоломок»

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

x