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,300