python3方向键和删除键无法使用

最近一直在使用pyspark,一开始pyspark内置的python版本是python2,后来我把python的版本换成python3之后,方向键和删除键都用不了,解决方法如下

1.安装realine这个包

yum install -y readline-devel

2.将python重新编译安装一次

cd /usr/local/Python-3.6.4/

./configure --prefix=/usr/local/python3/
make && make install

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个基于Python3的简单贪吃蛇游戏代码: ```python import pygame import random # 初始化pygame模块 pygame.init() # 设置游戏窗口 screen_width = 480 screen_height = 480 screen = pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption('贪吃蛇') # 定义颜色 white = (255, 255, 255) black = (0, 0, 0) green = (0, 255, 0) red = (255, 0, 0) # 定义贪吃蛇的初始位置和长度 snake_pos = [(screen_width / 2, screen_height / 2)] snake_len = 1 # 定义贪吃蛇的移动方向和速度 snake_dir = 'right' snake_speed = 10 # 定义食物的初始位置 food_pos = (random.randint(0, screen_width - 10), random.randint(0, screen_height - 10)) # 定义字体 font = pygame.font.SysFont(None, 25) # 游戏循环 game_over = False while not game_over: for event in pygame.event.get(): if event.type == pygame.QUIT: game_over = True # 处理按事件 if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT and snake_dir != 'right': snake_dir = 'left' elif event.key == pygame.K_RIGHT and snake_dir != 'left': snake_dir = 'right' elif event.key == pygame.K_UP and snake_dir != 'down': snake_dir = 'up' elif event.key == pygame.K_DOWN and snake_dir != 'up': snake_dir = 'down' # 移动贪吃蛇 if snake_dir == 'left': snake_pos.insert(0, (snake_pos[0][0] - snake_speed, snake_pos[0][1])) elif snake_dir == 'right': snake_pos.insert(0, (snake_pos[0][0] + snake_speed, snake_pos[0][1])) elif snake_dir == 'up': snake_pos.insert(0, (snake_pos[0][0], snake_pos[0][1] - snake_speed)) elif snake_dir == 'down': snake_pos.insert(0, (snake_pos[0][0], snake_pos[0][1] + snake_speed)) # 判断是否吃到食物 if snake_pos[0][0] == food_pos[0] and snake_pos[0][1] == food_pos[1]: food_pos = (random.randint(0, screen_width - 10), random.randint(0, screen_height - 10)) snake_len += 1 # 删除贪吃蛇尾部 if len(snake_pos) > snake_len: snake_pos.pop() # 绘制游戏界面 screen.fill(white) pygame.draw.rect(screen, black, (0, 0, screen_width, screen_height), 5) pygame.draw.rect(screen, green, (food_pos[0], food_pos[1], 10, 10)) # 绘制贪吃蛇 for pos in snake_pos: pygame.draw.rect(screen, red, (pos[0], pos[1], 10, 10)) # 检测是否撞墙或撞到自己 if snake_pos[0][0] < 0 or snake_pos[0][0] > screen_width - 10 or snake_pos[0][1] < 0 or snake_pos[0][1] > screen_height - 10: game_over = True for pos in snake_pos[1:]: if pos[0] == snake_pos[0][0] and pos[1] == snake_pos[0][1]: game_over = True # 显示得分 score_text = font.render(f'Score: {snake_len - 1}', True, black) screen.blit(score_text, (10, 10)) # 更新屏幕显示 pygame.display.update() # 退出pygame模块 pygame.quit() ``` 在这个代码中,我们使用了pygame模块来创建一个窗口,用于显示贪吃蛇游戏。我们首先设置了游戏窗口的大小、贪吃蛇的初始位置和长度、移动方向和速度、食物的初始位置等信息。然后,我们使用一个while循环来不断地更新贪吃蛇的位置和状态,直到游戏结束。在循环中,我们使用pygame模块的事件处理函数来处理用户按事件,并根据按事件改变贪吃蛇的移动方向。然后,我们根据贪吃蛇的移动方向和速度移动贪吃蛇,并判断是否吃到了食物。接着,我们删除贪吃蛇的尾部,绘制游戏界面,检测是否撞墙或撞到自己,显示得分,更新屏幕显示等操作。最后,我们退出pygame模块。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值