0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2021-04-04

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

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

今回は

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

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

#目次

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

1.プログラムの内容

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

#2.GUIに表示 ①
2021-03-31.jpg

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に表示 ②

2021-03-31 (2).png

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()

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

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?