La versione più bella, dici? Quindi, proviamo questo in ...
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]
Quindi, dopo la mia lotta con SPL qui , mi sentivo come se dovessi fare almeno una presentazione con esso su qualsiasi sfida. E questo è tutto.
Allora, cos'è tutto questo allora?
Quindi, in primo luogo, dichiariamo le variabili che useremo durante il programma, che devono provenire dalle rappresentazioni di Shakespeare. Stufo di Romeo, Giulietta, Ofelia e Otello, ho continuato L'arcivescovo di Canterbury e Lady Capulet . Le loro descrizioni, così come i titoli degli Atti / Scene, sono disgustati dal parser, quindi puoi inserire praticamente qualsiasi cosa ti piaccia.
Quindi, facciamo un po 'di re della traduzione in qualcosa di meno incomprensibile .
Atto I, scena I
Begin
Lady Capulet = 0;
L'atto I è piuttosto semplice: inizializziamo la nostra variabile con 0.
Atto I, scena II
Lady Capulet += 1;
if(Lady Capulet < Math.pow((2*2*1+1)*(2*1),2))
continue;
else
goto Scene VIII;
Aumentiamo il valore di Lady Capulet e lo confrontiamo con 100 (sì, l'intera frase serve solo per ottenere il numero 100); se non è più piccolo, passiamo alla scena VIII (la fine); altrimenti, proseguiamo con la scena successiva.
Atto I, scena 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);
Innanzitutto, vediamo se il modulo della divisione per 3 è 0; in caso contrario, passiamo alla scena IV; se lo è, iniziamo a fare operazioni aritmetiche e memorizzandole sull'Archieperson, esponendole in forma di personaggio una volta trovata quella che stiamo cercando. Sì, alla fine, l'idea è di ottenere Fizz
.
Atto I, scena 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);
Prima controlla se il modulo della divisione per 4 è 0, quindi continua come la stessa scena di prima, per Jazz
.
Atto I, scena 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;
Funziona come i due precedenti, controllando se il modulo della divisione per 5 restituisce 0, quindi tenta di scrivere Buzz
; l'unica differenza è che, alla fine, saltiamo una scena.
Atto I, scena VI
System.out.print(Lady Capulet);
Per raggiungere questa scena, il numero assunto da Lady Capulet non deve essere né Fizz né Jazz né Buzz; quindi, lo produciamo in forma numerica.
Atto I, scena 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;
Quindi, questo è l'unico modo che ho trovato per passare alla riga successiva: output, prima un CR, poi un LF; poi, torniamo alla scena II, a cui possiamo continuare con il programma.
Atto I, scena VIII
End.
Abbastanza semplice.
Sto ancora cercando di vedere se posso mostrarlo in esecuzione online, ma non riesco a trovare un compilatore online - quello che conosco non sembra combinarsi bene con nessun programma tranne quello già caricato, o forse c'è qualche tipo di problemi con l'interfaccia tra la tastiera e la sedia ...
Aggiornamento 1:
Dopo il commento di Mathmandan, ho modificato l'ordine delle scene di Jazz e Buzz. Doveva essere fatto.