🌸 「なでしこ」
>
🍯 「貯蔵庫」
🍯 プログラム貯蔵庫
🌟新規
📒一覧
🔌
🔍検索
🚪ログイン
ログイン
していません。
[
📌文法
] [
🎨命令一覧
]
[編集モード] ルーレット
ルーレットで数字を表示します
プログラム:
(→大)
(→textarea)
(→左右に配置)
<!DOCTYPE html> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,,initial-scale=1.0"> <script type="module" src="https://pyscript.net/releases/2025.8.1/core.js"></script> <!-- HTML --> <body> <div><button mpy-click="start">ルーレットを回す</button></div> <div id="image_area"> <img id="roulette" src="https://n3s.nadesi.com/image.php?f=696.png"> </div> <div id="disp"></div> </body> <!-- CSSの定義 --> <style> body { text-align:center; } #disp { font-size:8em; color:white; } #image_area { padding-top: 100px; } #roulette { width:500px; height:500px; } /* 回転アニメーションを定義 */ @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } </style> <script type="mpy"> import random from pyscript import document from js import setTimeout # ボタンをクリックされたときに呼び出される関数 def start(event): # dispの内容をクリア(前回の結果を消す) disp = document.getElementById("disp") disp.innerHTML = "" # ルーレットのアニメーションを開始 roulette = document.getElementById("roulette") roulette.style.animation = "spin 2s linear infinite" # 2秒後にstop関数を呼び出す setTimeout(stop, 2000) # ルーレットを止める関数 def stop(): # 0から36の乱数を得る r = random.randint(0,36) # ルーレットの色を判定する --- if r == 0: color = "green" elif r % 2 == 0: color ="black" else: color = "red" # id属性がdispのものを取得 disp = document.getElementById("disp") # dispのテキストを更新 disp.innerHTML = f"<div style='background-color:{color}'>{r}</div>" # アニメーションを止める roulette = document.getElementById("roulette") roulette.style.animation = "none" </script>
▶ 実 行 [F9]
クリア
一時保存
デバッグ
ブレイクポイント:
→ 再開
↓ 一行次へ
×
キャンバス: 幅
× 高
f68c05e0e05e7c3a702f97a8e0579277
3333
上書き保存
表示ページ
→直前に実行(または一時保存)した内容を復元
なでしこバージョン: v
素材のアップロード
ログイン
するとファイルをアップロードできます。