Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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 {}
Beispiel #4
0
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 {}