А2: Прототип 2

Выложен второй прототип (см. папку «про2» в https://gitflic.ru/project/alekseinedoria/a2).

Это игра крестики-нолики, которая состоит из

  • инструмента «Движок»
  • инструмента «Доска»
  • и двух игроков, каждый представлен верстаком и инструментом «Игрок».

Движок запрашивает создание доски, подключает игроков и далее дергает игроков, чтобы они сделали код. Оба игрока сейчас реализованы одним инструментом (примитивным) и результат игры всегда ничья (что и должно быть на поле 3х3). Я не пытался сделать разумную стратегию игры (мне лень на это отвлекаться), так как прототип не для этого. Он показывает схему и динамическое взаимодействие.

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

В этом файле вывод программы, в начале вывода — показана схема.

В этом прототипе я ставил задачу воспроизвести (в общем) устройство Вира, но на языке обеспечивающем безопасность типов. Дальше собираюсь сделать прототип с использованием утиных интерфейсов/протоколов (duck-typing interfaces). Этот прототип будет умозрительным, так как добавлять протоколы в Тривиль я пока не собираюсь, задача, скорее, прикинуть, что нужно добавлять в компонентный язык.

И еще думаю над тем, на каком проекте имеет смысл обкатывать компонентный язык/подход. Вот, думаю, замахнутся сразу на IDE, но тогда надо делать поддержку GUI, желательно посредством декларативного языка + графический движок.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *