>> ROB BOWDEN：你好。
我搶。
想知道如何實現這個遊戲？
好吧，讓我們打出來 員工的解決方案。
>> 所以，讓我們先低著頭給init 我們告訴你要的功能
第一個執行。
第一個，我們就來看看 在它的init槳。
好吧，那麼請記住，我們想要的 劃將完全集中在
在x軸上。
因此，我們需要弄清楚 在那裡，應該去。
>> 由於板的寬度 - 這 也湊定義往上頂 -
我們需要減去了槳寬度 和除以2，從而使
該槳葉的中心是在 該中心的董事會。
請記住，在x坐標指 擋板的左上角，
所以這是究竟在何處 我們希望它是。
y坐標無所謂 盡可能多的，因為我們可以將
但無論我們想要的。
因此，我們實例化槳，我們設置 色黑，我們設置填充為True
所以它是一個填充的矩形，而我們 然後將其添加到窗口，並返回
槳。
這就是它的初始化 槳。
>> 這將是類似的 用於初始化記分牌。
因此，我們要初始化的標籤， 我們將顏色設置為
淺灰色 - 你可以選擇任何你 想 - 我們要的字體設置為
無襯線48 -
也可以選擇任何你想要的 -
我們將它添加到窗口。
現在這個發送備份是不是真的 必要的，它只是在一些情況下，
事情發生在標籤重疊。
那麼當我們使用碰撞檢測， 碰撞檢測將檢測其他
當它檢測到標籤的事情之前。
但是，這真的不應該影響 我們這個計劃。
>> 最後，我們有這個更新記分牌 函數，我們寫。
因此，讓我們來看看那個。
現在，在這裡我們看到的東西的 幾乎是相同的東西
我們在label.c看到。
因此，我們有一個標籤 -
12個字符的字符緩衝區， 這僅僅是足以應付任何
整數，負的或正的。
然後，我們用sprintf複製 點到該緩衝區。
所以S這包含代表一個字符串 點的數目。
>> 最後，我們設置標籤 該字符串。
然後，我們需要居中的標籤 在例子中，我們已經從9至10
點，我們已經轉移了。
因此，我們計算在x和y坐標 標籤這將
得到的寬度和高度 窗外。
雖然，我們也可以只使用 常量寬度和高度哈希
定義往上頂。
我們也得到了寬度和高度 標籤和鴻溝
通過2至中心。
然後我們使用設置位置實際 把它放在那個位置。
所以這是它的初始化記分牌。
>> 確定。
因此，init球將是非常相似 給init撥片也是如此。
我們在這裡看到，我們使用newgoval 為了實例化一個新球。
在這裡，我們使用的是2倍的半徑 當球2的寬度，並
半徑為次 球的高度。
現在，還為newgoval，x和 y坐標，我們傳遞是怎麼回事
指的左上方 球，這實際上是
外球本身。
因此，為了讓球正好 集中在主板，我們需要傳遞
寬度除以2為中心，並 然後減去了半徑推
球的實際中心成 該中心的董事會。
和我們做同樣的事情 為y軸，不同的是使用
高度而不是寬度。
>> 使放置的球的中心。
與此實例的球，設置 顏色為黑色，填充球，
後來終於把它添加到 窗口並返回它。
這就是它的初始化 球。
>> 所以，現在讓我們來看看初始化 磚是稍微更
複雜，但它是相當 類似的init槳。
現在，我們首先需要弄清楚 每塊磚的寬度。
請記住，我們有一個叫做常數 調用它指定了
磚的列數 我們有。
所以，我們要確定寬度 通過取寬度的單個磚的
整板的，減去 從我們的縫隙的大小 -
這是哈希定義了頂部和指 向的像素數即
應該是每塊磚之間 -
所以我們就要有一個共 間隔時間調用一個空白像素
單列。
而這也將參照一些空白 像素的左側和右側
左欄和右欄中的磚。
>> 所以減去了那些空白像素 留給我們的像素的數目是
磚實際使用。
然後我們把通過調用來獲得 每磚的像素的數目。
所以在這裡我們定義一個數組，僅僅 指定我們要為每一種顏色
排磚。
如果我們有超過排磚 我們指定的顏色，我們拭目以待
那我們就回送及周圍 再次使用紅色，然後橙色和
黃色等。
>> 這樣，作為p設定規格的提示，我們 要遍歷所有的行和
磚塊列。
但是，我們遍歷所有的列之前，我們 看到這裡，我們正在指定
每塊磚的y位置 在特定的行。
我們也可以移動到這一點，第二 for循環，但隨後我們就只是
一遍又一遍做計算 再次，當我們不需要。
>> 所以地磚的y位置是怎麼回事 為餘量，這是散列
定義往上頂，只是指 電路板的頂部之間的空間
所有磚塊的開始。
而我們將要添加到該行 我們是在時代的高度
個別磚加的差距 這是每塊磚之間。
所以這也是一個垂直 每塊磚之間的差距。
所以，讓我們的y坐標 的磚。
>> 所以在這裡我們要計算 x坐標的磚。
現在，我們有差距，因為除以2， 記得以前，我說，在
電路板的左側，我們要 留下一點空間。
所以間隙除以2是該空間。
然後我們添加到該列 我們是在時間寬度加上
間隙，即寬度的空間量 單個磚塊佔用和
然後間隙空間 每塊磚之間。
以便計算x坐標 的磚。
>> 現在我們只需要實例化 磚給出x和y坐標
使用我們計算每個寬 磚和斷裂高度是
哈希定義往上頂。
我們設定磚的顏色。
我們正在使用我們的顏色陣列和注意事項 我們傳遞的是該行中
上模數的顏色這是會令 我們轉回到身邊的紅色，如果我們
比顏色更行。
最後，我們將填寫磚 顏色並將其添加到該窗口。
>> 就是這樣。
所以，這是它為我們所有的 初始化方法。
現在我們需要來看看，雖然 循環，你必須填寫。
所以在這裡我們看到，這是我們的，而 循環將會繼續下去，直到
比賽結束了，這不是手段 我們用盡生命或
我們運行了磚。
>> 我們有那麼第一件事 是一個等待點擊。
因此本場比賽等著我們來實際 點擊球開始移動之前。
然後我們要去 遞減的生活。
因此，如果我們有三個生命，現在我們 下降到兩個人的生命，我們用我們的
第三次生命。
我們要圍繞球。
所以，現在，這是不是真的要幫助 我們的第一個生命，我們玩
由於球是已經去 已經從中心時，我們
實例化它。
但是，我們看到，當我們最終失去了 生活和環回身邊，那麼我們
會希望從recenter球 電路板的底部回
的中心。
>> 所以，現在我們在這裡需要生成 球的X速度。
並且，按照該規範，我們以D蘭特 48，以產生一些隨機數
以指定的速度。
我們增加一到，既然我們只是 要在1的範圍內的速度
到的2代替零到1。
最後，我們以D蘭特48再次 為了確定球是否
將要移動到左邊 或有權啟動。
>> 因此d蘭特48返回一個隨機數 零和1之間，所以通過詢問
如果這是小於0.5，我們有一個50 50 切換的速度機會
球是負面的。
最後，我們設置的垂直速度 球到只是某個常數。
我們選擇三種。
現在我們有另一個循環。
>> 所以這個內循環是 是否要繼續。
注意這裡，而磚 大於零， -
因此，如果我們運行了磚，我們已經 贏得了比賽，我們可以
打破這個循環 -
和所有獲取Y滾珠比高度不 減去2倍的半徑。
那麼，這是認識到的是，如果在 球恰好晃過槳，在
這種情況下，你已經失去了生命。
>> 尋找這裡面的for循環，我們有 在檢查一個鼠標事件。
因此，如果有一個鼠標事件，該 意味著我們要檢查，
見，如果鼠標被移動，並且如果 鼠標被移動了，我們希望有
槳跟上鼠標。
因此，要做到這一點，我們計算新 槳，這是怎麼回事的位置
搶鼠標的位置 - 它採用抓起​​位置
倘若我們通過 -
然後我們要減去了 槳葉的寬度除以2，所以
槳住宿集中在鼠標 代替槳的左側
住居中。
>> 所以，現在我們也希望確保我們 不走在左邊或右邊
電路板的一面。
所以在這裡我們只是檢查，如果 槳將是關閉的左側
董事會，只是堅持 它的左側。
在這裡，我們正在檢查，如果槳 將在右側的
板，只需把它貼 向右側。
最後，我們其實設置 擋板的位置。
>> 現在，如果沒有一個鼠標移動， 這意味著我們要
要移動球。
因此，我們已經有了在x 和球y的速度
所以我們移動它。
但現在我們要檢測 一對夫婦的事情。
所以在這裡我們要檢測，如果我們要么打 的左側或右側
板，我們希望把球反彈。
因此，在這種情況下，令x速度 到負x速度。
>> 如果球擊中了電路板的頂層， 那麼我們也希望球反彈。
但是，現在我們要改變 在y速度。
請注意，我們不具備的條件 球擊中的底部
因為該板已經被抓獲 在這裡在這個while循環。
>> 最後，我們要檢測一些 碰撞中，如果球擊中
無論是槳或磚，我們要 做一些特殊情況下的東西。
所以，如果有一個碰撞，其中 案例對象將不能為空，那麼，
如果對象打槳，我們會 只是想反彈球。
這裡，另外，我們設置的位置 球只槳以上。
請注意，我們正在採取的x坐標位置 球，只是重用。
但在這裡，我們得到的y位置 槳和移動球
槳以上。
>> 這是一種特殊情況，以使球 不打槳，然後，
之前，它能夠移出槳， 另一個循環善有善報和
它認為它仍然在面板上和 所以在y速度被重新設置為
負面然後將球正中下懷 枝彈跳上的槳。
所以，如果我們沒有打槳， 那麼我們還需要檢查
如果我們打磚。
所以這是我們該如何檢查 看看我們打磚。
>> 我們需要檢查這一點，因為我們可能 其實打標籤，而我們
不想刪除該標籤。
因此，如果我們打一塊磚，我們可以刪除 從窗口，磚遞減
我們對磚的數量，增加我們的 點的數量，現在我們需要
更新這正是記分牌 同樣的，因為我們，當我們看到以前看過
初始化記分牌。
但是，現在我們只是更新 記分牌，因為我們已經改變了
點的數目。
它現在應該顯示 我們打多一個突破。
>> 最後，如果我們打磚 我們也想反彈。
所以最後，我們只是暫停，這樣的 球是不動的超級快，我們
其實可以打我們的槳。
而這幾乎是它。
所以，現在我們將循環回到頂部 這個while循環，並持續到
要么我們失去了生命或 我們運行了磚。
>> 如果我們失去了生命，會發生什麼？
然後我們要退出這個while 循環，我們將看到將循環備份
到外while循環的頂部。
在這種情況下，我們要 執行此重新設置。
而這個設置都將有我們拭目以待 一點擊，我們的遞減數
生命，recenter球，重新計算 的x和y的速度，並
然後繼續遊戲。
>> 因此，將一直持續，直到 磚結束是小於
或等於零 -
在這種情況下，我們贏得了比賽 -
或生命小於零，其中 情況下，我們已經輸掉了比賽。
因此，一旦是那樣的話，我們打出來 while循環中，我們到達這裡
我們要去的地方等待點擊 退出遊戲之前，這樣的
遊戲不只是立即 關閉我們。
最後，我們將關閉 窗口，就是這樣。
我的名字是羅布，這是突圍。