放浪軍師のXamarin.Formsアプリ開発局

Xamarin.Forms+Prism+ReactivePropertyで素人がAndroidやUWPのアプリを右往左往しながら開発している様を発信していきます。性質上間違いも多いのでご注意ください。

最初はどんなアプリを作ろうか?実はもう決めています。

放浪軍師のXamarin.Formsによるアプリ開発

今回は、最初にどんなアプリを作るかを紹介したいと思います。

まず、初めて訪問された方は以下をお読みください。

www.gunshi.info

 

最初にどんなアプリを作る?

Twitterでちょこっと宣言しちゃいましたが、実は最初に作るアプリは既に決めてあります。

それはこちら! 

f:id:roamschemer:20180202002247j:plain

知っている人は知っている(?)。乱屍プレイ用ツール。通称『乱ちゃん』です。なつい。

最初はこれをXamarinで作成しようと思います。

 

知らない方が殆どでしょうから簡単に説明しますが、この『乱ちゃん』は私がかつて開発したWindows用ソフトウェアです。PS用ソフト『俺の屍を越えていけ』や、PSP用ソフト『俺の屍を越えていけR』という、超名作RPGを更に愉快にプレイする、通称『乱屍』の実況プレイの為に開発しました。

2???まだ発売してませんよ?待ち遠しいですねぇ…

 

乱屍の詳細については今回は関係ないので省きますが、もし興味があれば以下に説明などがありますのでご覧ください。

dic.nicovideo.jp

 

ただ、このソフトウェアはVB6という太古の技術で作成されておりますので、Windows10なんかではもうそのままでは動かない環境もあるでしょうし、当然ですがパソコンでしか起動できないので、実況プレイとかで使うなら兎も角、普段は使い勝手が物凄く悪いです。

そこで、これをアプリ化して、もっと皆さんに気軽に乱屍という苦行を楽しんでいただこうと思いまして題材とさせて戴きました。もちろんUWP版も作るので、Windowsでも動かせます!Xamarin.Formsで開発する最大のメリットですね!

それに、最初に作るには丁度いい規模のアプリじゃないかなと思っています。

 

 

どんな機能があるの?

この乱ちゃんには大きく分けて4つの機能が備わっています。

1.進言ランダム

ボタンを押すと、数字が一定時間1~3のいずれかの数字がチラチラ表示され、そのどれかの数字で停止します。要はサイコロみたいなものです。どの数字で停止するかはランダムです。

f:id:roamschemer:20180202002312g:plain

 

2.交神属性ランダム

ボタンを押すと、『火』『水』『風』『土』のラベルが一定時間チラチラ光り、そのいずれかが光ったところで停止します。これもサイコロみたいなものです。もちろんどこで停止するかはランダムです。

f:id:roamschemer:20180202002338g:plain

 

3.職業ランダム

ボタンを押すと、『剣士』『薙刀士』『弓使い』『槍使い』『拳法家』『壊し屋』『大筒士』『踊り屋』のラベルが一定時間チラチラ光り、そのいずれかが光ったところで停止します。これもまたサイコロみたいなものです。もちろんどこで停止するかはランダムです。ただし、こちらはラベルを左クリックする事で、ONOFFする事が可能で、OFFにしたラベルには止まらないようになります。

f:id:roamschemer:20180202002414g:plain

 

4.討伐先ランダム

ボタンを押すと(以下略)。こちらもONOFF可能。更にラベルを右クリックで名称の変更が可能です。

f:id:roamschemer:20180202002446g:plain

 

全て似たような機能ですが微妙に違うのが、練習にはもってこいな感じですね。

 

アプリ化のイメージ

上記の乱ちゃんをそのまま移植すると、異様に縦長いうえにそれぞれの機能が小さくなってしまいます。そこで、4つの機能毎に画面を分けて、左右スライドで画面を切り替えられるようにしたいなと考えています。

f:id:roamschemer:20180202004137p:plain

 

また、ONOFF切替や名称変更した物は、アプリ再起動時にはその変更状態を保持したまま起動できるようにしたいところですし、ランダム選択確定までの変動時間なんかは変更可能にしたいですね。

 

まぁ最初に作るには良い感じの難易度なんじゃないかと思っています。

さて、最初の目標も出来たことだし次回から早速開発を…と言いたいところなんですが、先にMVVMだけは理解しておいた方が良さそうなのでそちらから頑張りたいと思います。