Python期末專案-推箱子 第十組 4103053041 資工三 康景翔 4103053008 資工三 王亭云.

Slides:



Advertisements
Similar presentations
教育部 1 教育部技職司 南區: 2010 年 11 月 5 日 北區: 2010 年 11 月 8 日 中區: 2010 年 11 月 9 日 產學攜手合作計畫 政策宣導.
Advertisements

104 年度環保小學堂 經費編列注意事項 會計室 : 丁子芸 中華民國 103 年 10 月 22 日 會計室 : 丁子芸 中華民國 103 年 10 月 22 日.
1 安全乘坐电梯 与大型游乐设施 福建省特检院宁德分院党支部 王祖生 特种设备安全知识进校园.
昆明机场. 目录  机场历史 机场历史  建设状况 建设状况  运行状况 运行状况  航线 航线.
高一年级组家长会. 一、考试成绩分析 二、存在的问题 三、给家长的建议 四、科任教师交流 表扬 1 、 年级组语数外成绩优异同学 ( 年级排名 ) 李 芮第 1 名 吕明洋第 2 名 王 越第 3 名 杨天宇第 4 名 张凯燕第 5 名 李 曦第 7 名 魏书静第 8 名 项春怡第 10 名 郑明明第.
沟通交流 活动有序 内容轻松 文明守纪 团结共进 1. 成立家长委员会, 通知 15 人明天下午 3-5 点五楼报告厅 “ 全面育人教育论坛 ” 2. 介绍附中、年级、班级的规范和要求 日常行为规范,高中学习特点,考试、作业要求 3. 开学以来年级、班级开展的工作及安排 开学以来年级、班级开展的工作及安排.
第十四章 人口(二) 高中地理(一). 第一節 人口成長 第二節 人口組成 第三節 人口問題 第十四章 人口(二)
中國歷史 社會主義文化大革命 我們的報告是關於中國著名的革命 —— 文化大革命。你可會立即想到它何時發 生、怎麼會發生等等。我們將會介紹文 化大革命,希望你細心欣賞。
党课讲座 入党的条件与程序.
中國大陸教育 督導制度探究 凌林煌教授/博士 講授 國立中山大學共同科歷史學程
1、毛将后代握手言欢泯恩怨 2、美国总统奥巴马访华.
大学生安全防范知识 城北派出所 陶燕雄.
远 方 宽厚肩膀,手指干净而修长。 笑声像大海,眼睛里有阳光。 我想象你,一定就是这样。 还没出现,就已对你爱恋;还没遇见,就先有了思念。
情境导入: 诚信是金 同学们,这是一个非常经典的故事。请大家思考当小男孩真的遇到狼时,为什么没人去救他呢? 你从中得到了什么启示?狼来了.MP4.
温故知新 犬 戎 公元前 770年 周平王 公元前771年 东周 洛邑 西周 镐京.
从生命伦理学角度 对转基因食品市场准入标准及道德评价标准的研究
让我们走进秋天.
欢迎各位家长 同样的心情 一样的期待 初二(2)班家长会.
欢迎各位家长的到来! 沟通 交流 协作 初二 班家长会.
家校同心, 师生同行 ——八(五、六)班家长会.
“他的人生观真是一种‘单纯信仰’,这里面只有三个大字:一个是爱,一个是自由,一个是美。他梦想这三个理想的条件能够回合在一个人生里,这是他的‘单纯信仰’。他的一生的历史,只是他追求这个单纯信仰的实现的历史。” ——胡适《追悼志摩》
欢迎各位家长光临 初二(1)班家长会
学习情境七 领队业务 【学习目标】 了解领队工作职责; 掌握领队的工作程序; 掌握领队的服务要点。 【技能目标】
蒙古与苗族的特色建筑 项艺烽小组 最炫民族风.mp3.
第一章 教育与教育学 讲授提纲 教育与教育学 思考题目 主讲: 白彦茹(教授) 阅读文献 教学目的与要求 教学重点与难点 退出.
我国政府受人民的监督 权力的行使:需要监督.
鹽酥蝦 蝦子先處理好 蝦頭剪至眼睛處,鬚及蝦頭的小腳也都剪乾淨 2 再用廚房用剪刀開背去腸泥
大聲一點又如何? 打耳光、重擊或大聲音會使聲波以極大的力量快速撞擊鼓膜而傷害鼓膜。 事先知道要聽到很大的聲音要張開嘴巴。
第四节 K线图研判技巧.
一分钟电话营销分享 刘瑾.
热烈欢迎您 参加家长会!.
Pygame 講者:張浩軒.
旅游资源赏析.
個人投資理財分析 財務狀況匯總表 銀行存款 共同基金 外幣基金 股票投資 保險價值 黃金投資 支出預算 房貸計算 不動產價值 資源變化資料庫
欢迎各位家长 参加初一八班的家长会!.
道路交通事故處理.
通州市教研室 王作良 邮箱 06高考复习讲座 通州市教研室 王作良 邮箱
類別圖 方塊 (bricks) 背景 (bg) 技能 (skill) 位置 圖片 產生 移動 掉落 位置 圖片 儲存 消除 畫出 規則 效果
令我后悔的一件事.
高中地理(一) 第十六章 產業(二)林、漁、礦業.
第七章 人 口 第一節 種族的分布與現況 第二節 人口結構與成長 第三節 人口問題 總目錄.
第三章 文学作为活动.
宗教故事 Back >> 【被逐出樂園】米開朗基羅1508~12年.壁畫
2.4 民主监督—— 守望公共家园.
立體圖形、圖形變換、空間 第十一組 廖芳苓 葉玟孝 林佩君.
視野死角與內輪差 埔心國小交通安全團隊.
題目:十六對一多工器 姓名:李國豪 學號:B
第 1 章 使用 APP INVENTOR 2 開發 ANDROID APP
資料結構設計與C++程式應用 Fundamentals of Data Structures and Their Applications Using C++ 第3章 佇列 資料結構設計與C++程式應用.
Q101 在701 SDX Linux上的標準安裝與使用程序v2
R教學 安裝RStudio 羅琪老師.
Snake Battle 指導教授: 曾學文 組員: 鄭涵德 趙一驎
Text To Speech (TTS, 文字轉語音) 靜宜大學資管系 楊子青
電腦遊戲設計-第十組 指導老師:江清水 資三B 謝孟穎 資三B 陳沛蓁 資三B 謝家蓉
第十讲 刘少奇与中国革命和建设.
讓Emulator可以 使用Android Market
期末考.
歐巴桑症候群 *** 歐巴桑症候群***.
GridView操作 (II).
CVPlayer下載及安裝& IVS操作說明
FTP使用教學 簡介: 軟體名稱:FileZilla 軟體性質:Freeware 版本: 繁體中文版
Text To Speech (TTS, 文字轉語音) 靜宜大學資管系 楊子青
Flash 8:開口中 從Y:\ 複製『開口中.fla』到 D:\ 更改名稱為:s3x99 (你的班號) 雙按開啟檔案 2019年5月7日
Pygame之2048.
陣列與結構.
作業
專案建置與封裝程式 建國科技大學 資管系 饒瑞佶.
景文科技大學學生校外實習訪視暨差旅費核銷說明
Presentation transcript:

