プログラム番号:e1160

タイトル :アナログ・デジタル時計

技法:Processing、import

概要:アナログ・デジタル時計を表示する。


流れ図

省略

EduBlocks(その1)

実行例(その1)(動画)

Python3コード(その1)

import time
from processing import *
r = 300
def setup():
    frameRate(1)
    background(250)
    size(1050, 500)
    strokeWeight(10)
    textSize(128)# your own code
def draw():
    background(250)
    start = -90
    end_h = 360 * hour() / 12
    end_m = 360 * minute() / 60
    end_s = 360 * second() / 60
    stroke(255, 0, 0)
    fill(250)
    arc(150 + 20, 200, r, r, radians(start), radians(start + end_h))
    fill(120)
    text(nf(hour(), 2), 100, 0 + 250)
    stroke(0, 255, 0)
    fill(250)
    arc(500 + 20,200, r, r, radians(start), radians(start + end_m))
    fill(120)
    text(nf(minute(), 2), 0 + 450, 0 + 250)
    stroke(0, 0, 255)
    fill(250)
    arc(850 + 20,200, r, r, radians(start), radians(start + end_s))
    fill(120)
    text(nf(second(), 2), 800, 0 + 250)
run()

EduBlocks(その2)

実行例(その2)(動画)

Python3コード(その2)

import time
from processing import *
r = 300
def setup():
    frameRate(1)
    background(250)
    size(400, 400)
    textSize(64)# your own code
def draw():
    background(250)
    start = -90
    end_h = 360 * (hour() % 12) / 12
    end_m = 360 * minute() / 60
    end_s = 360 * second() / 60
    stroke(50, 50, 50)
    strokeWeight(1)
    fill(250)
    arc(200, 200, r, r, radians(0), radians(360))
    stroke(255, 0, 0)
    strokeWeight(10)
    fill(250)
    arc(200, 200, r, r, radians(end_h - 1 - 90), radians(end_h - 90))
    fill(120)
    stroke(0, 255, 0)
    fill(250)
    arc(200,200, r, r, radians(end_m - 1 -90), radians(end_m - 90))
    fill(120)
    stroke(0, 0, 255)
    fill(250)
    arc(200,200, r, r, radians(end_s - 90 -1), radians(end_s -90))
    fill(120)
    text(nf(hour(), 2) + ':' + nf(minute(), 2) + ':' + nf(second(), 2), 75, 225)
run()