Що я хотів би побачити, - це ваші спроби написати якусь "історію", яка має досить простий у читанні сенс, але також створює дійсний фрагмент коду. Наприклад, цей (BBC) базовий код:
LET customer = "sober"
REPEAT
INPUT "more beer"
UNTIL customer = "drunk"
(на основі http://img.rakuten.com/PIC/12184048/0/1/300/12184048.jpg для ідеї)
Правила:
- Код повинен бути дійсним на вказаній вами мові - будь-хто повинен мати змогу запускати його, не створюючи фантазії
- Рядки, коментарі чи будь-що, що дозволяє додавати вільний текст до коду, можна використовувати, але щонайбільше 3 слова на рядок (і ви не можете розміщувати кілька рядків або коментарів у рядку)
- Ваш код не повинен приводити до будь-якого розумного виводу при його виконанні. Це навіть може бути нескінченний цикл, якщо код дійсний і він представляє щось розумне (*), коли читається англійською мовою.
- Будь-яке перекреслення у вашому коді буде ігноровано в історії.
- Змінні не потрібно визначати. Код, який ви вводите тут, - лише фрагмент коду . Ви втратите 5 балів за виклик невизначеної змінної / ключового слова / мітки / тощо. хоч.
- за кожне окреме вбудоване ключове слово / заяву / функцію / тощо, яке ви використовуєте, ви отримуєте 15 балів . До них належать
for
іif
, але також вбудовані функції, такі якreplace()
. Бібліотеки не вважаються вбудованими функціями, але ви можете ними користуватися. - за кожну букву, цифру або підкреслення в коді ви отримуєте 1 бал .
- за кожен рядок / блок коду, який не має відношення ( ) до історії, або використовує ключові слова / висловлювання / тощо без значення ( ) англійською мовою, ви втрачаєте 20 балів , а залучені символи не зараховуватимуться до 1 бала за букву / число. Щоб зробити це справедливим до тих мов, які потребують типів даних, як-от
int
при визначенні змінних, типи даних повністю ігноруються. Це означає, що вони не отримують 10 балів за ключове слово, вони не отримують балів за залучені символи, але вони також не спричиняють втрати балів. - Не дозволяється просто зробити щось дійсне англійською мовою, вставивши коментар для "заповнення пробілів".
- Оскільки це змагання за популярність , за кожну інформацію, що ви отримаєте, ви отримаєте 25 балів .
- Обов’язково вкажіть, на якій мові використовується ваш код, та формулу, за якою ви рахували кількість балів, отриманих вашою відповіддю.
- Відповідь з найбільшою кількістю балів, використовуючи цю систему вище, виграє.
- Використовуючи цю систему, наведений вище приклад коду отримає
4*15 + 53*1 = 113
початкові бали.
(*) Над-analysation / об'єктивізації частина: зберегти це якомога більш об'єктивним, «розумний» або «не пов'язані» означає наступне: Якщо шматок коду використовує слова, що не на англійській мові, це не діє (наприклад, const
чи int
є не англійські слова, але foreach
або typeof
2 англійські слова злиті, так що це нормально). Крім того, навіть якщо ви використовуєте дійсні англійські слова, такі як print
або echo
, вони повинні відповідати історії з оригінальним значенням (так, "нанесення фарби на папір" і "відображення звуку", а не "показ на екрані"). І маючи на увазі, я маю на увазі, що тема історії повинна бути пов’язана з нею.
Я сподіваюся, що ця остання "відмова від відповідальності" відповідає вимозі визначення об'єктивних критеріїв.