Python期末專案-推箱子 第十組 4103053041 資工三 康景翔 4103053008 資工三 王亭云

Outline 題目 程式碼/實現方式 成果呈現

題目 :一個允許多人連線的推箱子 將箱子推到指定位置上 一旦箱子被移動到角落, 玩家沒有任何方法再移動這個被推到角落的箱子 目前看到的皆為單機版本 加入連線的元素讓好友可以一起同樂 加入不同角色使用不同能力增加樂趣

程式碼/實現方式 :Pygame 設計用來開發電子遊戲的跨平臺Python模組 適合設計2D遊戲 免費下載和安裝使用

程式碼/實現方式 :地圖載入 參考其他基本倉庫番的迷宮/地圖 使用串列存值,在依照不同值載入不同圖片 障礙物 目的地 箱子 參考其他基本倉庫番的迷宮/地圖 使用串列存值,在依照不同值載入不同圖片 surface.blit(圖片名稱,圖片位置) 設置圖片

程式碼/實現方式 :音樂 一般使用pygame.mixer.music播放MP3類型的音樂 //load載入test.mp3檔案 pygame.mixer.music.load('test.mp3') //play(-1)設定重複撥放 pygame.mixer.music.play(-1)

程式碼/實現方式 :鍵盤與滑鼠操作 pygame.event.get()接收鍵盤與滑鼠動作 for event in pygame.event.get(): if event.type ==QUIT: pygame.quit() sys.exit() if event.type==KEYDOWN: if event.key==K_LEFT: //左移 if event.key==K_RIGHT: //右移 if event.key==K_UP: //上移 if event.key==K_DOWN: //下移 if event.type==KEYUP: if event.key==K_LEFT: movex=0 if event.key==K_RIGHT: if event.key==K_UP: movey=0 if event.key==K_DOWN: if event.type == MOUSEBUTTONDOWN: //按鈕相關操作

