勿忘国耻

From Esolang
Jump to navigation Jump to search

勿忘国耻 is an Esolang(semi-serious and quarter-joking and quarter-memorial) designed by PSTF(maybe with islptng).

Syntax

It is simply edited from Nine-hundred-eleven.

Command

勿忘国耻!                                                    Brainfuck >
振兴中华!                                                    Brainfuck <
忘不了那个冬日,忘不了三十万同胞!                            Brainfuck +
祖宗疆土,当以死守,不可以尺寸与人!                          Brainfuck -
我们不会把363000人杀回去,但是我们永远记得你们杀了363000人!  Brainfuck .
打倒法西斯主义!                                              Brainfuck ,
永别了,惨遭杀害的同胞们……                                  Brainfuck [
我们不会忘记那一天……                                        Brainfuck ]
中华人民共和国万岁!                                          Invert the current cell if it is mode 1, and negate the current cell if it is mode 2.
吾辈当自强!                                                  Switch the mode.

Examples

One Line equals One Code.

Cat program

打倒法西斯主义! 
永别了,惨遭杀害的同胞们……
我们不会把363000人杀回去,但是我们永远记得你们杀了363000人!
打倒法西斯主义! 
我们不会忘记那一天……

Interpreters

Python

import sys
def 勿忘国耻(code):
    code=list(map(str.strip,code.split('\n')))
    s=[]
    matches={}
    tape=[0]*1000000
    for i,j in enumerate(code):
        if j=='永别了,惨遭杀害的同胞们……':
            s.append(i)
        if j=='我们不会忘记那一天……':
            m=s.pop()
            matches[m]=i
            matches[i]=m
    cp=0
    p=0
    temp=0
    mode=True # The initial mode was not specified, I'll use 1 for that 没说一开始模式是啥,所以我将使用1作为初始模式
    while cp<len(code):
        if code[cp]=='忘不了那个冬日,忘不了三十万同胞!':
            tape[p]=(tape[p]+1)%256
        if code[cp]=='祖宗疆土,当以死守,不可以尺寸与人!  ':
            tape[p]=(tape[p]-1)%256
        if code[cp]=='打倒法西斯主义!':
            c=sys.stdin.read(1)
            tape[p]=(ord(c) if c else 0)%256
        if code[cp]=='我们不会把363000人杀回去,但是我们永远记得你们杀了363000人!':
            print(chr(tape[p]),end='')
        if code[cp]=='振兴中华! ':
            p-=1
        if code[cp]=='勿忘国耻!':
            p+=1
        if code[cp]=='永别了,惨遭杀害的同胞们……':
            if not tape[p]:
                cp=matches[cp]
        if code[cp]=='我们不会忘记那一天……':
            if tape[p]:
                cp=matches[cp]
        if code[cp]=='中华人民共和国万岁!':
            if mode:
                code[cp]=255-code[cp]
            else:
                code[cp]=(256-code[cp])&255
        if code[cp]=='吾辈当自强! ':
            temp+=1
            if temp%2!=0:
                mode=False
            else:
                mode=True
        cp+=1
勿忘国耻(sys.stdin.read())

islptng's version

Each line that contains certain keywords are ok, allowed more changes. This means, this is a metaset of PSTF's original version.
Note: The word must be positive for China. For example, 伟大的法西斯主义 won't work, but 去你妈的法西斯主义 will.

勿忘国耻                                                      Brainfuck >
振兴中华                                                      Brainfuck <
忘不了                                                        Brainfuck +
尺寸与人                                                      Brainfuck -
363000人                                                      Brainfuck .
法西斯主义                                                    Brainfuck ,
永别了                                                        Brainfuck [
忘记那一天                                                    Brainfuck ]
万岁                                                          Invert the current cell if it is mode 1, and negate the current cell if it is mode 2.
吾辈当自强                                                    Switch the mode.

Keywords are separated by exclamation marks or newlines.

Corresponding cat:

残忍的法西斯主义!永别了,惨遭杀害的同胞们……
我们不会把363000人杀回去,但是我们永远记得你们杀了363000人!
打倒法西斯主义!绝对不要忘记那一天!

Category