对于不同的游戏模式, 生成卡组时, 选择不同的卡
This commit is contained in:
parent
b57070a799
commit
a23f973697
@ -7,6 +7,8 @@ export class SystemCardCfg implements Cfg {
|
|||||||
public point: number;
|
public point: number;
|
||||||
public weight: string;
|
public weight: string;
|
||||||
public weightArr: number[][];
|
public weightArr: number[][];
|
||||||
|
public baseUsage: boolean;
|
||||||
|
public advUsage: boolean;
|
||||||
public decode(data: any) {
|
public decode(data: any) {
|
||||||
this.id = data.id;
|
this.id = data.id;
|
||||||
this.type_id = data.type_id;
|
this.type_id = data.type_id;
|
||||||
@ -19,5 +21,7 @@ export class SystemCardCfg implements Cfg {
|
|||||||
let subArr = str.split(':');
|
let subArr = str.split(':');
|
||||||
this.weightArr.push([parseInt(subArr[0]), parseInt(subArr[1])]);
|
this.weightArr.push([parseInt(subArr[0]), parseInt(subArr[1])]);
|
||||||
}
|
}
|
||||||
|
this.baseUsage = !!data.primaryaccess
|
||||||
|
this.advUsage = !!data.intermediateaccess
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,8 +14,8 @@ export class BeginGameCommand extends Command<CardGameState, {}> {
|
|||||||
|
|
||||||
async execute() {
|
async execute() {
|
||||||
this.state.maxCardId = 0;
|
this.state.maxCardId = 0;
|
||||||
let card0 = gameUtil.initCardQue(1);
|
let card0 = gameUtil.initCardQue(1, this.state.advMode);
|
||||||
let card1 = gameUtil.initCardQue(card0.length + 1);
|
let card1 = gameUtil.initCardQue(card0.length + 1, this.state.advMode);
|
||||||
let cardAll = card0.concat(card1);
|
let cardAll = card0.concat(card1);
|
||||||
cardAll.randomSort();
|
cardAll.randomSort();
|
||||||
//FixMe:: 移除
|
//FixMe:: 移除
|
||||||
|
@ -16,7 +16,7 @@ let gameUtil = {
|
|||||||
/**
|
/**
|
||||||
* 游戏开始时, 初始化卡组
|
* 游戏开始时, 初始化卡组
|
||||||
*/
|
*/
|
||||||
initCardQue(beginNum: number) {
|
initCardQue(beginNum: number, advMode: boolean) {
|
||||||
let cards: Card[] = []
|
let cards: Card[] = []
|
||||||
let numCfgMap: Map<number, SystemCardCfg> = global.$cfg.get(BaseConst.SYSTEMCARD)
|
let numCfgMap: Map<number, SystemCardCfg> = global.$cfg.get(BaseConst.SYSTEMCARD)
|
||||||
let effCfgMap: Map<number, EffectCardCfg> = global.$cfg.get(BaseConst.EFFECTCARD)
|
let effCfgMap: Map<number, EffectCardCfg> = global.$cfg.get(BaseConst.EFFECTCARD)
|
||||||
@ -24,15 +24,17 @@ let gameUtil = {
|
|||||||
let countMap: Map<number, number> = new Map()
|
let countMap: Map<number, number> = new Map()
|
||||||
let localId = beginNum
|
let localId = beginNum
|
||||||
for (let [, cfg] of numCfgMap) {
|
for (let [, cfg] of numCfgMap) {
|
||||||
for (let i = 0; i < cfg.count; i++) {
|
if ((advMode && cfg.advUsage) || (!advMode && cfg.baseUsage)) {
|
||||||
let [effid, effType] = this.getRandomEffect(cfg.weightArr, effCfgMap, countMap)
|
for (let i = 0; i < cfg.count; i++) {
|
||||||
let type = cfg.type_id
|
let [effid, effType] = this.getRandomEffect(cfg.weightArr, effCfgMap, countMap)
|
||||||
// 如果效果的type_id为11, 说明是自选随从卡, 则将card的type改为11
|
let type = cfg.type_id
|
||||||
if (effType == EffectType.variable_unit) {
|
// 如果效果的type_id为11, 说明是自选随从卡, 则将card的type改为11
|
||||||
type = CardType.variable_unit
|
if (effType == EffectType.variable_unit) {
|
||||||
|
type = CardType.variable_unit
|
||||||
|
}
|
||||||
|
let card = new Card(localId++, cfg.point, type, effid)
|
||||||
|
cards.push(card)
|
||||||
}
|
}
|
||||||
let card = new Card(localId++, cfg.point, type, effid)
|
|
||||||
cards.push(card)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user