00 bool A = false 01 bool B = false 19 out(A) // выводим A 20 out(B) // и B
строки программы изменять нельзя но можно добавлять недостающие (с номерами от 02 до 18)
два соперника поочерёдно добавляют по одной строчке (или могут пропускать ход).
выигрыш одного означает проигрыш другого и наоборот.
ещё на своём ходу вместо добавления строчки или пропуска хода игрок может объявить что программа зациклилась. и если он прав, то он выиграл. если нет, то он проиграл.
если все строчки заполнены или если ход был пропущен два раза подряд (один раз одним игроком и сразу после этого другим), программа запускается на исполнение.
если программа выдала различные значения A и B, то выиграл первый игрок. если программа выдала одинаковые значения A и B, то выиграл второй игрок. если программа зациклилась то проиграл тот кто последним добавлял строчку.
добавлять можно строчки такого вида:
Код
dd L= not(L) // d- цифра 0..9, L- переменная A или B dd L = L dd goto dd dd if(L) goto dd // goto посылает лишь на строчки в пределах от 02 до 018 включительно
Конструкции типа А! = В и тому подобные не компилируются. Можно добавлять лишь то, что описано.
2. Количество участников:
Игра рассчитана на двух человек. Допускается возможность ведения параллельной игры, либо играют разные пары игроков.
3. Какой тут ЯП:
используется вымышленный ЯП.
4. Это что-то вроде небольшой логической разминки? Т.е. есть цель и программисты должны её решить кодингом, так?
Именно так.
Сообщение отредактировал Amri - Вторник, 08 Октября 2013, 21:19
00 bool A = false 01 bool B = false 19 out(A) // выводим A 20 out(B) // и B
строки программы изменять нельзя но можно добавлять недостающие (с номерами от 02 до 18)
два соперника поочерёдно добавляют по одной строчке (или могут пропускать ход).
выигрыш одного означает проигрыш другого и наоборот.
ещё на своём ходу вместо добавления строчки или пропуска хода игрок может объявить что программа зациклилась. и если он прав, то он выиграл. если нет, то он проиграл.
если все строчки заполнены или если ход был пропущен два раза подряд (один раз одним игроком и сразу после этого другим), программа запускается на исполнение.
если программа выдала различные значения A и B, то выиграл первый игрок. если программа выдала одинаковые значения A и B, то выиграл второй игрок. если программа зациклилась то проиграл тот кто последним добавлял строчку.
добавлять можно строчки такого вида:
Код
dd L= not(L) // d- цифра 0..9, L- переменная A или B dd L = L dd goto dd dd if(L) goto dd // goto посылает лишь на строчки в пределах от 02 до 018 включительно
Конструкции типа А! = В и тому подобные не компилируются. Можно добавлять лишь то, что описано.
2. Количество участников:
Игра рассчитана на двух человек. Допускается возможность ведения параллельной игры, либо играют разные пары игроков.
3. Какой тут ЯП:
используется вымышленный ЯП.
4. Это что-то вроде небольшой логической разминки? Т.е. есть цель и программисты должны её решить кодингом, так?
я чуть не проиграл: почему-то подумал что LP написал 14 A = not (A) и сделал ход : 16 if (A) goto 5
но потом увидел что там стоит 14 A = not(B) и в ответ на мой ход LunarPixel мог бы объявить, что прога зациклась и выиграл бы.
поэтому срочно исправил свой ход на 16 if(B) goto 5 . смысла не много, но хотя бы не зацикливается.
Добавлено (08.10.2013, 20:11) --------------------------------------------- LunarPixel, там вышла накладка. ну ладно. если ты ответил не заметив моего исправления то так пусть и будет.
но вообще ты тем ходом мог тогда выиграть.
надо бы как-то учесть в правилах исправления, чтобы такие как я не мухлевали ))
noname, упустил момент с объявлением зацикливания ) исправил ) дабы не захламлять, пока левые сообщения буду делить. Чтобы хоть одну игру можно было четко проследить )
под этим спойлером другая ветка которая не случилась:
00 bool A = false 01 bool B = false 02 goto 6
05 A = B 06 goto 17
14 A = not (B)
16 if (A) goto 5
19 out(A) // выводим A 20 out(B) // и B
мой ход: я пасую...
и да- чего-то в этом духе я опасался.. игра грозит безумно и бессмысленно затянуться. в следующей версии правил безусловного перехода не будет. и играть лучше для начала на строчках 00-10 а не 00-20
а под этим спойлером полезное сообщение:
Цитата (LunarPixel)
noname, упустил момент с объявлением зацикливания ) исправил ) дабы не захламлять, пока левые сообщения буду делить. Чтобы хоть одну игру можно было четко проследить )
а момент был такой:
Цитата (Amri)
ещё на своём ходу вместо добавления строчки или пропуска хода игрок может объявить что программа зациклилась. и если он прав, то он выиграл. если нет, то он проиграл.
то есть- если вы считаете что вот эта недописанная программа зациклится если её запустить, то можете объявить об этом и выиграть. и это правило необходимо для спасения от таких ситуаций, когда игру уже нельзя спасти от зацикливания, а крайним окажется тот кто поставил последнюю строчку.
если правила не нравится- можно обсуждать. но мне кажется, что правило про объявления зацикливания и интереса тоже добавляет: приходится быть внимательным всю игру, а не только в конце.
во-вторых, нельзя допускать строчки вида: A = B или A = not ( B ) иначе одна такая строчка на 18-й позиции полностью определяет кто выиграет ( если только игра не зациклится ).
ну и новые правила проще. если всё будет нормально, можно будет усложнять. количество строчек пока оставляю такое же, хотя руки очень чешутся сократить их до 00..10.
старые правила надо оставить, чтобы было понятно, по каким правилам велась игра. ну может снести их куда-нить в другое сообщение.
LunarPixel, старые правила надо снести в твоё первое сообщение, чтобы получилось, что правила идут до начала игры.
а в конце новых правил дать ссылку на ЭТО сообщение. все игры после этого сообщения будут по новым правилам, а если правила изменятся, то в этом сообщении всё равно останутся видны правила, по которым велись игры начиная отсюда и далее.
то есть в теме есть шапка с последней версией правил и далее-> старые правила-> игра по этим правилам-> другие правила-> игра по этим правилам.... самые новые праила-> игры по этим правилам.
и в шапке темы пусть будет ещё и ссылка на последнюю версию правил.
по-моему нормально будет если так всё организовать: будет видна вся история игр.
00 bool A = false 01 bool B = false 19 out(A) // выводим A 20 out(B) // и B
строки программы изменять нельзя, но можно добавлять недостающие (с номерами от 02 до 18)
два соперника поочерёдно добавляют по одной строчке (или могут пропускать ход).
выигрыш одного означает проигрыш другого и наоборот.
ещё на своём ходу вместо добавления строчки или пропуска хода игрок может объявить что программа зациклилась. и если он прав, то он ВЫИГРАЛ, если он не прав, то он ПРОИГРАЛ.
если все строчки заполнены или если ход был пропущен два раза подряд (один раз одним игроком и сразу после этого другим), программа запускается на исполнение.
если программа выдала различные значения A и B, то ВЫИГРАЛ первый игрок. если программа выдала одинаковые значения A и B, то ВЫИГРАЛ второй игрок. если программа зациклилась то ПРОИГРАЛ тот кто последним добавлял строчку.
добавлять можно только такие строчки:
dd A = not(A) dd B = not(B) dd if(A) goto dd // goto посылает лишь на строчки в пределах от 02 до 018 включительно dd if(B) goto dd
d - любая цифра ( 0..9 )
ВАЖНО: если вы уже походили- не редактируйте сообщение- это может вносить ужасную путаницу. лучше напишите своему сопернику сообщение с просьбой разрешить вам переходить и если он разрешит- пишите сообщение с другим ходом. редактировать сообщения не надо. самовольное перехаживание недопустимо.
2. Количество участников:
если вы внимательно читали правила, то вам очевидно, что игра рассчитана на двух человек. но можно вести параллельные сеансы игры. главное- не запутаться кто с кем играет и кто кому шлёт ответный ход.
3. Какой тут ЯП:
используется вымышленный ЯП.
4. Это что-то вроде небольшой логической разминки? Т.е. есть цель и программисты должны её решить кодингом, так?