程式碼/實現方式 :人物移動 使用當前人物座標以及即將移動到的位置座標判斷能否移動 x人物當前位置x座標 y人物當前位置y座標 movex KEYDOWN設置的移動x座標 movey KEYDOWN設置的移動y座標 canmove=0人可移動,預設為0 防止人物跑出視窗 箱子可以被推動 即將推動箱子判斷箱子後有無障礙物 往前走會撞壁

程式碼/實現方式 :箱子移動 箱子可被推動 判斷箱子是否會覆蓋目的地標誌 當前位置設為3標誌 箱子已經覆蓋標誌 箱子沒覆蓋標誌 推完箱子後將會覆蓋 箱子已經覆蓋標誌 推完箱子後也會覆蓋 當前位置設為3標誌 下一個位置設為5箱子+標誌 當前位置設為0一般可行走的區域 推完箱子後不會覆蓋 下一個位置設為2箱子 箱子沒有覆蓋標誌 推完箱子也不會覆蓋

程式碼/實現方式 :按鈕-reset 重新開始當前關卡 reset_num = reset_num – 1 //重新開始機會-1 if (stage == 1): stage1() elif (stage == 2): stage2() elif (stage == 3): stage3() else: stage4() 1.判斷當前的關卡 2.呼叫對應函數 3.陣列值設定為初始值

程式碼/實現方式 :按鈕-change 更換關卡 stage = random.randint(1,4) //隨機產生關卡 while curstage == stage: //當前關卡=隨機產生的關卡 stage = random.randint(1,4) if (stage == 1): stage1() elif (stage == 2): stage2() elif (stage == 3): stage3() else: stage4() curstage = stage //存取新的當前關卡 1.呼叫對應函數 2.陣列值設定為初始值

程式碼/實現方式 :按鈕-back 回到上一次箱子移動前的狀態 使用串列存取上一次箱子移動前的: 1.人的位置 2.普通箱子的位置 3. 箱子+標誌 4.被箱子蓋住的標誌的箱子的位置(無-1) 5.被箱子蓋住的一般道路的位置

程式碼/實現方式 :按鈕-back 在箱子移動時存取各位置 箱子目前覆蓋標誌,推完後也會覆蓋標誌

程式碼/實現方式 :按鈕-back 按下back按鈕後將值存回去 取出最後存入串列的值並將他從串列刪除 上一步是箱子的座標存回箱子代號 上一步是標誌的座標存回標誌 …

程式碼/實現方式 :Server_Socket-非阻塞

程式碼/實現方式 :Server_Socket-非阻塞

程式碼/實現方式 :Client_Socket-非阻塞

成果呈現-Demo