Fun Video Game

From Esolang
Jump to navigation Jump to search

Fun Video Game is a simple program originating from a tweet by Jack Eisenmann in 2018. It plays an extremely fun video game in which the player must input integers starting from 0 and counting upwards (0, 1, 2, and so on). If the player fails to correctly input the next number in the sequence, the string "FAILURE" is printed and the game ends.

Implementations

1+

11+1<
(check|1##
    ".
"/^"\</<\*1+^1+^#)
(check)
11+""*"""**++;
11"+"*""**+;
11"+"""*+"**+;
11+""""*+"*+*;
11""++""*"*++;
11""++"*"*+;
11"+"*"""**++;

akdrfsbathnede knem

##^-|^VI=$#^+|$>
##^+^V^V++#^+##^+^V*#^+^V+*^V^U
##^+V*^>V^<v#^+-^>>V^<<U
>##^+^*^<+^V^U
##^+#^++^V^U
##^+^V^*#^+^V^+#^++^V^U
##^+#^+-^V^U
>>##^+^V^*^+^U


Befunge

v      >0"ERULIAF">:#,_@
>0>:&\-|
  ^  +1<

C

#include <stdio.h>
typedef unsigned long ulong;

int main(){
    ulong number=0;
    ulong input=0;
    while(scanf("%lu",&input), number==input) {
        number++;
    }
    printf("FAILURE");
    return 0;
}

meow (tommyaweosme)

varia = 0
mew(pet==varia):
    varia = meow(varia+1)
meow("FAILURE")

Momema

j 1
0 + *0 -1 j 0
j = + *0 *-8
j 1
-9 70
-9 65
-9 73
-9 76
-9 85
-9 82
-9 69


MoreMathRPN

0
jmp 4
del 0
1
+
inputR
>> 1
compare
>> 0
*
2
*
jmp ]0
"correct!
jmp -11
del 0
outputS "Failure "
outputV

Python

Here is the Python 2 implementation from the original tweet:

number = 0
while True:
    if int(raw_input()) != number:
        print "FAILURE"
        break
    number += 1

Here is a Python 3 implementation:

number = 0
while int(input()) == number:
    number += 1
print("FAILURE")

Rockstar

My expression is 0
My reality is 0
While my expression is my reality
Listen to my expression
if my expression is my reality
Build my reality up


Say "FAILURE"

Scratch

Scratch, in another style

do Main
LET ANS <- 0
WHILE(TRUE)
{
	LET H <- INPUT
	IF(H!=ANS){PRINT "FAILURE"; EXIT}
	ELSE{LET ANS <- ANS + 1}
}
end

Uyjhmn n

DECLARE THE NEW VARIABLE NUMBER
DECLARE THE NEW VARIABLE ONE
DECLARE THE NEW VARIABLE INPUT
OPEN THE VARIABLE ONE
ASSIGN 1 TO THE OPEN VARIABLE
DEFINE THE NEW LABEL START
OPEN THE VARIABLE INPUT
GET INPUT AND STORE INTO OPEN VARIABLE AS A NUMBER
OPEN THE VARIABLE NUMBER
JUMP TO CORRECT IF NUMBER IS EQUAL TO INPUT
JUMP TO WRONG IF ONE IS EQUAL TO ONE
DEFINE THE NEW LABEL CORRECT
ADD ONE TO THE OPEN VARIABLE
JUMP TO START IF ONE IS EQUAL TO ONE
DEFINE THE NEW LABEL WRONG
PRINT THE CHARACTER WITH THE ASCII VALUE 70 
PRINT THE CHARACTER WITH THE ASCII VALUE 65 
PRINT THE CHARACTER WITH THE ASCII VALUE 73 
PRINT THE CHARACTER WITH THE ASCII VALUE 76 
PRINT THE CHARACTER WITH THE ASCII VALUE 85 
PRINT THE CHARACTER WITH THE ASCII VALUE 82 
PRINT THE CHARACTER WITH THE ASCII VALUE 69
END THIS PROGRAM

Wenyan

吾有一術。名之曰「输入」。是術曰。
    施「require('fs').readFileSync」於「「/dev/stdin」」。名之曰「入」。
    施「(buf => buf.toString().trim())」於「入」。昔之「入」者。今其是矣。
    施「(s => s.split('\n'))」於「入」。昔之「入」者。今其是矣。
    乃得「入」也。
是謂「输入」之術也。
有數零。名之曰「甲」。

吾有一術。名之曰「得数」。是術曰。
    吾有一列。名之曰「其数」。
    加「其行」以一。昔之「其行」者。今其是矣。
    夫「初始输入」之「其行」。名之曰「此行」。
    施「(s => s.split(' '))」於「此行」。昔之「此行」者。今其是矣。
    夫「此行」之長。名之曰「长」。
    吾有一數。曰零。名之曰「下标」。
    為是「长」遍。
        加「下标」以一。昔之「下标」者。今其是矣。
        夫「此行」之「下标」。名之曰「此数」。
        施「parseInt」於「此数」。昔之「此数」者。今其是矣。
        銜「其数」以「此数」。昔之「其数」者。今其是矣。
    云云。
    乃得「其数」也。
是謂「得数」之術也。

有數零。名之曰「乙」。
批曰。「「文言尚弱。無對象之操作。故需 JavaScript 之语法」」。
施「输入」。昔之「乙」者。今其是矣。
恆為是。
	施「输入」。昔之「乙」者。今其是矣。
	若「甲」等於「乙」者。
		加「甲」以一。昔之「甲」者。今其是矣。
	若非。
		吾有一言。曰「「败北。」」。書之。乃止。
	云云。
云云。

Zyxonia

ENV <- System
do Main
LET ANS <- 0
WHILE(TRUE)
{
	LET H <- INPUT
	IF(H!=ANS){PRINT "FAILURE"; EXIT}
	ELSE{LET ANS <- ANS + 1}
}
end

External links

The original tweet from Jack Eisenmann, containing a Python 2 implementation