导入包

    # curses 用来在终端上显示图形界面
    import curses
    # random 模块用来生成随机数
    from random import randrange, choice
    # collections 提供了一个字典的子类 defaultdict。可以指定 key 值不存在时,value 的默认值。
    from collections import defaultdict

用户行为

所有的有效输入都可以转换为"上,下,左,右,游戏重置,退出"这六种行为,用 actions 表示

    actions = ['Up', 'Left', 'Down', 'Right', 'Restart', 'Exit']

有效输入键是最常见的 W(上),A(左),S(下),D(右),R(重置),Q(退出),这里要考虑到大写键开启的情况,获得有效键值列表:

    # ord() 函数以一个字符作为参数,返回参数对应的 ASCII 数值,便于和后面捕捉的键位关联
    letter_codes = [ord(ch) for ch in 'WASDRQwasdrq']

将输入与行为进行关联:

    actions_dict = dict(zip(letter_codes, actions * 2))

    # actions_dict 的输出结果为
    {87: 'Up', 65: 'Left', 83: 'Down', 68: 'Right', 82: 'Restart', 81: 'Exit', 119: 'Up', 97: 'Left', 115: 'Down', 100: 'Right', 114: 'Restart', 113: 'Exit'}

出现报错ModuleNotFoundError: No module named '_curses'请点击我