写if else , switch都比较low
来个配置表写法
// 这种语言一般策划配表,目测你是独立人,那就自己干
// content 说话内容
// sex 性别
// character 性格特点
// status 状态
// 。。。还可以加
// 性别定义
let SEX_ID = {
MAN : 0,
GIRL : 1
}
// 性格定义
let CHARACTOR_ID = {
}
// 状态定义
let STATUS_ID = {
}
// 这个语言可以用excel生成一个json,这样更方便管理
let messages = [
{content:"hello",sex:[0,1],character:[0,1],status:[0,1]},
{content:"lalala",sex:[0,1],character:[0],status:[0,1]},
{content:"fuck",sex:[0,1],character:[1],status:[1]},
]
// 获取某一角色在某状态下的一句话
function getMessage(sex:number,character:number,status:number){
let messagesList:any = [];
for (let index = 0; index < messages.length; index++) {
const messagesInfo:any = messages[index];
if (messagesInfo.sex.indexOf(sex) > -1 && messagesInfo.character.indexOf(character) > -1 && messagesInfo.status.indexOf(status) > -1){
messagesList.push(messagesInfo);
}
}
if (messagesList.length > 0){
// 这里随机一下,自然一点
let index = Math.floor(Math.random()*messagesList.length);
return messagesList[index].content;
}
return ""
}
console.log(getMessage(0,0,0));