Python玩具(一)

    技术2022-07-10  120

    Python玩具(一)

    贪吃蛇(简易版未完待续

    贪吃蛇(简易版

    import random import curses s = curses.initscr() # 初始化屏幕 curses.curs_set(0) # 设置光标为0 sh, sw = s.getmaxyx() # 获得高宽 w = curses.newwin(sh, sw, 0, 0) # 使用高宽创建一个新窗口,从左上角开始 w.keypad(1) # 接受键盘输入 w.timeout(100) # 创建蛇的初始位置 snk_x = sw / 4 snk_y = sh / 2 # 最初的蛇身部位 snake = [ [snk_y, snk_x], [snk_y, snk_x - 1], [snk_y, snk_x - 2] ] food = [sh / 2, sw / 2] # 创建食物 w.addch(int(food[0]), int(food[1]), curses.ACS_PI) key = curses.KEY_RIGHT while True: next_key = w.getch() key = key if next_key == -1 else next_key if snake[0][0] in [0, sh] or snake[0][1] in [0, sw] or snake[0] in snake[1:]: curses.endwin() quit() new_head = [snake[0][0], snake[0][1]] if key == curses.KEY_DOWN: new_head[0] += 1 if key == curses.KEY_UP: new_head[0] -= 1 if key == curses.KEY_LEFT: new_head[1] -= 1 if key == curses.KEY_RIGHT: new_head[1] += 1 snake.insert(0, new_head) if snake[0] == food: food = None while food is None: nf = [ random.randint(1, sh - 1), random.randint(1, sw - 1) ] food = nf if nf not in snake else None w.addch(int(food[0]), int(food[1]), curses.ACS_PI) else: tail = snake.pop() w.addch(int(tail[0]), int(tail[1]), ' ') w.addch(int(snake[0][0]), int(snake[0][1]), curses.ACS_CKBOARD)

    未完待续

    Processed: 0.014, SQL: 9