Написать игру размером в твит или знай наших!

Утро началось в маршрутке со статьи в «хакере» на тему того, что какой-то чувак бросил вызов девелоперам мира сия на предмет «а слабо ли сделать игру размером в твит?». И  что вроде как кое-кому даже это удалось. Дома, с рабочего компьютера я поковырял тему глубже — оказывается, что предоставленная игра — «игрой» по сути не является. Можете попробовать сами: твит. Суть такова — тыкать в крестик и не промахиваться. Но я не знаю при каких обстоятельствах можно промахнуться по крестику, поэтому игра.. она теоретически влезла в твит, но игра ли это — большой вопрос.

Параллельно я вспомнил про реализацию игры «угадай число», которую я писал на qbasic лет так 16 назад. Суть такова: компьютер загадывает число и предлагает пользователю угадать. Если введённое число больше загаданного — компьютер пишет «загаданное число меньше» и т.д. Параллельно считая количества попыток на угадывание и т.д.. Вот эту вот задачу я и попытался втиснуть в твит. Понадобилось чуть более получаса, чтобы я всунул всё-таки всё, что планировал всунуть без особого вреда к геймплею 🙂

Итак, код моей фантастической игры размером в 139 символов (а это означает, что на ещё один байт можно ой как разгуляться):

static void Main(){int n=new Random().Next(100);int v=-1;while(v!=n){v=int.Parse(Console.ReadLine());Console.Write(v==n?’W’:v>n?'<‘:’>’);}}

Соответственно, размещёно и здесь. Данный код являет собой консольное приложение, написанное на C# и выглядит всё это примерно так:

C# Console

C# Console

Фидбек от автора запроса был получен скромным «фавом«, но буду считать, что задачу выполнил:

UPD:

Оказывается задача была сделать игру на JS, ну я потратил времени ещё меньше. Код вышел следующим (здесь получилось сделать всё за 130 символов):

<script>var c=Math.floor(Math.random()*100)+1;function r(v){alert(v==c?»w»:v>c?»<«:»>»);}</script><input onchange=r(this.value);>

Эта фантастическая игра доступна здесь.

Написать игру размером в твит или знай наших!: Один комментарий

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

Ваш e-mail не будет опубликован.