Unknown - haskell-notes

Здесь есть возможность читать онлайн «Unknown - haskell-notes» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Старинная литература, на английском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

haskell-notes: краткое содержание, описание и аннотация

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

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

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

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

Интервал:

Закладка:

Сделать

wherepost id =showLabel $board !id

showLabel n

=cell $show $ casen of

15 ->0

n

->n +1

cell ”0”

=

cell [x]

=’ ’ :’ ’ :x :’ ’ :[]

cell [a,b] =’ ’ :a :b :’ ’ :[]

line =”+----+----+----+----+\n”

nums =((space ++”|”) ++) .foldr (\a b ->a ++”|” ++b) ”\n” .

map post

column i =nums $map (\x ->(i, x)) [0 ..3]

space =”\t”

Теперь мы можем загрузить модуль Loopв интерпретатор и набрать play. Немного отвлечёмся и поигра-

ем.

Prelude> :l Loop

[1 of2] Compiling Game

( Game.hs, interpreted )

[2 of2] Compiling Loop

( Loop.hs, interpreted )

Ok, modules loaded : Loop, Game.

*Loop>play

Привет! Это игра пятнашки

+----+----+----+----+

|

1 |

2 |

3 |

4 |

+----+----+----+----+

|

5 |

6 |

7 |

8 |

+----+----+----+----+

|

9 |10 |11 |12 |

+----+----+----+----+

|13 |14 |15 |

|

+----+----+----+----+

Возможные ходы пустой клетки:

left

илиl

-- налево

right

илиr

-- направо

up

илиu

-- вверх

down

илиd

-- вниз

Другие действия:

new int

илиn int -- начать новую игру, int - целое число,

указывающее на сложность

quit

илиq

-- выход из игры

Начнём новую игру?

Укажите сложность( положительное целое число) :

5

+----+----+----+----+

|

1 |

2 |

3 |

4 |

+----+----+----+----+

|

5 |

6 |

7 |

8 |

+----+----+----+----+

Пятнашки | 213

|

9 |

|10 |11 |

+----+----+----+----+

|13 |14 |15 |12 |

+----+----+----+----+

Ваш ход:

r

+----+----+----+----+

|

1 |

2 |

3 |

4 |

+----+----+----+----+

|

5 |

6 |

7 |

8 |

+----+----+----+----+

|

9 |10 |

|11 |

+----+----+----+----+

|13 |14 |15 |12 |

+----+----+----+----+

Ваш ход:

r

+----+----+----+----+

|

1 |

2 |

3 |

4 |

+----+----+----+----+

|

5 |

6 |

7 |

8 |

+----+----+----+----+

|

9 |10 |11 |

|

+----+----+----+----+

|13 |14 |15 |12 |

+----+----+----+----+

Ваш ход:

d

+----+----+----+----+

|

1 |

2 |

3 |

4 |

+----+----+----+----+

|

5 |

6 |

7 |

8 |

+----+----+----+----+

|

9 |10 |11 |12 |

+----+----+----+----+

|13 |14 |15 |

|

+----+----+----+----+

Игра окончена.

Ураа, получилось. Мы так долго писали программу, проверяя лишь типы, и в самом конце, когда мы

закончили определение, всё работает. Конечно не всё работает так гладко, я уже написал эту программу и

объясняю готовое решение, но когда общая схема программы утряслась, возможные ошибки определяются

на раз. Мы могли вызвать отображение позиции не в том порядке или забыть проверку конца игры, всё это

несколько строчек изменений.

Самые неприятные ошибки происходят, когда в середине выясняется, что мы ошиблись с типами. Типы,

которые мы выбрали не могут описать явление, возможно мы не можем делать какие-то операции, которые

нам, как неожиданно выяснилось, очень нужны. Это значит, что нужно менять каркас. Менять каркас, это

значит сносить весь дом и строить новый. Возможно разрушения окажутся локальными, мы строим не дом,

а город. И сносить придётся не всё, а несколько кварталов. Но это тоже большие перемены. Поэтому шаг

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

Интервал:

Закладка:

Сделать

Похожие книги на «haskell-notes»

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


Отзывы о книге «haskell-notes»

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

x