'''
,--^----------,--------,-----,-------^--,
`--------' 作者 yty
`+---------------------------^----------
`_,-------, _________________________
XXXXXX `
XXXXXX `
XXXXXX ______(
XXXXXX
XXXXXX
(________(
`------'
'''
'0'
[['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','0','0','0','0','0','0','0','0','0','0','0','0','0','1'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1']]
import time
one = time.time()
def find(ditu,thing):
for i in range(0, len(ditu)):
for j in range(0, len(ditu)):
if ditu[i][j] == thing:
return [i,j]
def show(ditu,a):
a = find(ditu,'M')
if ditu[a[0]][a[1]] == '4' and a == 0 :
show(ditu,a=-1)
return -1
for i in range(0,len(ditu)):
for j in range(0,len(ditu)):
if i == 0 or i == len(ditu)-1:
print('■■',end='')
elif ditu[i][j] == '0':
print(' ',end='')
elif ditu[i][j] == '1':
print('▊▊',end='')
elif ditu[i][j] == '4':
print('▓▓',end='')
elif ditu[i][j] == 'R':
print('☹',end='')
elif ditu[i][j] == 'M':
print('░░',end='')
print()
return 0
'''
w向上移动
A向左移动
S向下移动
D向右移动
'''
def move(fx):
# 向上移动
if fx == 'W' :
zb = find(ditu,'R')
if ditu[zb[0]-1][zb[1]] == '0' :
pepole_zb = find(ditu,'R')
#将people坐标 向上更改
ditu[zb[0]-1][zb[1]] = 'R'
#将原坐标 更改
ditu[zb[0]][zb[1]] = '0'
elif ditu[zb[0]-1][zb[1]] == '4':
box_zb = find(ditu,'4')
print(ditu[box_zb[0]-1][box_zb[1]])
if ditu[box_zb[0]-1][box_zb[1]] != '1':
# box 向上更改
ditu[box_zb[0] - 1][box_zb[1]] = '4'
# 将原坐标 更改
ditu[box_zb[0]][box_zb[1]] = '0'
#移动人物坐标
ditu[zb[0]][zb[1]] = '0'
ditu[box_zb[0]][box_zb[1]] = 'R'
# move('W',-1)
elif fx == 'A' :
zb = find(ditu, 'R')
if ditu[zb[0] ][zb[1]-1] == '0':
pepole_zb = find(ditu, 'R')
# 将people坐标 向上更改
ditu[zb[0]][zb[1]-1] = 'R'
# 将原坐标 更改
ditu[zb[0]][zb[1]] = '0'
elif ditu[zb[0]][zb[1]-1] == '4':
box_zb = find(ditu,'4')
print(ditu[box_zb[0]][box_zb[1]-1])
if ditu[box_zb[0]][box_zb[1]-1] != '1':
# box 向上更改
ditu[box_zb[0]][box_zb[1]-1] = '4'
# 将原坐标 更改
ditu[box_zb[0]][box_zb[1]] = '0'
#移动人物坐标
ditu[zb[0]][zb[1]] = '0'
ditu[box_zb[0]][box_zb[1]] = 'R'
elif fx == 'D' :
zb = find(ditu, 'R')
if ditu[zb[0] ][zb[1]+1] == '0':
pepole_zb = find(ditu, 'R')
# 将people坐标 向上更改
ditu[zb[0]][zb[1]+1] = 'R'
# 将原坐标 更改
ditu[zb[0]][zb[1]] = '0'
elif ditu[zb[0]][zb[1]+1] == '4':
box_zb = find(ditu,'4')
print(ditu[box_zb[0]][box_zb[1]+1])
if ditu[box_zb[0]][box_zb[1]+1] == '0':
# box 向上更改
ditu[box_zb[0]][box_zb[1]+1] = '4'
# 将原坐标 更改
ditu[box_zb[0]][box_zb[1]] = '0'
#移动人物坐标
ditu[zb[0]][zb[1]] = '0'
ditu[box_zb[0]][box_zb[1]] = 'R'
elif fx == 'S' :
zb = find(ditu, 'R')
if ditu[zb[0]+1][zb[1]] == '0':
pepole_zb = find(ditu, 'R')
# 将people坐标 向上更改
ditu[zb[0]+1][zb[1]] = 'R'
# 将原坐标 更改
ditu[zb[0]][zb[1]] = '0'
elif ditu[zb[0]+1][zb[1]] == '4':
box_zb = find(ditu,'4')
print(ditu[box_zb[0]+1][box_zb[1]])
if ditu[box_zb[0]+1][box_zb[1]] != '1':
# box 向上更改
ditu[box_zb[0]+1][box_zb[1]] = '4'
# 将原坐标 更改
ditu[box_zb[0]][box_zb[1]] = '0'
#移动人物坐标
ditu[zb[0]][zb[1]] = '0'
ditu[box_zb[0]][box_zb[1]] = 'R'
if __name__ == '__main__':
ditu = [
['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1'],
['1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '1'],
['1', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '4', '0', '1'],
['1', '0', '1', '0', '0', '0', '1', '0', '1', '0', '1', '1', '0', '0', '0', '0', 'R', '0', '1'],
['1', '0', '0', '0', '0', '0', '1', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1'],
['1', '0', '1', '0', '0', '0', '1', '1', '1', '1', '1', '0', '1', '0', '0', '1', '0', '0', '1'],
['1', '0', '1', '0', '0', '0', '1', '0', '0', '0', '1', '0', '1', '0', '0', '1', '0', '0', '1'],
['1', '0', '1', '0', '0', '0', '1', '0', '0', '0', '1', '0', '1', '0', '0', '1', '0', '0', '1'],
['1', '0', '1', '0', '0', '0', '1', '0', '0', '0', '1', '0', '1', '1', '1', '1', '0', '0', '1'],
['1', '0', '1', '0', '1', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '1', '0', '0', '1'],
['1', '0', '1', '0', '1', '0', '1', '1', '1', '1', '1', '0', '1', '0', '0', '1', '0', '1', '1'],
['1', '0', '1', '0', '1', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '1', '0', '1', '1'],
['1', '0', '1', '0', '1', '1', '1', '1', '0', '0', '0', '0', '1', '0', '0', '0', '0', '1', '1'],
['1', '0', '1', '0', '0', '0', '0', '1', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '1'],
['1', '0', '1', '0', '1', '0', '0', '1', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '1'],
['1', '0', '1', '1', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1', '0', '0', '1'],
['1', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1'],
['1', 'M', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '1'],
['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']
]
while True:
if show(ditu,a=0) == -1:
tow = time.time()
print(f'游戏结束 你一共用时 {int((tow - one)*100)/100}s')
break
else:
zc = input('请输入操作 W↑ S↓ A← D→ \n\n')
move(zc)
python推箱子游戏
qq3332129724(中职生)2025-04-13 13:00
相关推荐
高级程序源6 小时前
django校园寻物通失物招领平台32261-计算机课程设计、毕业设计WeiXin_DZbishe6 小时前
基于springboot宠物领养系统-计算机毕设 附源码【课程设计】94217kimnoic6 小时前
Python数据库学习心得:SQLite、MySQL、PostgreSQL优缺点snhna6 小时前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地必须得开心呀7 小时前
python编写带界面的软件,需要安装哪些插件Wx-bishekaifayuan7 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计青少儿编程课堂8 小时前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划计算机编程指导师8 小时前
【计算机毕设推荐】基于Hadoop+Spark的公共交通运营数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习Wx-bishekaifayuan8 小时前
springboot汉中旅游服务平台41442-计算机课程设计、毕业设计WeiXin_DZbishe8 小时前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173