python推箱子游戲

''',--^----------,--------,-----,-------^--,`--------'     作者 yty`+---------------------------^----------`_,-------, _________________________XXXXXX `XXXXXX   `XXXXXX ______(XXXXXXXXXXXX(________(`------'
''''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 -1for 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')breakelse:zc = input('請輸入操作 W↑  S↓  A←  D→ \n\n')move(zc)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/75539.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/75539.shtml
英文地址,請注明出處:http://en.pswp.cn/web/75539.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用Python建模量子隧穿

引言 量子隧穿是量子力學中的一個非常有趣且令人神往的現象。在經典物理學中,我們通常認為粒子必須克服一個勢壘才能通過它。但是,在量子力學中,粒子有時可以“穿越”一個勢壘,即使它的能量不足以克服這個勢壘。這種現象被稱為“量子隧穿”。今天,我們將通過 Python 來建…

Vuex Actions 多參數傳遞的解決方案及介紹

Vuex Actions 多參數傳遞的解決方案及介紹 引言 在Vuex狀態管理模式中,Actions 扮演著至關重要的角色。它主要用于處理異步操作,并且可以提交 Mutations 來修改全局狀態。然而,在實際開發中,我們常常會遇到需要向 Actions 傳遞多…

設計模式 --- 策略模式

?策略模式(Strategy Pattern)是一種 ??行為型設計模式??,用于動態切換算法或策略??,使得算法可以獨立于客戶端變化。它通過封裝算法策略并使其可互換,提升了系統的靈活性和擴展性,尤其適用于需要多種…

【論文閱讀】RMA: Rapid Motor Adaptation for Legged Robots

Paper: https://arxiv.org/abs/2107.04034Project: https://ashish-kmr.github.io/rma-legged-robots/Code: https://github.com/antonilo/rl_locomotion訓練環境:Raisim 1.方法 RMA(Rapid Motor Adaptation)算法通過兩階段訓練實現四足機器…

QQ風格客服聊天窗口

QQ風格客服聊天窗口 展示引入方式 展示 引入方式 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title&g…

【家政平臺開發(37)】家政平臺蛻變記:性能優化與代碼重構揭秘

本【家政平臺開發】專欄聚焦家政平臺從 0 到 1 的全流程打造。從前期需求分析,剖析家政行業現狀、挖掘用戶需求與梳理功能要點,到系統設計階段的架構選型、數據庫構建,再到開發階段各模塊逐一實現。涵蓋移動與 PC 端設計、接口開發及性能優化,測試階段多維度保障平臺質量,…

PostgreSQL 的 COPY 命令

PostgreSQL 的 COPY 命令 PostgreSQL 的 COPY 命令是高效數據導入導出的核心工具&#xff0c;性能遠超常規 INSERT 語句。以下是 COPY 命令的深度解析&#xff1a; 一 COPY 命令基礎 1.1 基本語法對比 命令類型語法示例執行位置文件訪問權限服務器端COPYCOPY table FROM /p…

Sa-Token 自定義插件 —— SPI 機制講解(一)

前言 博主在使用 Sa-Token 框架的過程中&#xff0c;越用越感嘆框架設計的精妙。于是&#xff0c;最近在學習如何給 Sa-Token 貢獻自定義框架。為 Sa-Token 的開源盡一份微不足道的力量。我將分三篇文章從 0 到 1 講解如何為 Sa-Token 自定義一個插件&#xff0c;這一集將是前沿…

論文精度:基于LVNet的高效混合架構:多幀紅外小目標檢測新突破

論文地址:https://arxiv.org/pdf/2503.02220 目錄 一、論文背景與結構 1.1 研究背景 1.2 論文結構 二、核心創新點解讀 2.1 三大創新突破 2.2 創新結構原理 2.2.1 多尺度CNN前端 2.2.2 視頻Transformer設計 三、代碼復現指南 3.1 環境配置 3.2 數據集準備 3.3 訓…

解決 Ubuntu 上 Docker 安裝與網絡問題:從禁用 IPv6 到配置代理

