2015-05-02 89 views
0

我差不多完成了我的像素pacman ,並試圖找出怪物應該如何避免與上電和激發藥丸的碰撞 如果你運行遊戲,你會看到代表 的黃色是pacman 紅色是鬼魂 紫色是簡單的藥丸 綠色是激情丸(如果你吃他們,你可以吃鬼)。 我這裏的問題是,即時通訊有困難的時候,怪物不會「吃」紅色或綠色的點。這裏是我的主要結構忽略pacman遊戲中的「碰撞」

struct info { 
     int curX; 
     int curY; 
     char color; 
     int alive; 
    }; 

也是每個怪物的舉動表示這樣

if (rand1 == 1){ //random up 
         if(infos[i].curY > 50){ 
          for (j = 0 ;j < 18 ; j++){ 
           set_board(infos[i].curX,infos[i].curY,0);        
           set_board(infos[i].curX,--infos[i].curY,4); 

如果怪物是一樣的位置,因爲它會覆蓋它(即我不希望發生的事情像素)

回答

1

看來你的問題是一個顯示,而不是一個遊戲邏輯。據我所知,當鬼魂越過小球時,它們被擦除。看來這裏的答案只是在鬼魂經過它們之後重畫了粒子。你稱這個像素爲pacman:這是否意味着每個實體都被顯示爲一個像素?如果是這樣,解決方案只是在鬼影移動到下一個位置時,將像素變回原來的顏色而不是黑色(我猜這就是您沒有顯示任何內容時選擇的顏色)。