Skip to content

Tzuchiao/Qt-CandyCrush

Repository files navigation

This is my Candy Crush Report !!!

遊戲截圖

image

Class 架構

image

A. MainWindow
MainWindow 為主要的GUI Class
其中調用game class的遊戲方式
主要為

void setlabel()
是用來初始化設定grid layout 和 buttons
讀入game class 中的2-D array
並且調用setImage來將值轉換成圖片
然後使用signalMapper和connection來將每個按鈕與on_pushButton_clicked(int id)吃一個按鈕的id做連結
並且on_pushButton_clicked(int id)會有兩個id之後才會動作+清空

void play()
是用來讀入兩個按鈕
首先利用isNear判斷是不是在隔壁
然後判斷兩個按鈕是否代表同樣的石頭
之後在利用條件判斷石頭或是炸彈並且做出動作
也是在這個函式
會有分數和步數的顯示
並且確認過關條件checkWin函式
之後在checkWin函式中
判斷條件傳出score 和 星數 和成功與否傳到Result class


B. game
game 中是主要的遊戲運算

void init()
為初始化亂數分配出石頭(6種)

void checkline()
這個函式為判斷是否有連線(分為row , col)
並且以數量去判斷出
為正常的3個,炸橫排或直排4個,星星5個
row+col都大等於三-> 炸彈

void rowBomb
void colBomb
即為正常的炸法
炸完之後會生成一排炸彈或是星星

void Bomb
則是炸彈的生成

void typeBomb
為四種炸彈的炸法

void moveDown
這個則是在炸空之後
把上面的石頭drop下來
並且傳入gener函式來將最上面空的重新亂數

C. Result
從MainWindow show出來
並且顯示出
Pass / Failed
Star星數
Score分數


以上 thx for reading

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published