解決 Ubuntu 上 Docker 安裝與網絡問題的實踐筆記 在 Ubuntu&#xff08;Noble 版本&#xff09;上安裝 Docker 時&#xff0c;我遇到了兩個常見的網絡問題&#xff1a;apt-get update 失敗和無法拉取 Docker 鏡像。通過逐步排查和配置&#xff0c;最終成功運行 docker run he…

指針的進階2

六、函數指針數組 字符指針數組 - 存放字符指針的數組 char* arr[10] 整型指針數組 - 存放整型指針的數組 int* arr[10] 函數指針數組 - 存放函數指針的數組 void my_strlen() {} int main() {//指針數組char* ch[5];int arr[10] {0};//pa是是數組指針int (*pa)[10] &…

速盾:高防CDN節點對收錄有影響嗎?

引言 搜索引擎收錄是網站運營中至關重要的環節&#xff0c;它直接影響著網站的曝光度和流量。近年來&#xff0c;隨著網絡安全威脅的增加&#xff0c;許多企業開始采用高防CDN&#xff08;內容分發網絡&#xff09;來保護其網站免受DDoS攻擊和其他形式的網絡攻擊。然而&#x…

2025藍橋杯省賽C/C++研究生組游記

前言 至少半年沒寫算法題了&#xff0c;手生了不少&#xff0c;由于python寫太多導致行末老是忘記打分號&#xff0c;printf老是忘記寫f&#xff0c;for和if的括號也老是忘寫&#xff0c;差點連&&和||都忘記了。 題目都是回憶版本&#xff0c;可能有不準確的地方。 …

Quill富文本編輯器支持自定義字體(包括新舊兩個版本,支持Windings 2字體)

文章目錄 1 新版&#xff08;Quill2 以上版本&#xff09;2 舊版&#xff08;Quill1版本&#xff09; 1 新版&#xff08;Quill2 以上版本&#xff09; 注意&#xff1a;新版設置 style"font-family: Wingdings 2" 這種帶空格的字體樣式會被過濾掉&#xff0c;故需特…

dbt:新一代數據轉換工具

dbt&#xff08;Data Build Tool&#xff09;一款專為數據分析和工程師設計的開源工具&#xff0c;專注于 ETL/ELT 流程的數據轉換&#xff08;Transform&#xff09;環節&#xff0c;幫助用戶以高效、可維護的方式將原始數據轉換為適合分析的數據模型。 用戶只需要編寫查詢&am…

【家政平臺開發(39)】解鎖家政平臺測試秘籍:計劃與策略全解析

本【家政平臺開發】專欄聚焦家政平臺從 0 到 1 的全流程打造。從前期需求分析,剖析家政行業現狀、挖掘用戶需求與梳理功能要點,到系統設計階段的架構選型、數據庫構建,再到開發階段各模塊逐一實現。涵蓋移動與 PC 端設計、接口開發及性能優化,測試階段多維度保障平臺質量,…

Java中的Map vs Python字典:核心對比與使用指南

一、核心概念 1. 基本定義 Python字典&#xff08;dict&#xff09; &#xff1a;動態類型鍵值對集合&#xff0c;語法簡潔&#xff0c;支持快速查找。Java Map&#xff1a;接口&#xff0c;常用實現類如 HashMap、LinkedHashMap&#xff0c;需聲明鍵值類型&#xff08;泛型&…

C語言基礎之數組

1. 一維數組的創建和初始化 數組的創建 數組是一組相同類型元素的集合。 數組的創建方式&#xff1a; type_t arr_name [const_n]; //type_t 是指數組的元素類型 //const_n是一個常量表達式&#xff0c;用來指定數組的大小 數組創建的實例&#xff1a; //代碼1int arr1[10]; …

虛幻引擎5-Unreal Engine筆記之“將MyStudent變量設置為一個BP_Student的實例”這句話如何理解?

虛幻引擎5-Unreal Engine筆記之“將MyStudent變量設置為一個BP_Student的實例”這句話如何理解&#xff1f; code review! 文章目錄 虛幻引擎5-Unreal Engine筆記之“將MyStudent變量設置為一個BP_Student的實例”這句話如何理解&#xff1f;理解這句話的關鍵點1.類&#xff08…