2019/06/09 14日目
ホテルに引きこもってずっとプログラミング。
ところどころ休憩しつつ。
ボタンをコードで生成してレイアウトする。
グレーの色味が違ってたので、スクショをGIMPでスポイトした。ちょっと青みがつよい。
UIButtonの派生クラスを作って、スワイプした時の文字を保持させた。
ボタンをタッチした時のラベルを表示させた。けどスワイプさせた時に消えてしまう。
・ボタンを押した時に上下左右のラベルを出すようにした。
出してから消えるまでのラグを出すようにした。ソース参照。
・ボタンを一通り並べた。
→「かな」フリックして入力
→「数字」ボタンを押すと入力
→機能ボタン→押すとそれぞれの動作へ
の3種類がある上に数が多い。
・ボタンをタップダウンしてラベルを出す→5つのラベルを出すのはできた
・ボタンをフリックした時にフリックした方向だけを出すのがまだできない。
・タッチとスワイプの区別がつかないので、いったんタッチの文字を出す
→フリックの文字を出す、の2段階になっている。
ボタンの数が多いのでコードを整理したい。
次はサイン波の再生を実装したい。
2019/06/10 15日目
漢数字、かな、機能ボタンをそれぞれ整理した。
生成部分を別関数に分けた。
ラベルを配置し、何問中か表示させる。
ラベルはコードで生成した。
サウンドファイルを再生させるテスト。
簡単なコードだがこれで十分だろう。
明日組み込む予定。
かなり冗長な感じのするコードなので、そろそろリファクタリングしたいところ。
2019/06/11 16日目
モールスのサウンドファイルをMP3などに変換しようと思ったが、いいツールがなかった。
もともと64kbpsのファイルなので、WAV形式のまま使うことにした。
ランダムに鳴らすには、ファイル名の配列を作り、そこからランダムに選ぶ方法をとった。
なのに例外が発生する。と思ったらそもそも特定のファイル名のファイルが存在しなかった。
ヰ、ヱはファイル名に使えないらしい。Finderで表示されなかった。
xcodeでリネームした。
新しいプロジェクトを作成し、UIとサウンド部分をマージした。
ゲームメインルーチンはこれから盛る。
2019/06/12 17日目
ゲーム?のメインルーチンに悩む。オブジェクト指向と相性が悪いのかw
シーケンシャルに進める処理とイベントドリブンな処理の違いだしな。
といっても昔ゲームを作ったんだ、やればできる。
とりあえずノートに書き出す。
スプラッシュスクリーン作れないか試したが、どうもうまくいかぬ。
別の方法を考えよう。
2019/06/13 18日目
ゲームルーチン組み込み開始。
開始ボタンで音を鳴らし、判定、表示はなんとかなりそう。
発音中にボタンを無効にしたい。
ボタンを配列にしてforループで回して無効化処理をやりたいのだが、
for btn in buttons {…}
がエラーになる。なんでやねん。
スプラッシュスクリーン、Appleでは非推奨だって。ブランディングするな、と。
初回起動時にチュートリアルスクリーンは出したいね。
2019/06/14 19日目
出張終わり。時間があったのでスタバとネカフェでコード書き。
ちょっと書いては動かして、を繰り返し、少しずつ形にしていく。
ボタンの配列はできた。イメージとしては、配列のハコだけ宣言して、中身はそれぞれのメソッドで並べる、という感じ。ついメソッド外でやってしまうのは、やはり脳がオブジェクト指向じゃないからだろう。
ボタンは入力できるときだけ有効化する、は、実装できた。
削除とパスができてない。
バツのフォントがカッコ悪い。ベクターで書いた方がいいかな、単純な図形だし。
2019/06/15 20日目
そろそろ設定画面を作りたい。
ナビゲーションバーをつけて、画面遷移を行うところまではできた。
遷移先の設定画面を作れない。
テーブルビューが難しすぎる(めんどくさすぎる)
VBのフォームみたいなエディットができないのかな。