Beispiel #1
0
 def get_chara(self):
     result = []
     c = chara.fromname(random.choice(self.player), 3)
     result.append(c)
     while len(result) != 4:
         c = chara.fromname(random.choice(self.player), 3)
         result_name = [f'{i.name}' for i in result]
         if c.name not in result_name:
             result.append(c)
     return result
Beispiel #2
0
async def on_input_chara_name(bot, ev: CQEvent):
    game = gm.get_game(ev.group_id)
    if not game or game.winner:
        return
    c = chara.fromname(ev.message.extract_plain_text(), game.answer[1])
    if c.id != chara.UNKNOWN and c.id == game.answer[0]:
        game.winner = ev.user_id
        n = game.record()
        msg = f"正确答案是:{c.name}{c.icon.cqcode}\n{Seg.at(ev.user_id)}猜对了,真厉害!TA已经猜对{n}次了~\n(此轮游戏将在几秒后自动结束,请耐心等待)"
        await bot.send(ev, msg)
Beispiel #3
0
async def on_input_chara_name(bot, ev: CQEvent):
    game = gm.get_game(ev.group_id)
    if not game or game.winner:
        return
    c = chara.fromname(ev.message.extract_plain_text())
    if c.id != chara.UNKNOWN and c.id == game.answer:
        game.winner = ev.user_id
        n = game.record()
        gm.exit_game(ev.group_id)
        msg = f"正确答案是: {c.name}{c.icon.cqcode}\n{MessageSegment.at(ev.user_id)}猜对了,真厉害!TA已经猜对{n}次了~"
        await bot.send(ev, msg)
Beispiel #4
0
def get_card_name_with_rarity(card_name):
    if card_name.startswith('超稀有'):
        chara_suffix = card_name[0:2]
        chara_nickname = card_name[3:]
    elif card_name.startswith('稀有'):
        chara_suffix = card_name[0:1]
        chara_nickname = card_name[2:]
    else:
        chara_suffix = ''
        chara_nickname = card_name
    chara_name = chara.fromname(chara_nickname).name
    return f'{chara_suffix}「{chara_name}」'
async def on_input_chara_name(bot, ev: CQEvent):
    game = gm.get_game(ev.group_id)
    if not game or game.winner:
        return
    c = chara.fromname(ev.message.extract_plain_text())
    if c.id != chara.UNKNOWN and c.id == game.answer:
        game.winner = ev.user_id
        n = game.record()
        gm.exit_game(ev.group_id)
        jewel_counter = jewel.jewelCounter()
        winning_jewel = 70
        jewel_counter._add_jewel(ev.group_id, ev.user_id, winning_jewel)
        msg_part2 = f'获得了{winning_jewel}宝石'
        msg = f"正确答案是: {c.name}{c.icon.cqcode}\n{MessageSegment.at(ev.user_id)}猜对了,真厉害!TA已经猜对{n}次了~\n{msg_part2}"
        await bot.send(ev, msg)
async def on_input_chara_name(bot, ev: CQEvent):
    game = gm.get_game(ev.group_id)
    if not game or game.winner:
        return
    c = chara.fromname(ev.message.extract_plain_text())
    if c.id != chara.UNKNOWN and c.id == game.answer:
        game.winner = ev.user_id
        n = game.record()
        uid = ev.user_id
        gid = ev.group_id
        msg = f"正确答案是: {c.name}{c.icon.cqcode}\n{MessageSegment.at(ev.user_id)}猜对了,真厉害!TA已经猜对{n}次了~\n"
        if lm.check((gid, uid)):
            msg += f'TA获得了{PRICE}金币!'
            lm.increase((gid, uid))
            score_counter = ScoreCounter2()
            score_counter._add_score(gid, uid, PRICE)
        else:
            msg += f'由于本游戏每日可获得最多{MAX_NUM}次金币,所以本次游戏TA将不再获得。'
        game.remove_schedule()
        gm.exit_game(ev.group_id)
        await bot.send(ev, msg)
Beispiel #7
0
 def get_num(self):
     result = []
     for _ in range(4):
         c = chara.fromname(self.number[_], 3)
         result.append(c)
     return result
def get_card_name_with_rarity(string):
    rarity = 1 if string.startswith('稀有') else 0
    chara_nickname = string[2:] if rarity else string
    chara_name = chara.fromname(chara_nickname).name
    return f'稀有「{chara_name}」' if rarity else f'「{chara_name}」'