Скажете, найкрасивішу версію? Потім спробуємо цю в ...
The Marvelously Insane FizzBuzzJazz Program.
Lady Capulet, an old bossy woman that loves to count.
The Archbishop of Canterbury, an old fart who adores to spit out letters.
Act I: The only one of them.
Scene I: The Archbishop of Canterbury is a bastard.
[Enter The Archbishop of Canterbury and Lady Capulet]
The Archbishop of Canterbury:
You are nothing!
Scene II: Count, Lady Capulet, count.
The Archbishop of Canterbury:
You are as beautiful as the sum of yourself and a cat!
Lady Capulet:
Am I worse than the square of the product of the sum of a warm gentle flower and a rose
and my pretty angel?
The Archbishop of Canterbury:
If not, let us proceed to Scene VIII.
Scene III: Fizzing to no end!
The Archbishop of Canterbury:
Is the remainder of the quotient between yourself and the sum of a happy cow and a
chihuahua as good as nothing?
Lady Capulet:
If not, let us proceed to Scene IV. Thou art as handsome as the sum of the sum of
the sweetest reddest prettiest warm gentle peaceful fair rose and a happy proud kindgom
and a big roman. Speak thy mind!
Thou art as fair as the sum of thyself and a honest delicious cute blossoming peaceful
hamster. Thou art as cunning as the sum of the sum of an embroidered King and a horse
and thyself. Speak thy mind!
Thou art as amazing as the sum of the sum of a good happy proud rich hero and a hair and
thyself! Speak thy mind.
Speak your mind!
Scene IV: Milady, there is jazz in thy robe.
The Archbishop of Canterbury:
Is the remainder of the quotient between yourself and a proud noble kingdom as good as
nothing?
Lady Capulet:
If not, let us proceed to Scene V. You are as charming as the sum of the sum of a noble
cunning gentle embroidered brave mighty King and a big warm chihuahua and an amazing
pony! Speak your mind!
You are as prompt as the sum of yourself and a big black sweet animal. You are as noble
as the sum of the sum of a gentle trustworthy lantern and yourself and a hog. Speak your
mind!
You are as bold as the sum of the sum of yourself and a good delicious healthy sweet
horse and my smooth cute embroidered purse. You are as peaceful as the sum of a flower
and yourself. Speak your mind.
Speak your mind!
Scene V: Buzz me up, Scotty!
The Archbishop of Canterbury:
Is the remainder of the quotient between yourself and the sum of a gentle happy cow and a
chihuahua as good as nothing?
Lady Capulet:
If not, let us proceed to Scene VI. Thou art as handsome as the sum of the sweetest
reddest prettiest warm gentle peaceful fair rose and a small town. Speak your mind!
You are as prompt as the sum of yourself and a big healthy peaceful fair rich kingdom.
You are as loving as the sum of the sum of an embroidered King and a horse and thyself.
You are as amazing as the sum of yourself and a cute fine smooth sweet hamster. Speak
your mind!
You are as prompt as the sum of the sum of yourself and an amazing cunning Lord and a
hair. Speak your mind.
Speak your mind!
The Archbishop of Canterbury:
Let us proceed to Scene VII.
Scene VI: Output or die!
The Archbishop of Canterbury:
Open your heart!
Scene VII: Oh, to jump the line.
Lady Capulet:
You are as handsome as the sum of a proud noble rich kingdom and a rural town. Speak your
mind! You are as gentle as the sum of the sum of yourself and a green mistletoe and my
father. Speak your mind!
The Archbishop of Canterbury:
We must return to Scene II.
Scene VIII: Goodbye, cruel world!
[Exeunt]
Отже, після моєї боротьби зі СПЛ тут я відчував, що мені потрібно зробити хоча б одне подання з будь-якого виклику. І це все.
Отже, що це все тоді?
Отже, спочатку ми оголосимо змінні, які ми будемо використовувати у всій програмі, які повинні виходити з п'єс Шекспіра. Нагородившись Ромео, Джульєттою, Офелією та Отелло, я пішов з архієпископом Кентерберійським та леді Капулет . Їх описи, а також назви актів / сцен розглядаються парсером, тому ви можете помістити туди все, що завгодно.
Отже, давайте зробимо якийсь король перекладу на щось трохи менш гнучко .
Дія I, сцена I
Begin
Lady Capulet = 0;
Дія I досить проста: ми ініціалізуємо нашу змінну з 0.
Дія I, сцена II
Lady Capulet += 1;
if(Lady Capulet < Math.pow((2*2*1+1)*(2*1),2))
continue;
else
goto Scene VIII;
Ми збільшуємо значення леді Капулет і порівнюємо його зі 100 (так, ціле речення служить виключно для отримання числа 100); якщо вона не менша, ми переходимо до сцени VIII (кінець); інакше ми продовжуємо переходити до наступної сцени.
Дія I, сцена III
if(Lady Capulet % (2+1) == 0)
continue;
else
goto Scene IV;
The Archbishop of Canterbury = 2*2*2*2*2*2*1;
System.out.print((char)The Archbishop of Canterbury);
The Archbishop of Canterbury += 2*2*2*2*2*1;
The Archbishop of Canterbury += 2*1+1;
System.out.print((char)The Archbishop of Canterbury);
The Archbishop of Canterbury += 2*2*2*2*1+1;
System.out.print((char)The Archbishop of Canterbury);
System.out.print((char)The Archbishop of Canterbury);
Спочатку ми бачимо, чи модуль ділення на 3 дорівнює 0; якщо це не так, ми переходимо до сцени IV; якщо це так, ми починаємо робити арифметичні операції та зберігати їх на Ар'єпсона, виводячи їх у формі символів, як тільки знайдемо той, кого шукаємо. Так, врешті-решт, ідея - отримати Fizz
.
Акт I, Сцена IV
if(Lady Capulet % (2*2) == 0)
continue;
else
goto Scene V;
The Archbishop of Canterbury = 2*2*2*2*2*2*1+2*2*1+2*1;
System.out.print((char)The Archbishop of Canterbury);
The Archbishop of Canterbury += 2*2*2*1;
The Archbishop of Canterbury += 2*2*1+(-1);
System.out.print((char)The Archbishop of Canterbury);
The Archbishop of Canterbury += 2*2*2*2*1+2*2*2*1;
The Archbishop of Canterbury += 1;
System.out.print((char)The Archbishop of Canterbury);
System.out.print((char)The Archbishop of Canterbury);
Спочатку перевіряється, чи модуль поділу на 4 дорівнює 0, а потім продовжується так само, як і раніше, для Jazz
.
Дія I, сцена V
if(Lady Capulet % (2*2+1) == 0)
continue;
else
goto Scene VI;
The Archbishop of Canterbury = 2*2*2*2*2*2*1+2*1;
System.out.print((char)The Archbishop of Canterbury);
The Archbishop of Canterbury += 2*2*2*2*2*1;
The Archbishop of Canterbury += 2*1+1;
The Archbishop of Canterbury += 2*2*2*2*1;
System.out.print((char)The Archbishop of Canterbury);
The Archbishop of Canterbury += 2*2+1;
System.out.print((char)The Archbishop of Canterbury);
System.out.print((char)The Archbishop of Canterbury);
goto Scene VII;
Функції, як попередні дві, перевіряють, чи повертається модуль поділу на 5, 0, а потім намагається записати Buzz
; Єдина відмінність полягає в тому, що ми врешті пропускаємо Сцену.
Акт I, Сцена VI
System.out.print(Lady Capulet);
Щоб дійти до цієї сцени, кількість, яку припустила леді Капулет, не повинна була бути ні Фізз, ні Джаз, ні Базз; таким чином, ми виводимо його в числовій формі.
Дія I, сцена VII
The Archbishop of Canterbury = 2*2*2*1+2*1;
System.out.print((char)The Archbishop of Canterbury);
The Archbishop of Canterbury += 2*1+1;
System.out.print((char)The Archbishop of Canterbury);
goto Scene II;
Отже, це єдиний спосіб, коли я знайшов перейти до наступного рядка: вихід, спочатку CR, потім LF; потім ми повертаємось до сцени II, щоб продовжити програму.
Дія I, сцена VIII
End.
Досить прямо.
Я все ще намагаюся побачити, чи зможу я показати це запущене в Інтернеті, але я не можу знайти онлайн-компілятор - той, кого я знаю , не добре поєднується з будь-якою програмою, окрім вже завантаженої, чи, можливо, є якась така проблеми з інтерфейсом між клавіатурою та кріслом ...
Оновлення 1:
Після коментаря математики, я редагував порядок сцен Джазу та Базза. Це треба було зробити.