'''
,--^----------,--------,-----,-------^--,
`--------' 作者 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
相关推荐
中等生23 分钟前
Pandas 与 NumPy:数据分析中的黄金搭档用户83562907805135 分钟前
Python查找替换PDF文字:告别手动,拥抱自动化星哥说事42 分钟前
Python自学12 — 函数和模块THMAIL2 小时前
深度学习从入门到精通 - 迁移学习实战:用预训练模型解决小样本难题和小胖11222 小时前
第一讲 Vscode+Python+anaconda 安装和小胖11222 小时前
第二讲 Vscode+Python+anaconda 高阶环境配置小胖墩有点瘦3 小时前
【基于yolo和web的垃圾分类系统】站大爷IP3 小时前
Python实现简易成语接龙小游戏:从零开始的趣味编程实践PP东4 小时前
Pyhton基础之多继承、多态菜鸟的日志4 小时前
【音频字幕】构建一个离线视频字幕生成系统:使用 WhisperX 和 Faster-Whisper 的 Python 实现