C 三消載入寶石

2021-07-22 17:01:38 字數 920 閱讀 8953

看了原始碼3,4天,我最好奇的是,如何把8x8的寶石載入到螢幕上去,剛開始花了差不多一天的時間看原始碼,然後開始和各種.h,.cpp檔案戰鬥,因為一直困惑我的就是每乙個.cpp檔案間的聯絡,後來才知道,他們並沒有多大關係,,.head是源頭,,把你想寫的函式在裡面宣告,然後在.cpp檔案裡去完善,只需在標頭檔案那裡加上一句include即可。然後自我感覺加個好麻煩,,js裡面幾句話就可以了,,c++裡做的比較認真,先是載入紋理,只是讓先占用一定的記憶體,其中還涉及到一些記憶體的釋放清空。

跟js 思路一樣,載入時需要先判斷是否有三個可消除,直到載入出來的橫著或豎著都沒有可消除的才可以,這時候,從左下角開始判斷,橫著的,豎著的,如果有相同的就返回false,否則返回true,(my_jewelsbox[x - 1][y]是乙個c++容器,相當於動態的陣列,這裡是乙個二維陣列,關於容器的我之前的部落格中有提到)

bool jewelsgrid::isjewellegal(jewel* jewel, int x, int y)

else

}if (y > 1)

else

}return isxlegal && isylegal;}

當兩個變數都為true時,即可載入顯示在螢幕上,同時設定位置。

另外,我們載入寶石時有乙個隨機的type,js裡面是math.random()*6,這裡設定了6個id,從第乙個到第6個,

while (1)}

jewel* jewel::createbytype(int type,int x,int y)

else

}注意這兩段**是不同.cpp檔案裡的,,這是對於初次接觸c++遊戲**的我,有點凌亂的地方,為什麼寫的到處都是,,,,根據每乙個寶石的型別,座標進行載入,,,基本上是這樣,,再就是裡面涉及到的一些c++知識,還需要我去多多摸索和學習。

三消遊戲(三)

後面一些更改就是實現下落下標更改的方法。這個方法要在一開始檢測三色的時候呼叫 with3arr this.filterdelsame with3arr,return with3arrupdatecellfalldownnum function cell 還要刪除陣列裡的相同元素 filterdels...

寶石與石頭(C )

給定字串j 代表石頭中寶石的型別,和字串 s代表你擁有的石頭。s 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。j 中的字母不重複,j 和 s中的所有字元都是字母。字母區分大小寫,因此 a 和 a 是不同型別的石頭。題目位址 第一步 對j和s字串按從小到大排序 第二步 ...

三消遊戲(二)

做好了三消消除掉落之後,並且消除之後儲存在陣列之中 rrayindexarr this.filterdelsame specilarr,arrayindexarr if cell cell.settospecial 清除同顏色的塊兒 並且二維陣列中的位置置為null for var index in...