一.需求简介:使用二维数组划分物品的分区,物品出现的顺序为分区的顺序,分区内物品为权重随机. 例如:分区内有’item1:10,item2:20’表示item1出现的概率为10/30
二.九宫格类(代码)
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
/**
* 九宫格类
*
* @author insping
*
*/
public class SudokuBody {
String[][] sudokuItems = new String[9][9];
List<SudokuInfo> sudokuInfos = new ArrayList<>();
public SudokuBody() {
}
public String[][] getSudokuItems() {
return sudokuItems;
}
public void setSudokuItems(String[][] sudokuItems) {
this.sudokuItems = sudokuItems;
}
public List<SudokuInfo> getSudokuInfos() {
return sudokuInfos;
}
public void setSudokuInfos(List<SudokuInfo> sudokuInfos) {
this.sudokuInfos = sudokuInfos;
}
/**
* 判断翻过的ItemID是已经翻过
*
* @param totle
* @param string
* @return
*/
private boolean SudokuInfoIsExist(int start, String string) {
if (start >= sudokuInfos.size()) {
return false;
}
for (int index = start; index < sudokuInfos.s