У моїх свекрух є рибник на своєму подвір’ї, заповнений коєм. Мені це не прийшло в голову, поки я не помітив наступного витягу з мого коду.
',') & '_'
... У мене риб'ячі обличчя дивилися на мене з мого екрану ...
Що дало мені чудову ідею ...
Моє прагнення до вас, мої шановні гольфісти, - створити однолінійний акваріум ASCII з такими правилами:
- Розмір акваріума від сторони танка до іншої сторони резервуара повинен бути не менше 60 символів і не більше 80 символів. Сторони бака повинні бути зазначені за допомогою
|
символу труба / бар ( ). - Риба повинна вміти «плавати» зліва направо між сторонами резервуара. По мірі їх повороту потрібен вид спереду для переходу з одного напрямку в інший.
Риба повинна виглядати наступним чином:
}}< }} ',')
Риба плаває правильно(',' {{ >{{
Риба плаває зліва}}('_'){{
Риба звернена спереду
Коли риба обертається, щоб змінити напрямок (шанс 30%), вона повинна починати з одного напрямку, лицьовою стороною, а потім другою стороною ... Переконайтеся, що для повороту риби є достатньо місця, тобто потрібно шість пробілів перед край танка мінімум ...
- Якщо риба не пустить міхур або не змінить напрямок, вона продовжить у напрямку, до якого вона стикається, якщо потрапить в межах шести просторів збоку танка, вона змінить напрямок.
- Риба (звернена ліворуч або праворуч) може при нагоді (10% шансу) припиняти пускати бульбашки поспіль (
.oO*
), тому рибі потрібно мати біля них простір, щоб міхур існував, щоб риба могла пливіть якомога ближче до боків, економте один простір. Міхур повинен зникнути, перш ніж риба може рухатися далі ...
Серія прикладних рядків поведінки риб із -
символами, що вказують пробіли, оскільки тут відображається функція коду, є дещо суворою ... Я очікую, що ці тире будуть замінені пробілами, коли ви кодуєте це ...
Кожен рядок тут може вважатися кадром у проміжок часу.
|-}}< }} ',')----------|
|--}}< }} ',')---------|
|---}}< }} ',')--------|
|----}}< }} ',')-------|
|-----}}< }} ',')------|
|-----}}< }} ',').-----|
|-----}}< }} ',')o-----|
|-----}}< }} ',')O-----|
|-----}}< }} ',')*-----|
|---------}}('_'){{----|
|-----------(',' {{ >{{|
|----------(',' {{ >{{-|
|---------(',' {{ >{{--|
|--------.(',' {{ >{{--|
|--------o(',' {{ >{{--|
|--------O(',' {{ >{{--|
|--------*(',' {{ >{{--|
|--------(',' {{ >{{---|
|-------(',' {{ >{{----|
|------(',' {{ >{{-----|
тощо. Наведений приклад, як я вже сказав, невеликий, але ви отримуєте загальне уявлення ...
Найкоротший код виграє ...
Я очікую, що вихід на тій же лінії (якщо можливо), якщо ні, відображення кадру за кадром поспіль нормально ... Незалежно від того, чи ви переходите по одній або декількох рядках. Якщо ви робите кілька рядків, їх потрібно розділити новим рядком.
Також таймер накладається між кадрами, 2000 мс. Це обов’язково .
Подивимося, що у вас є!