刚刚接触python的小垃圾,哈哈哈,用一维的列表来制作的地图,通过操作列表中的数据再显示在控制台上就成了一个小游戏。一开始本来想用二维的列表来制作的可是想到数据交换的时候没有一维的便利就果断放弃了,果然做了之后发现还是一维的列表好用。
主要的逻辑是这样的:先初始化10*10的地图,然后将地图中点的数据替换成角色来初始化角色,用同生成角色一样的方法来初始化金币和敌人,之后在死循环中放入地图刷新显示、角色控制代码和敌人自动的代码就完成游戏的主要流程。
在此次小游戏程序中使用pynput模块来监听键盘事件,使用os模块来退出程序。尝试使用msvcr模块的getch()函数来接受键盘输入,但是发现只有在命令行模式有效,于是改用pynput模块。
不足就在于不知道如何实时刷新鬼的移动,让鬼看着一直在移动。现阶段要玩家移动过后刷新地图的显示鬼的移动才一起跟着刷新,不知道用多线程可不可以。
代码如下:
import random
from pynput import keyboard
import os
import time
def InitMap(x,y):
mapList=[]
if x!=y:
return
else:
for i in range(x*y):
mapList.append("0")
return mapList
def displaymap(mapList):
for i in range(len(mapList)):
if i