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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

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

Наконец, некоторые игры настолько распространены, что я постеснялся их здесь предлагать: такова, например, игра Отелло. Не пытайтесь браться за шашки или шахматы. Слишком трудно!

В этом разделе вам предстоит встретиться с двумя трудностями:

— найти стратегию для компьютера;

— запрограммировать ее.

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

Игра 16.Чтобы войти в курс дела,

Это — крайне простая игра, которую Роуз-Бол [BAL] относит к средневековым играм, поскольку ей действительно более 500 лет.

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

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

ДЛЯ i = 1 ДО 2000 ВЫПОЛНЯТЬ ВЕРНУТЬСЯ)

Вы можете изменить игру, взяв в качестве допускающих изменение данных — начальное число спичек и максимальное число спичек (которое можно вытащить на каждом ходе.

? Игра 17.Игра дат.

Эта игра предложена Берлокеном [BER]. Номер года в ней не очень существен, но предполагается, что год не високосный: в феврале 28 дней. Первый игрок сообщает какую-нибудь дату января. Каждый игрок на своем ходе называет более позднюю дату, увеличивая либо календарную дату в месяце, либо месяц, но не то и другое сразу. Если, например, начальной датой было 8 января, то можно перейти к 8 марта или к 12 января. Можно увеличить меньше: 9 января или 8 февраля; можно перейти сразу к 8 декабря или 31 января. Внимание: если вы переходите к 31 января, то ваш противник сможет в дальнейшем менять только месяцы, и притом лишь месяцы с 31 днем.

Первый, кто доберется до 31 декабря, выигрывает.

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

?** Игра 18.Игра с 24 картами.

Расположим на столе 24 раскрытые карты: все карты с номерами от 1 до 6 обычной колоды, где туз считается за 1. Масти карт несущественны: двойка бубен имеет то же значение, что и двойка треф.

Каждый игрок при своем ходе берет со стола карту и складывает ее значение с суммой тех, которые были взяты ранее [14] Таким образом, подсчитывается общая сумма карт, взятых партнерами, а не отдельные суммы для каждого партнера. — Примеч. ред. . Первый, кто берет в точности 50 очков, выигрывает. Внимание: если при вашем ходе вы, взяв карту, не можете не превысить 50 очков, то вы проиграли. Если, например, ваш партнер увеличил сумму до 49 очков, а все тузы уже взяты, то вы проиграли: карту нужно брать, а ее значение больше единицы.

Это — вариант средневековой игры. Стратегия гораздо сложнее, потому что карт каждого сорта только 4. К этой игре нужно привыкнуть. Сперва компьютер выигрывает все партии подряд (любопытна реакция программиста: я счастлив, что моя программа меня обыгрывает). Но по прошествии нескольких партий уже я выигрываю. Тогда программу нужно улучшить.

?** Игра 19.Игра города Нима.

Ах! Эта нимская игра… кто ее не знает. Существует немало запрограммированных вариантов в большом числе публикаций и обзоров. Читатель может сказать мне, что этой игре здесь не место: если моя цель — заставить читателя программировать, то я проиграл с самого начала.

Ну, нет. Поскольку решения, предложенные в вышеупомянутых книгах (и, поскольку перечитывать их бесполезно, то я их имена и не указываю), очень плохо запрограммированы и совершенно не объяснены. Вам придется сделать лучше. Если вы знаете выигрывающую стратегию, то вам придется ее испытать, чтобы её проверить. Если вы ее не знаете, вы должны попробовать ее изобрести. Во всех случаях нужно программировать очень тщательно, чтобы не делать ненужных вычислений.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x