若葉がまぶしい季節ですね。武田です。
授業中に「へんな時計を作る」という課題を出しました。
一見普通のデジタル時計です。

1秒後…(?!)

約5分後…

時間を遡っています。へんな時計ですね。
物事の手順を考えるためにこの課題を出しました。
1秒後に時刻を―1秒する -> 0秒になったら次は59秒とする -> そのときは分を-1分する….
などと考えていきます。これをプログラム化するのです。
一応、解答例を以下に示します。Visual Studio2015で作成。言語はC#。
デザイン部分(ラベルコントロールとタイマーコントロールを一つずつ配置)

プログラム部分
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace へんな時計
{
public partial class Form1 : Form
{
// 時、分、秒
private int hour, minute, second;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 現在時刻取得
hour = DateTime.Now.Hour;
minute = DateTime.Now.Minute;
second = DateTime.Now.Second;
// 本当の時刻を表示
label1.Text = string.Format("{0:00}:{1:00}:{2:00}", hour, minute, second);
// タイマースタート
timer1.Interval = 1000;
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
// 時刻をさかのぼる
second--;
if (second < 0)
{
second = 59;
minute--;
if (minute < 0)
{
minute = 59;
hour--;
if (hour < 0)
{
hour = 23;
}
}
}
// へんな時計表示
label1.Text = string.Format("{0:00}:{1:00}:{2:00}", hour, minute, second);
}
}
}
もっとへんな時計皆さんも作ってみて下さい!