カテゴリー: ソフトウエア

アプリ「リフトレ」

初めてゲームアプリをGoogle Playにリリースしました。簡単なゲームで記憶力、反射神経、判断力をトレーニングするものでやり方はシンプルです。1~25の数字がランダムに表示されるので、その数字のボタンをタッチするだけですが、スコアの計算はちょっと凝りました。

スコア = (1 ÷ 反応時間(秒)× 1000)× 25回(合算)

これにより、ボタンの反応時間(反射神経)が速く(短く)なるほどスコアは上がります。また、押し間違い1回ごとにスコアから10%減点されます。さらに、ランダムモードで実行すると毎回ボタンの並びはランダムに変わりますので記憶力も重要になります。

※アプリ名の「リフトレ」は英語名のReflexes trainingを略したものです。

SnapCrab_NoName_2019-7-19_13-35-1_No-00.png

カテゴリー: ソフトウエア

ソフトウエアには作成者の性格が現れる

もちろん一人で作ったものに限られますが、ソフトウエアはそれを作った人の性格が現れると思います。例えば、相手に対する思いやりが無い人が作るとあまりユーザのことを考えず「使いにくい」ものになり、逆に相手の立場になってものごとを考える人が作ると「やさしくて使いやすい」ものになります。私の経験上、これはかなり当たっています。^^

ソフトウエアのプログラミング自体は機械的で無機質かも知れませんが、できあがったもの(アプリケーションなど)は意外と人間的なのかも知れません。

カテゴリー: ソフトウエア

ゲームアプリ

珍しくいまゲームアプリを開発していますが、ゲームアプリは簡単そうに見えても作るのは意外に骨が折れます。一般のアプリと比較してユーザの操作(タッチ)に対して即座に反応する必要があり、反応が遅いとストレスが溜まって「面白くない」→「アンインストール」という流れになってしまいます。また、言うまでもなくゲーム自体の「面白さ」は感覚的な面や個人差もありますので、実用性を重視する他のアプリとはちょっと異なるのではと思います。

カテゴリー: ソフトウエア

アプリのデバッグ

iPhoneはApple社のみですが、Androidスマホは様々なメーカから販売されているためアプリの動作確認(デバッグ)は膨大な機種で行うことになります。と言いたいところですが、現実的には不可能なので大半のデバッグはPC上の仮想デバイスで行っています。つまり、PCの中で様々なメーカのAndroid機種を仮想的に実行し、実機を操作するときと同じようにデバッグすることができます。

とは言っても実機で全くデバッグしないのは不安なので最終的には自分の実機(1台)で動作確認してからリリースしています。

カテゴリー: ソフトウエア

開発効率とは・・・

Androidのアプリ開発にはGoogleから無償で提供されている開発環境 Android studio を使うのですが、これがまたすこぶる「遅くて重い」ため、やむなく開発用のハイスペックPC(CPU: Intel Core i7, Memory:16GB)を用意しました。

Android studioはプログラミングで記述を間違ったりするとエラーとしてリストするだけでなく、「修正候補」を出してくれたり、場合によっては「自動修正」も可能で、ものすごく便利で効率が良いのですが、その代償?としてハイスペックPCが必要というわけです。

いずれにしても便利過ぎて以前の環境には戻れません。^^;

カテゴリー: ソフトウエア

ビルを爆破して最初から作り直す!?

完成したビルが気に入らないからと言って、「ビルを爆破して最初から作り直す」なんてことは実社会ではありえないことですが・・・

実はソフトウエアの世界では日常茶飯事とまではいかなくても、往々にして「ありえる」ことなんです。ビルを爆破するのは大がかりでなかなかできませんが、ソフトウエアの場合ソースプログラムを「削除」するのは一瞬でできますから。

建築の場合、「設計時から想定しているものが少しずつ目に見える形で作られる」わけですが、ソフトウエアの場合「完成して使ってみて初めて不具合や使いにくいことに気づく」ことがあります。最悪の場合、基本設計からやりなおす(爆破して作り直す)ことになるわけですが、出来ればこのような事態にならないよう仕様の打ち合わせや基本設計は綿密に行いたいものです。

カテゴリー: ソフトウエア

プログラマーの適正

私の個人的な感覚ですが・・

ソフトウエアプログラマーというと細かいことをコツコツやるというイメージを持たれているかも知れませんが、実は細かいことにこだわる人はプログラマーに向いていないことが多く、むしろおおざっぱで適当な方が向いていると思われます。

ソフトウエアの開発を進めていると様々な「バグ」に遭遇しますが、場合によっては自分の作ったプログラムではなく開発環境やツールにバグが含まれているときもあります。そのようなときに原因究明にこだわると先に進めないことが多く、「ま、いっか。とりあえず他のことしよう」という人の方が結果的に開発が先に進むのではないでしょうか。

カテゴリー: ソフトウエア

Kotlin

Kotlin(ことりん)はかわいらしい名前ですが、Androidスマホ用のプログラミング言語として2017年から採用されたものです。すでに広く普及しているJavaのような実績はありませんが、これからプログラミングを始めるときはKotlinの方がいいかもしれません。例えば以下のようなプログラムでは・・・

SnapCrab_NoName_2019-7-18_10-22-53_No-00

sampleという名前の関数(fun)は、整数(Int)のパラメータparamを受け取り、それが1のときはparam+1を、2のときはparamの2乗(param * param)を、それ以外のときは0を変数aに代入し、そのaを戻り値として返します。

日本語で書くと長ったらしくなりますが、基本的な英単語(の省略形)が並んでいるだけなので初めて見ても理解しやすいのではと思います。米国など英語圏の人はそのまますんなり入ってくるのでしょうね。

カテゴリー: ソフトウエア

JJYエミュレータ

スマホのアプリでJJYエミュレータなるものがありました。マンションなどで電波が入らず電波時計の時刻合わせがうまくいかない方は試してみるといいかも知れません。

Google Play https://play.google.com/store/apps/details?id=jp.houryo.jjyemulator

スマホにイヤホンを接続するとそれがアンテナがわりになるのでイヤホンコードを電波時計に近づけるだけでいいみたいですが、レビューによるとイヤホン無しでも使えることがあるようです。

カテゴリー: ソフトウエア

ドラマ「相棒」の魅力とは

主人公の杉下右京を演じる水谷豊さんの演技もさることながら、普通なら絶対に見逃すような些細なことを見逃さずに驚異的な洞察力と推理力で事件を解決に導くということでしょうか。また、閑職に追いやられている主人公が活躍するという「実社会ではありえないこと」も惹きつけるのかも知れませんね。

ソフトウエアのデバッグでも小さな現象を見逃さずに不具合の原因を究明するということは、事件を解決することと少し似ているかも知れません。ソフトウエアの場合、相手は人間ではなく物理的な形の無い「プログラム」ということになりますが、「所詮は人間が作ったもの」ですから大差ないように思います。