reaktor2: show dancing krebs
This commit is contained in:
parent
61f7ba2bdd
commit
e5c8919da8
krebs/5pkgs/simple
115
krebs/5pkgs/simple/krebsdance/default.nix
Normal file
115
krebs/5pkgs/simple/krebsdance/default.nix
Normal file
|
@ -0,0 +1,115 @@
|
|||
{ writers }:
|
||||
writers.writePython3Bin "krebsdance" {} ''
|
||||
import argparse
|
||||
import random
|
||||
|
||||
claws = [
|
||||
dict(
|
||||
up='(\\/)',
|
||||
down='(/\\)',
|
||||
left='(\\\\)',
|
||||
right='(//)',
|
||||
),
|
||||
dict(
|
||||
up='(V)',
|
||||
down='(A)',
|
||||
left='>)',
|
||||
right='(<',
|
||||
),
|
||||
dict(
|
||||
up='(U)',
|
||||
down='(n)',
|
||||
left=')=',
|
||||
right='=(',
|
||||
),
|
||||
]
|
||||
|
||||
eyes = [
|
||||
'°',
|
||||
'*',
|
||||
'^',
|
||||
'ö',
|
||||
'.',
|
||||
'o',
|
||||
'O',
|
||||
'X',
|
||||
'x',
|
||||
'U',
|
||||
'u',
|
||||
]
|
||||
|
||||
bodies = [
|
||||
dict(
|
||||
left='(',
|
||||
right=')',
|
||||
),
|
||||
dict(
|
||||
left='{',
|
||||
right='}',
|
||||
),
|
||||
dict(
|
||||
left='[',
|
||||
right=']',
|
||||
),
|
||||
dict(
|
||||
left='<',
|
||||
right='>',
|
||||
),
|
||||
dict(
|
||||
left='|',
|
||||
right='|',
|
||||
),
|
||||
]
|
||||
|
||||
mouths = [
|
||||
',,,,',
|
||||
',mm,',
|
||||
'_mm_',
|
||||
'-mm-',
|
||||
';;;;',
|
||||
';mm;',
|
||||
':mm:',
|
||||
'::::',
|
||||
':ww:',
|
||||
':<>:',
|
||||
]
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
parser.add_argument(
|
||||
'seed',
|
||||
nargs='?',
|
||||
help='random seed to use for generating the krebs variant',
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
'--dance', '-d',
|
||||
dest='dance',
|
||||
help='if the krebs should dance',
|
||||
default=False,
|
||||
action='store_true',
|
||||
)
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.seed:
|
||||
random.seed(args.seed)
|
||||
|
||||
clawstyle = random.choice(claws)
|
||||
body = random.choice(bodies)
|
||||
eye = random.choice(eyes)
|
||||
mouth = random.choice(mouths)
|
||||
if args.dance:
|
||||
print(f'{clawstyle["down"]} {body["left"]}{eye}{mouth}{eye}{body["right"]}{clawstyle["up"]}') # noqa
|
||||
print(f'{clawstyle["left"]}{body["left"]}{eye}{mouth}{eye}{body["right"]} {clawstyle["right"]}') # noqa
|
||||
print(f'{clawstyle["right"]} {body["left"]}{eye}{mouth}{eye}{body["right"]} {clawstyle["left"]}') # noqa
|
||||
print(f'{clawstyle["down"]}{body["left"]}{eye}{mouth}{eye}{body["right"]}{clawstyle["down"]}') # noqa
|
||||
else:
|
||||
print(f'{clawstyle["up"]} {body["left"]}{eye}{mouth}{eye}{body["right"]} {clawstyle["up"]}') # noqa
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
''
|
|
@ -23,11 +23,7 @@ rec {
|
|||
|
||||
dance = {
|
||||
filename = pkgs.writeDash "dance" ''
|
||||
echo "<(^.^<)"
|
||||
echo "<(^.^)>"
|
||||
echo "(>^.^)>"
|
||||
echo "(7^.^)7"
|
||||
echo "(>^.^<)"
|
||||
${pkgs.krebsdance}/bin/krebsdance --dance "$@";
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue