baba is you
2020大作業
@piepie01
Good game!
Demo
What we're going to do~
Setting up
作業下載 & 實際操作
step 1
- 下載到桌面
- 解壓縮
step 2
- 打開anaconda prompt
step 3
- 安裝pygame套件
pip install pygame
step 4
- 進到baba_is_you的目錄
- cd dir_name
- 進入某個目錄
- dir
- 看當前目錄下的檔案們
step 5
- 執行main.py
python main.py
step 6
- 開始玩
step 7
- 開始寫作業
- 找個編輯器
- jupyter notebook
- 記得儲存完再執行!
按他
Getting start
參數介紹 & baba動起來
Movement.py
What you see
def up(shot):
print(shot.width, shot.height)
print(shot.dir_objects)
print(shot.objects)
print(shot.win)
return shot
def down(shot):
return shot
def left(shot):
return shot
def right(shot):
return shot
Who call the function
- 當使用者按上下左右
- 按一次上 = 跑一次up function
def up(shot):
print(shot.width, shot.height)
print(shot.dir_objects)
print(shot.objects)
print(shot.win)
return shot
def down(shot):
return shot
def left(shot):
return shot
def right(shot):
return shot
width & height
- 遊戲視窗的長寬
def up(shot):
print(shot.width, shot.height)
# 20 20
dir_objects
- 有方向性的東西們
- 未來會有擴充包
- A dictionary
- key : 某個東西
- value :位置們
- 一個東西可能有很多個
def up(shot):
print(shot.dir_objects)
# {'baba' : [[5, 5], [6, 6]]}
objects
- 沒有方向性的東西們
- A dictionary
- key : 某個東西
- value :位置們
- 一個東西可能有很多個
def up(shot):
print(shot.objects)
# {'flag' : [[15, 15]],
# 'text_baba' : [[3, 3]]}
win
- 布林變數
- True : 贏
- False : 還沒贏
def up(shot):
print(shot.win)
# False
return
- 將使用這做完操作的結果回傳
- TODO:更改shot裡面的內容並回傳
- 東西的位置
- 東西的數量
def up(shot):
return shot
連連看
'baba'
'wall'
'flag'
'text_is'
'text_baba'
'text_you'
'text_flag'
'text_win'
'text_wall'
'text_stop'
Your turn
- 按上下左右
- baba的位置會一起動
- 記得儲存完再執行!
Part 1
score : 30/100
Rules
- baba能上下左右移動
- baba不能超出地圖邊界
- 只能修改Movement.py
Part 2
score : 50/100
Rules
- 地圖上所有東西都要能夠推
- 連著的東西也要能推動
- 所有東西都不能超出地圖邊界
- 只能修改Movement.py
Part 3
score : 10/100
Rules
- 預設只有文字可以推
- 支援語法
- 只能修改Movement.py
支援語法
- 性質 : you, stop, win
- 東西 : baba, wall, flag
- 語法成立 : 從左唸到右 or 從上唸到下 是 [東西] is [性質]
- 該東西會持有該性質
- 東西可以擁有很多性質
性質們
- you : 你在操控的東西
- stop : 不能穿越過去(任何東西不能踩在它上面)
- win : 當you踩在win的東西上,即為勝利
Part 4
score : 10/100
支援新語法
- [東西a] is [東西b]
- 當語法成立時,東西a會變成東西b
- 只能修改Movement.py
繳交方式
- 表單連結
- !!!只繳交Movement.py即可!!!
- Due date : 4/30(四)23:59
2020py baba_is_you
By piepie01
2020py baba_is_you
- 1,309