選擇困難症的福音——團隊Scrum衝刺階段-Day 4

選擇困難症的福音——團隊Scrum衝刺階段-Day 4

今日進展

  • 編寫提問部分
    • 作了不一樣問題所對應的遊戲選項,但關於遊戲分類的界面尚未作完
  • 增長功能
    • 昨天在主界面增長「關於咱們」的功能後我發出了一個跨越世紀的問題:收藏app幹什麼?咱們是要能讓客戶收藏小遊戲啊!

問題困難

  • 收藏小遊戲功能,吳恆佚同窗又提出了一個跨世紀的回答
    app

  • CanMoveToLeft(可否左移動)、CanMoveToRight(可否右移動)
    構建的方法:2個依據,根據方塊的x方位與本體所佔的格之和是否與最大(最小)x軸重合或者已有方塊重合spa

public static boolean canMoveToLeft(List<BlockUnit> blockUnits, int max_x, List<BlockUnit> allBlockUnits) {
   for (BlockUnit blockUnit : blockUnits) {
      int x = blockUnit.x;
      if (x - UNIT_SIZE < BEGIN) {
         return false;
      }
      int y = blockUnit.y;
      if (isSameUnit(x - UNIT_SIZE, y, allBlockUnits)) {
         return false;
      }
   }
   return true;
}
public static boolean canMoveToRight(List<BlockUnit> blockUnits, int max_x, List<BlockUnit> allBlockUnits) {
   for (BlockUnit blockUnit : blockUnits) {
      int x = blockUnit.x;
      if (x + UNIT_SIZE > max_x - UNIT_SIZE) {
         return false;
      }
      int y = blockUnit.y;
      if (isSameUnit(x + UNIT_SIZE, y, allBlockUnits)) {
         return false;
      }
   }
   return true;
}
  • CanMoveToDown(可否向下)
    構建的方法:2個依據,方塊的y軸+方塊大小是否到底,以及是否重合。
public static boolean canMoveToDown(List<BlockUnit> blockUnits, int max_y, List<BlockUnit> allBlockUnits) {
   for (BlockUnit blockUnit : blockUnits) {
      int x = blockUnit.x;
      int y = blockUnit.y + UNIT_SIZE * 2;
      if (y > max_y - UNIT_SIZE) {
         return false;
      }
      if (isSameUnit(x, y, allBlockUnits)) {
         return false;
      }
   }
   return true;
}

以上方法均爲循環(知識點:列表)設計

  • CanRoute(可否旋轉)
    構建方法:1個依據、是否有重疊的方塊,調用isSameUnit
public static boolean canRoute(List<BlockUnit> blockUnits, List<BlockUnit> allBlockUnits) {
   for (BlockUnit blockUnit : blockUnits) {
      if (isSameUnit(blockUnit.x, blockUnit.y, allBlockUnits)) {
         return false;
      }
   }
   return true;
}
  • CanCoutinueGame(可否繼續遊戲)
    構建方法:1個依據、y軸是否小於等於y軸最高
public static boolean canContinueGame(List<BlockUnit> allBlockUnits) {
   if (allBlockUnits.size() == 0) {
      return true;
   }
   for (BlockUnit blockUnit : allBlockUnits) {
      if (blockUnit.y <= BlockUnit.BEGIN) {
         return false;
      }
   }
   return true;
}
  • toLeft、toRight、toDown(左、右、下移)
    構建方法:進行相應的Canxx方法判斷左、右、下移進行改動對應的x、y值
public static boolean toLeft(List<BlockUnit> blockUnits, int max_x, List<BlockUnit> allBlockUnits) {
   if (canMoveToLeft(blockUnits, max_x, allBlockUnits)) {
      for (BlockUnit blockUnit : blockUnits) {
         blockUnit.x = blockUnit.x - UNIT_SIZE;
      }
      return true;
   }
   return false;
}
public static boolean toRight(List<BlockUnit> blockUnits, int max_x, List<BlockUnit> allBlockUnits) {
   if (canMoveToRight(blockUnits, max_x, allBlockUnits)) {
      for (BlockUnit blockUnit : blockUnits) {
         blockUnit.x = blockUnit.x + UNIT_SIZE;
      }
      return true;
   }
   return false;
}
public static void toDown(List<BlockUnit> blockUnits, int max_Y, List<BlockUnit> allBlockUnits) {
   for (BlockUnit blockUnit : blockUnits) {
      blockUnit.y = blockUnit.y + BlockUnit.UNIT_SIZE;
   }
}
  • isSameUnit(相同方法)
    構建方法:與以前找相同判斷相似
public static boolean isSameUnit(int x, int y, List<BlockUnit> allBlockUnits) {
   for (BlockUnit blockUnit : allBlockUnits) {
      if (Math.abs(x - blockUnit.x) < UNIT_SIZE && Math.abs(y - blockUnit.y) < UNIT_SIZE) {
         return true;
      }
   }
   return false;
}
  • remove(滿減)
    構建方法:當達到滿的時候,進行逆向遍歷獲得該行,並刪除該行
    (知識點:逆向遍歷)
public static void remove(List<BlockUnit> allBlockUnits, int j) {
   for (int i = allBlockUnits.size() - 1; i >= 0; i--) {
      
      if ((int) ((allBlockUnits.get(i).y - BEGIN) / 50) == j)
         allBlockUnits.remove(i);
   }
}

明日任務

嚴域俊:將收藏功能添加到每個小遊戲界面
吳恆佚:將收藏功能添加到每個小遊戲界面
曾程:博客、頁面設計
劉辰:彈框及頁面設計
鄧煜坤:改圖標
你們一塊兒決定:決定不增長背景音樂了3d

今日貢獻量

嚴域俊 吳恆佚 曾程 劉辰 鄧煜坤
3.5 3 3 3.5 3.5

站立式會議

TODOlist

todolist電腦更新後就沒了TAT 從新打開後以前的東西就沒了 我就從這一天開始須要實現的功能寫起了
更新:找到原來的那個界面了,將圖片改了

code

相關文章
相關標籤/搜索