def get_random_names(rk_user, params): """ 取得随机名字 返回:man_names:['xxx','yyy'], female_names:['xxx','yyy'] 当我们随机选名字,有 300 * 300 * 300 = 2700万, 同名总概率会很低, 并且大多用户会改用自己喜欢的名字? 纯随机选名,是简单的,可行的。 反正最后把用户选择的名字存到数据库时, 都是要查是否重名的。 rk_user.set_name 调用 UserName.set_name, UserName的 pk 是 name, 若重复,报错 """ random_list_man = [] random_list_female = [] for i in range(20): while True: male_name = ( random.choice(male_name_parts["1"]) + random.choice(male_name_parts["2"]) + random.choice(male_name_parts["3"]) ) if not (utils.is_sense_word(male_name) or Names.get(male_name)): break while True: female_name = ( random.choice(female_name_parts["1"]) + random.choice(female_name_parts["2"]) + random.choice(female_name_parts["3"]) ) if not (utils.is_sense_word(female_name) or Names.get(female_name)): break # if Random_Names.find({'name': male_name}): # #重名的概率更小一次 # male_name = random.choice(male_name_parts['1']) + \ # random.choice(male_name_parts['2']) + \ # random.choice(male_name_parts['3']) # if Random_Names.find({'name': female_name}): # #重名的概率更小一次 # female_name = random.choice(female_name_parts['1']) + \ # random.choice(female_name_parts['2']) + \ # random.choice(female_name_parts['3']) random_list_man += [male_name] random_list_female += [female_name] data = {} data["man_names"] = random_list_man data["female_names"] = random_list_female return data
def get_random_names(rk_user, params): """ 取得随机名字 返回:man_names:['xxx','yyy'], female_names:['xxx','yyy'] 当我们随机选名字,有 300 * 300 * 300 = 2700万, 同名总概率会很低, 并且大多用户会改用自己喜欢的名字? 纯随机选名,是简单的,可行的。 反正最后把用户选择的名字存到数据库时, 都是要查是否重名的。 rk_user.set_name 调用 UserName.set_name, UserName的 pk 是 name, 若重复,报错 """ random_list_man = [] random_list_female = [] for i in range(20): while True: male_name = (random.choice(male_name_parts['1']) + random.choice(male_name_parts['2']) + random.choice(male_name_parts['3'])) if not (utils.is_sense_word(male_name) or Names.get(male_name)): break while True: female_name = (random.choice(female_name_parts['1']) + random.choice(female_name_parts['2']) + random.choice(female_name_parts['3'])) if not (utils.is_sense_word(female_name) or Names.get(female_name)): break #if Random_Names.find({'name': male_name}): # #重名的概率更小一次 # male_name = random.choice(male_name_parts['1']) + \ # random.choice(male_name_parts['2']) + \ # random.choice(male_name_parts['3']) #if Random_Names.find({'name': female_name}): # #重名的概率更小一次 # female_name = random.choice(female_name_parts['1']) + \ # random.choice(female_name_parts['2']) + \ # random.choice(female_name_parts['3']) random_list_man += [male_name] random_list_female += [female_name] data = {} data['man_names'] = random_list_man data['female_names'] = random_list_female return data
def set_name(rk_user, params): ''' 新手引导设置名称和性别 name 名字 sex 性别 man / woman ''' name = params.get('name', '') step = int(params.get('step', 0)) if len(name.strip()) <= 0: raise GameLogicError('user', 'name_cannot_null') if utils.is_sense_word(name): raise GameLogicError('user', 'wrong_words') if Names.get(name): #rk_user调用 UserName.set_name, UserName的 pk 是 name, 若重复,报错 raise GameLogicError('user', 'name_exist') rk_user.set_name(name) Names.set_name(rk_user.uid, name) if step: #设置新手引导的步骤 rk_user.user_property.set_newbie_steps(step, "set_name") sex = params.get('sex', 'man') rk_user.set_sex(sex) return {}
def set_name(rk_user, params): """ 新手引导设置名称和性别 name 名字 sex 性别 man / woman """ name = params.get("name", "") step = int(params.get("step", 0)) if len(name.strip()) <= 0: raise GameLogicError("user", "name_cannot_null") if utils.is_sense_word(name): raise GameLogicError("user", "wrong_words") if Names.get(name): # rk_user调用 UserName.set_name, UserName的 pk 是 name, 若重复,报错 raise GameLogicError("user", "name_exist") rk_user.set_name(name) Names.set_name(rk_user.uid, name) if step: # 设置新手引导的步骤 rk_user.user_property.set_newbie_steps(step, "set_name") sex = params.get("sex", "man") rk_user.set_sex(sex) return {}