サイコロ回して強制的に会話させる


はじめに

オンラインでの新学期や出会いの季節に、お互いのことを知るきっかけになる。活動の振り返りをするための対話が行える。質問を変えればなんでも話せちゃう。どんな質問が出るか、だれが話すか、少しドキドキ感を楽しみながら強制的に参加全員が会話させることが出る。

内容

一つ目のサイコロでか一人当てて、二つ目のサイコロで質問内容を当てる。

今回は

一つ目のサイコロ 二つ目のサイコロ
Aさん 今日の一日を振り返って
Bさん 私のささやかな幸せのとき
Cさん 最近ハマっている〇〇
Dさん 実は〇〇です
Eさん オンライン化で変わった 自分自身・私生活

サイコロ回して強制的に会話させます。

GUIに二種類のプログラム方法で表示させて行きます。

目次

  1. プログラムの内容
  2. GUIに表示 ①
  3. GUIに表示 ②
  4. まとめ

1.プログラムの内容

実際にPythonを用いてプログラムを組みました。
スタートボタンを押されると、ランダムで「誰」と「質問」が表示されます。

2.GUIに表示 ①

import random
import tkinter
from tkinter import font

import tkinter as tk
def btn_callback():
    print("ボタンが押されました")

#テキストサイズ
root = tkinter.Tk()
root.title("サイコロ回して会話")
root.geometry("600x350")

#誰と質問内容

a = ["Aさん","Bさん","Cさん","Dさん","Eさん",]

b = ["今日の一日を振り返って                                  ",
     "私のささやかな幸せのとき                                ", 
     "最近ハマっている〇〇                                    ", 
     "実は〇〇です                                           ",
     "オンライン化で変わった 自分自身・私生活                  "]

def btn_click():
    A = a()
    A_box.delete(0,tkinter.END)
    A_box.insert(0, a)

    B = b()
    B_box.delete(0,tkinter.END)
    B_box.insert(0, b)


#表示座標
min_number_lavel = tkinter.Label(text='誰')
min_number_lavel.place(x=30, y=50)
max_number_lavel = tkinter.Label(text='質問')
max_number_lavel.place(x=30, y=120)

def btn_callback():
    font2 = font.Font(family='Times', size=40)
    label3 = tkinter.Label(root,text=random.choice(a), font=font2)
    label3.place(x=130, y=50)

    font2 = font.Font(family='Times', size=20)
    label3 = tkinter.Label(root, text=random.choice(b), font=font2)
    label3.place(x=30, y=140)

# ボタンの作成
btn = tkinter.Button(root, text='スタートボタン'  ,command=btn_callback  )
#ボタンを配置する位置の設定
btn.place(x=150, y=220) 

# 画面をそのまま表示
root.mainloop()

GUIに表示 ②

import tkinter
import random

def makeA():
    number = random.randint(0,4)
    if number==0:
        A = 'Aさん'
    elif number==1:
        A = 'Bさん'
    elif number==2:
        A = 'Cさん'
    elif number==3:
        A = 'Dさん'
    elif number==4:
        A = 'Eさん'
        A = 'エラー'
    return(A)

def makeB():
    number = random.randint(5,10)
    if number==5:
        B = '今日の一日を振り返って'
    elif number==6:
        B = '私のささやかな幸せのとき'
    elif number==7:
        B = '最近ハマっている〇〇'
    elif number==8:
        B = '実は〇〇です'
    elif number==9:
        B = 'オンライン化で変わった 自分自身・私生活'
    else:
        B = 'エラー'
    return(B)

def btn_click():
    A = makeA()
    A_box.delete(0,tkinter.END)
    A_box.insert(0, A)

    B = makeB()
    B_box.delete(0,tkinter.END)
    B_box.insert(0, B)

tki = tkinter.Tk()
tki.geometry('350x200')
tki.title('サイコロの出目でお話をする')

min_number_lavel = tkinter.Label(text='誰')
min_number_lavel.place(x=25, y=40)
max_number_lavel = tkinter.Label(text='質問')
max_number_lavel.place(x=25, y=80)

A_box = tkinter.Entry(width=10)
A_box.place(x=60, y=40)
B_box = tkinter.Entry(width=40)
B_box.place(x=60, y=80)

#ボタンの作成
btn = tkinter.Button(tki, text='スタートボタン', command=btn_click)
btn.place(x=110,y=130)


# 画面をそのまま表示
tki.mainloop()

まとめ

すぐに使用しようとするとプログラムの内容書き換える必要があります。
今後は、別のファイルから読み込むプログラムを作りたいです。