たのまれたので、なんとかする予定のプログラム。
ポモドーロタイマー。
ポモドーロタイマーとは、ポモドーロがイタリア語でトマト、でタイマーはキッチンタイマーのタイマー。
トマト キッチンタイマーなんだけど、そっちが主ではなくて、そのタイマーではかる時間のことを指している。
なにかクリエーティブな作業をするときの時間配分で、2時間かけたい場合、25分間作業して、5分間休憩して、25分間作業して、5分間休憩して、
25分間作業して、5分間休憩して、25分間作業して、15分間休憩してというようにすると、いい感じで集中してられる、というライフハックのことをポモドーロタイマーというらしい。
end time 17:28:35
1 pomodoro = 25min, rest = 5min
long rest = 15min
1 pomodoro 25min -> rest 5min -> 1 pomodoro 25min -> rest 5min
1 pomodoro 25min -> rest 5min -> 1 pomodoro 25min -> long rest 15min
total 130min
pomodoro: 1
total time: 16 min
remain: 9 min
now 15:35:08
さっと作ってみてポモドーロタイマーを検索したらいっぱいありそう。
たのまれたのは、たぶんそういうのじゃないのでしばらく時間がかかりそう。
パピヨン本田のマンガを読んでリラックスしよう。
https://twitter.com/papiyonhonda/status/1475425058684551176?s=20&t=LHttfuow8JjZmaKTEYmpQQ
基本的には、このようなかんじか。
Ruby
https://rentry.co/uf7d5
問題なければ、機能を付けていく。
まだロジックを考えてないが、ひとまず間違いがないかチェック。
うん、なんかまちがっているね。
どこがおかしいかなということでチェックしていこう。
1 require 'time'
2
3 pomo = ARGV[0].to_i # 1 pomodoro durations
4 interval = ARGV[1].to_i # rest durations
5 long_rest = ARGV[2].to_i # long rest durations
6
7 one_set = pomo*4 + interval*3 + long_rest # min
8 puts one_set # min
9
10 tempotime_0 = Time.new
11 tempotime = Time.new
12 mission_finish_time = tempotime_0 + one_set*60 # sec
13 puts tempotime_0
14 puts mission_finish_time
15 minutes = (mission_finish_time - tempotime_0).to_i.div(60)
16 puts "#{minutes/60}:#{minutes%60}"
17 exit
60 while seconds < 60 do
61 t = Time.new
62
63 if (t - tempotime > 1)
のとこは
60 while seconds < 60 do
61 t = Time.new
62
63 if ((t - tempotime).to_i > 0)
こうしといて。
ここもおかしくなるので、
92 puts "remain: #{(((tempotime_0 + pomo*60)-t).to_i).div(60)} min #{(((tempotime_0 + pomo*60)-t).to_i).modulo(60)} sec"
これでいいんじゃない。
92 puts "remain: #{((tempotime_0 + pomo*60*pomodoro + resttimes*60*(pomodoro - 1)) - t).to_i.div(60)} min #{(((tempotime_0 + pomo*60*pomodoro + resttimes*60*(pomodoro - 1)) - t).to_i).modulo(60)} sec"
いちおう、ベースはできた。基本的にはこれで良さそう。
Ruby
https://rentry.co/pvmdk
間違うところもよくわかったので、初めて Dart をどうやって書くのか読みながらヨチヨチと Ruby で書いたものと同じような感じにしてみる。
Dart
https://rentry.co/369sd
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント