iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0

今天要來寫我一直很想寫的遊戲類機器人!
我發現dc機器人有很多但是遊戲類的dc機器人卻很少,所以我想先來寫一個簡單且好玩的遊戲機器人,骰子比大小!

1.構思

1.骰子隨機點數用random
2.首先因為我只有一個玩家不是兩個,所以在遊戲設計上就要變成猜骰子大小
3.只有一顆骰子會有點無聊所以用兩顆骰子的總和來猜大小
4.要顧慮到可能會輸入錯誤所以要有提醒說,你輸入錯誤了,請輸入大或小

2.程式碼

import random
import discord
from discord.ext import commands

intents = discord.Intents.all()


bot = commands.Bot(command_prefix='!', intents=intents)

def roll_dice():
    return random.randint(1, 6)

@bot.event
async def on_ready():
    print(f'Logged in as {bot.user.name}')

@bot.command()
async def 猜大小(ctx, guess: str):

    if guess not in ['大', '小']:
        await ctx.send('無效的猜測,請輸入 "大" 或 "小"。')
        return

    first_roll = roll_dice()
    second_roll = roll_dice()
    total = first_roll + second_roll

    await ctx.send(f'第一次骰子點數:{first_roll}')
    await ctx.send(f'第二次骰子點數:{second_roll}')
    await ctx.send(f'點數總和:{total}')

    if (guess == '大' and total >= 9) or (guess == '小' and total <= 8):
        await ctx.send('恭喜,你猜對了!')
    else:
        await ctx.send('很遺憾,你猜錯了。')

bot.run('token')

3.程式碼說明

1.設置random範圍在1-6之間
2.bot.event是來確認機器人有正常執行
3.判斷是否有輸入錯誤
4.將兩顆骰子數值加起來
5.大是兩顆骰子點數相加大於等於9,小是兩顆骰子加起來小於等於8,判斷玩家答案是否猜對

4.執行結果

https://ithelp.ithome.com.tw/upload/images/20231002/20161116S2SgbmIXHK.png

https://ithelp.ithome.com.tw/upload/images/20231002/20161116tfh3vo8Pp4.png

https://ithelp.ithome.com.tw/upload/images/20231002/20161116P8JjUmeE1b.png


上一篇
[Day19] discord.py slash_command問題解決(下)
下一篇
[Day21] 骰子機器人2.0
系列文
使用discord.py開發自己的機器人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言