恐竜図鑑登録ページ1(恐竜図鑑になりたいの〜！の概要)

#恐竜図鑑が作りたい
##1.はじめに(ここに至る経緯)
年内で、とりあえず5本の記事は書きたい。
4本で終わらせるのは、なんとなくキリが悪い。
laravelにも手を出そうとしているのだが、記事をまとめるのに時間がかかりそう。
何かないかと探したところ見つかったのが、恐竜ゲームの動画だった。
そこでこんなタイトルで始めているのだが。。。
__電波なタイトルには若さが必要なので、[この時点で私の年齢は17歳]ということにする。__

__このタイトルは実は割と奥が深い。__

仕事はどこの会社でも必要になっているシステムを創ってますというと聞こえはいいし、
__~~「やってみるとそこまで興味がなかったり」~~__貢献度の高い業務だと認識する。

仕事なので色々割り切ったりしながら取り組んでいる。

そんな私のストレス解消でつい最近までハマっていたゲームがある。
暇になったら再開するつもりだ。

ジュラシックワールドアライブというゲームで、ゲットした恐竜のDNAを合成させて
さらに強い恐竜を作ってバトルするゲームだ。

こんなのが作成できるゲームです。
![IMG-2394_mini.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/494408/00afab35-b268-3134-0613-dff77ec5de36.png)
※ただし、この投稿内容では上記画像は作成できません。

ある程度のレベルまで行くと、ジムのような場所でバトルができるようになる。
金色のジムが、高レベルで、このジムにいる恐竜軍団を倒してDNAを貰うのが快感になる。
1回戦から10回戦まで、その時によってバトル回数が違う。
→ボケモンgoの恐竜バージョンと思ってください。

__真冬に外のジムでの10回戦なんて、本当に死にそうになる。
ボクサーのしんどさが少しわかった気になる。__

###2.恐竜のタイプ


タイプはノーマル、レア、エピック、レジェンド、ユニークと、右に行くほど強い。

さらに、恐竜同士の合成ができるハイブリッド型もいる。

+ __ノーマルは、合成なし。__
+ __レアとエピックは、合成なしとハイブリッド型(複数の恐竜を合成する。)が存在する。__
+ __レジェンドとユニークは、ハイブリッド型。__

(上でやっと仕様らしき話が。)

レジェンドとユニークが登録できたあの瞬間は本当に最高！！！
その一端を経験してみるのだ。

###３．恐竜登録テーブル

１．合成なしの場合、必要な情報は
「恐竜ナンバー」「種類」「恐竜名」
２．ハイブリッド型の場合、必要な情報は
「「恐竜ナンバー」種類」「恐竜名」「合成元恐竜タイプ1」「合成元恐竜ナンバー1」
「合成元恐竜タイプ2」「合成元恐竜ナンバー2」
1,2の両タイプが入るテーブル(tbl_dino)を用意する。
__CREATE TABLE tbl_dino(id integer primary key autoincrement,dname0 text,type0 text,n_src1 integer,type1 text,n_src2 integer,type2 text)__

###４．登録手順

(１)開始画面(トップ画面)で開始ボタンをおす。
この時にtbl_dinoのに登録してある件数で、
次の画面で表示される項目が変わる

(２)恐竜タイプ選択画面１

+ 3件以上登録してある場合 

　→ハイブリッドか非ハイブリッドを選べるようなセレクト項目が表示
　生成するタイプを入れるセレクトボックス　
 ※2種類の生成元のタイプが入るセレクトボックス
　生成元のタイプのセレクトボックスの中身は可変
　(ノーマル恐竜しか登録されていない時は、ノーマルのみ)
　ここで選べるのは「ハイブリッドか否か」ということと
　→ハイブリッドを選んだ場合は、生成元の2体のタイプを選択して
　「確定」ボタンを押すと「恐竜タイプ選択画面2」に遷移する。
　→非ハイブリッドを選んだ場合は「恐竜タイプ選択画面2」に遷移する。
　どちらも遷移する画面は同じだが、項目の種類が違ってくる。

![select_dino1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/494408/a89f9274-b320-d224-b570-94f33d4e12a3.jpeg)


+ 3件より少ない場合 

　生成したい恐竜名を入れるテキストボックス、
　生成するタイプを入れるセレクトボックス。
　(韻を踏んでるわけではない。)
　このセレクトボックスは「ノーマル、レア、エピック」の固定になる。
　そしてここで名前と生成タイプを選択して「確定」を押すと
　登録結果画面(合成なしタイプ)に遷移することになる。

　![select_dino1_single.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/494408/e040af4a-ae70-efb8-2699-0f0b3d4ccfbd.jpeg)

(３)恐竜タイプ選択画面２

+ ハイブリッドタイプ
 
　ハイブリッドの場合、名称と生成タイプのほかに、
　どのタイプのどの恐竜同士を合成するか決める必要がある。

![select_dino2_hibrid.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/494408/052f61ef-e90c-1429-b84c-92a173f36b88.jpeg)

+ 非ハイブリッドタイプ 

　名称は何か、そしてどのタイプか入力する画面になる

![select_dino2_single.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/494408/28a0d1c1-5f4d-16ec-c682-2de6b766a948.jpeg)

#５．各種エラー画面
（１）登録済み恐竜を登録しようとしたとき(画像は非ハイブリッド型)
![single_error1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/494408/4f2545d9-a352-b178-680a-8a948962f0e8.jpeg)

(２)全角半角スペースのみの入力の時(画像は非ハイブリッド型)
![single_error2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/494408/0c84fcd7-8235-acd7-3a53-777c78383c2a.jpeg)

(３)2体の生成元恐竜で同じものは指定できないエラー(ハイブリッド)
![hibrid_error.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/494408/6f1ab2a0-72fe-24fe-db55-82afc1bd14ac.jpeg)


ソースはできているんだけど、編集が必要になりそうなので今日はここまで。
というか、一行も記事内にPHPが登場せずに、愚痴と狭い範囲の趣味の話でおわってしまった。