Крестики-нолики на Глаголе
|
|
janus | Дата: Среда, 23 Июля 2008, 16:20 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Code (******************************************************************************) (**) ОТДЕЛ Игра; (**) (******************************************************************************) (* НАЗНАЧЕНИЕ: алгоритм игры "Крестики-нолики" *) (* ПРАВИЛА: *) (* Игра идет на квадратном поле 3х3 клетки. Игроки по очереди ставят *) (* в клетках - один крестики (+), второй нолики (о). Выигрывает тот, *) (* кто первым замкнул линию (вертикальную, горизонтальную или диагональную).*) (******************************************************************************)
ВИД Позиция=ЦЕПЬ[10];
ПЕР (* номера клеток в позиции: |0 1 2| *) позиция-:Позиция; (* текущая игровая позиция |3 4 5| *) опозиция:Позиция; (* текущий лучший ход машины |6 7 8| *)
(******************************************************************************) ЗАДАЧА ЕстьЛинияИз(зн:ЗНАК):КЛЮЧ; (* Цель: поиск замкнутой линии в текущей позиции * До: <зн> - вид искомых значков ('+' или 'о') * Ответ: ВКЛ, если в <позиция> есть линия из 3-х <зн> *) УКАЗ ЕСЛИ (позиция[0] = зн) И (позиция[1] = зн) И (позиция[2] = зн) ИЛИ (позиция[3] = зн) И (позиция[4] = зн) И (позиция[5] = зн) ИЛИ (позиция[6] = зн) И (позиция[7] = зн) И (позиция[8] = зн) ИЛИ (позиция[0] = зн) И (позиция[3] = зн) И (позиция[6] = зн) ИЛИ (позиция[1] = зн) И (позиция[4] = зн) И (позиция[7] = зн) ИЛИ (позиция[2] = зн) И (позиция[5] = зн) И (позиция[8] = зн) ИЛИ (позиция[0] = зн) И (позиция[4] = зн) И (позиция[8] = зн) ИЛИ (позиция[6] = зн) И (позиция[4] = зн) И (позиция[2] = зн) ТО ВОЗВРАТ ВКЛ ИНАЧЕ ВОЗВРАТ ОТКЛ КОН КОН ЕстьЛинияИз;
(******************************************************************************) ЗАДАЧА Окончена-():КЛЮЧ; (* Цель: определить конец игры * Ответ: ВКЛ, если достигнут конец игры *) ПЕР n:ЦЕЛ; УКАЗ ЕСЛИ ЕстьЛинияИз("+") ИЛИ ЕстьЛинияИз("о") ТО ВОЗВРАТ ВКЛ КОН; (* если еще можно ходить, то это не конец *) ОТ n:=0 ДО 8 ВЫП ЕСЛИ позиция[n] = " " ТО ВОЗВРАТ ОТКЛ КОН КОН; (* ничья *) ВОЗВРАТ ВКЛ КОН Окончена; (******************************************************************************) ЗАДАЧА Оценить(свои:ЗНАК; alpha,beta,глубина:ЦЕЛ):ЦЕЛ; (* Цель: просчет наилучшего хода методом Alpha-beta отсечения * До: <свои> - свои значки * <alpha> - нижняя оценка * <beta> - верхняя оценка * <глубина> - глубина поиска * Ответ: оценка <позиция> с точки зрения <свои> *) ПЕР чужие:ЗНАК; оценка:ЦЕЛ; естьХод:КЛЮЧ; n:ЦЕЛ; УКАЗ ЕСЛИ свои = "о" ТО чужие:="+" ИНАЧЕ чужие:="о" КОН; ЕСЛИ ЕстьЛинияИз(чужие) ТО (* это наш проигрыш *) ВОЗВРАТ -1 КОН; (* пока не нашли ни одной свободной клетки *) естьХод:=ОТКЛ; (* переберем все клетки позиции *) ОТ n:=0 ДО 8 ВЫП ЕСЛИ позиция[n] = " " ТО естьХод:=ВКЛ; (* сделаем ход *) позиция[n]:=свои; (* и оценим его *) оценка:=-Оценить(чужие,-beta,-alpha,глубина+1); ЕСЛИ оценка > alpha ТО alpha:=оценка; ЕСЛИ глубина = 0 ТО опозиция:=позиция КОН КОН; (* восстановим позицию *) позиция[n]:=" "; (* отсечение *) ЕСЛИ alpha >= beta ТО ВОЗВРАТ alpha КОН КОН КОН; ЕСЛИ естьХод ТО ВОЗВРАТ alpha ИНАЧЕ (* ничья *) ВОЗВРАТ 0 КОН КОН Оценить; (******************************************************************************) ЗАДАЧА Ход-(n:ЦЕЛ); (* Цель: полуход "+" и ответный полуход "о" * До: <n> - куда ходят "+" * После: <позиция> - новая позиция *) ПЕР оценка:ЦЕЛ; УКАЗ позиция[n]:="+"; ЕСЛИ НЕ Окончена() ТО оценка:=Оценить("о",-2,2,0); позиция:=опозиция КОН КОН Ход;
(******************************************************************************) ЗАДАЧА НачатьЗаново-; (* Цель: подготовиться к новой игре *) УКАЗ позиция:=" " КОН НачатьЗаново;
КОН Игра. Вот такой вот язык, мне лично читать даже неудобно. ЗЫ Взято из примеров http://www.glagol.nad.ru/
тсе:\ - отстой home/junus
|
|
| |
GC-Vic | Дата: Среда, 23 Июля 2008, 18:18 | Сообщение # 2 |
GcUp.ru
Сейчас нет на сайте
| Ну это язык программирования, в котором используются русские (слова) команды. Весьма интересная вещь.
Закон Мерфи: "Если вы уверены, что ваш поступок встретит всеобщее одобрение, кому-то он обязательно не понравится".
|
|
| |
janus | Дата: Среда, 23 Июля 2008, 19:26 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| Русская лексика ты хотел сказать? Вопрос был в том, что целесообразно ли это? Ведь в математике мы используем "латинский" язык, а не "кириллицу", хотя несомненно, по синтаксису, он схож с Паскалем.
тсе:\ - отстой home/junus
|
|
| |
Sind | Дата: Среда, 23 Июля 2008, 21:31 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| Вообще-то это не первый и не последний в прямом смысле русский язык программирования. И в Советском Союзе были такие и сейчас есть... но они как раз-таки не были никогда популярны, ни тогда, ни сейчас. Имеют право на жизнь, но выбирать или нет - это уже дело личности. Я на нём пытался программить чуть-чуть, вроде неплохая вещь.
|
|
| |
janus | Дата: Четверг, 24 Июля 2008, 17:04 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Sind, я в 7м классе помню кодил на КуМире, гадость полная, даже бейсик лучше. Хотя конечно это дело вкуса. ЗЫ скажу по секрету таких языков больше 50 штук точно (= Всё таки в СССР жили далеко не дебилы.
тсе:\ - отстой home/junus
|
|
| |
Moonshield | Дата: Четверг, 24 Июля 2008, 22:45 | Сообщение # 6 |
частый гость
Сейчас нет на сайте
| Что то не очень... Не знаю даже что сказать Не впечатлило что ли ?...
GameCreating.org.ru - всё о создании игр!
|
|
| |
Gnomov | Дата: Пятница, 25 Июля 2008, 02:16 | Сообщение # 7 |
Пустота – основа всего...
Сейчас нет на сайте
| Quote (janus) Sind, я в 7м классе помню кодил на КуМире, гадость полная, даже бейсик лучше. Хотя конечно это дело вкуса. ЗЫ скажу по секрету таких языков больше 50 штук точно (= Всё таки в СССР жили далеко не дебилы. не дебилы - это отдназначно. Но были и советские языки на латыни и инглише в частности. А то вы так сказали, мол в СССР разрабатывали языки программирования только на кирилице.
|
|
| |
Krost | Дата: Понедельник, 16 Марта 2009, 19:05 | Сообщение # 8 |
частый гость
Сейчас нет на сайте
| Прога вроде неплохая,но до движка ей далековато...
|
|
| |
Тритон | Дата: Среда, 02 Мая 2012, 17:12 | Сообщение # 9 |
постоянный участник
Сейчас нет на сайте
| Quote (janus) Вот такой вот язык, мне лично читать даже неудобно. А чему удивляться? Русские походу способны хорошо сделать только тот язык, на котором собираются общаться между собой.Добавлено (02.05.2012, 17:12) ---------------------------------------------
Quote (janus) Всё таки в СССР жили далеко не дебилы. скорей не только.
Не всё так плохо, как оно есть на самом деле.
|
|
| |
Matou | Дата: Среда, 02 Мая 2012, 17:14 | Сообщение # 10 |
Исходный коТ
Сейчас нет на сайте
|
Сообщение отредактировал Matou - Среда, 02 Мая 2012, 17:14 |
|
| |
ArtGr | Дата: Среда, 02 Мая 2012, 17:34 | Сообщение # 11 |
старожил
Сейчас нет на сайте
| Quote (Тритон) А чему удивляться? Русские походу способны хорошо сделать только тот язык, на котором собираются общаться между собой.
Мат в качестве ЯП? Это будет оригинально.
По-моему, в языках программирования целесообразно использовать только английский как самый распространенный и привычный. А русский язык программирования - это такая же бессмысленница, как и домен .рф
... ла-ла-ла-ла-ла-ла-ла-ла! :-)
|
|
| |
noTformaT | Дата: Среда, 02 Мая 2012, 18:37 | Сообщение # 12 |
Ukrainian independent game developer
Сейчас нет на сайте
| Русские слова? Вроде бы сейчас все известные яп, начинают поддерживать юникод.... ас3 точно скомпилит код ниже....
var приветМирТекст:String = "мир, привет";
function отобразитьПриветМир():void { trace(приветМирТекст); }
for(var итерратор:int = 0; итерратор < 10; итерратор++) { отобразитьПриветМир(); }
весьма удобно для абфускации...
@noTformaT
|
|
| |
Gavolot | Дата: Среда, 02 Мая 2012, 19:49 | Сообщение # 13 |
Последователь Тени
Сейчас нет на сайте
| noTformaT, ого даже не подозревал)) Тогда я смогу ведь часто упоминаемые вещи объявлять на русском и он его поймет))
В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
Сообщение отредактировал Gavolot - Среда, 02 Мая 2012, 19:50 |
|
| |
JSent | Дата: Среда, 02 Мая 2012, 22:18 | Сообщение # 14 |
постоянный участник
Сейчас нет на сайте
| Перевести в IDE С++ на русский, тоже труда не составит. Но зачем?
Программист — человек, больной тяжёлой формой поражения коры головного мозга — интеллектом, который выражается в маниакально-деструктивном стремлении писать непонятные и бессмысленные наборы символов и словосочетаний.
|
|
| |