2022年1月3日 星期一

常闇的程式之路week 15

 我想讓發射出去的球能感應到上方的敵人,進而黏在空格上,但我意識到這是非常難的事情。其中有一個很大的原因,那就是我的敵人是用二維陣列繪製的。這讓每顆球的編號變得難以辨識,所以要解決這事情只能將敵人也用一維陣列繪製了,謝謝老師教我如何做這個判定:

  for(int i = 1 ;i <= 7 ;i++){

    for(int j = 1 ;j <= 10 ;j++){

      N++;

      ex[N-1] = j * r;ey[N-1] = i * r;

    }

  }

用這個二層迴圈給定一個總數為N的敵人顏色。

for(int i = 0 ;i < N ;i++){

    if(ec[i] == 1) {fill(#FC8585);ellipse(ex[i] ,ey[i] ,r ,r);}//紅

    if(ec[i] == 2) {fill(#FAFA86);ellipse(ex[i] ,ey[i] ,r ,r);}//黃

    if(ec[i] == 3) {fill(#86FA9C);ellipse(ex[i] ,ey[i] ,r ,r);}//綠

    if(ec[i] == 4) {fill(#8696FA);ellipse(ex[i] ,ey[i] ,r ,r);}//藍

這樣就能用單一迴圈繪製繪製二維方向的敵人囉,這樣判定起來簡單多了。

沒有留言:

張貼留言