FC2ブログ














スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | TB(-) | CM(-)

FileMakerでポケモン対戦データベース 5

いや〜どうも。

やってみると面白そうだと思ってやってみると意外につまんない企画ってありますね。
この記事もそうでしょうか?挫折しそうです。
でも、前記事もそうですけどFileMakerの基本を押さえているといろんなFileに応用できるんです。そういった意味ではまあ、意義のある記事かなと思っています。今回もそんな基本技をお伝えするつもりです。

ではでは、はじめます。

わし「前回までで対戦用のテーブルが出来ましたね」
伊藤「そうですね」
わし「今回はインターフェイステーブルを作るよ」
伊藤「ほー、インターフェイステーブルですか」
わし「そう、FileMakerっていろんなテーブルがあって、その各々を表示するだけってこともよくあるんですよ」
伊藤「ふーん」
わし「今回はそんなんで、対戦相手のパーティを表示させるためのテーブルをつくります」

フィールドは以下を参考にして下さい。
スクリーンショット 3

で、レイアウトは下を参考に。
スクリーンショット 1

伊藤「うーん、何の変哲もないんですね」
わし「まあ」「強いて言えば新規ボタンに割り付けたスクリプトかな」
伊藤「ほー」
わし「これを利用すると、定期的に繰り返し表示させるようなもの・・・・、うーん業務日誌の実績とかに使えるかな」
伊藤「うーん、今のところイメージがつきませんが」
わし「まあ、のちのちね」

わし「今日はこのテーブルの動作を説明するわね」
伊藤「はい」
わし「下の様にボケ番もしくは“なまえ”のところに入力すると各パラメータが表示されるってわけよ」

スクリーンショット 4


スクリーンショット 5

通常、FileMakerでルックアップ機能を使う時には数字データをリンクさせるのがよいのですが、600を超えるキャラの番号をいちいち覚えてられませんよね。値一覧の表示を下のようにすることも可能ですがやっぱり番号基準なので勝手が悪いです。

スクリーンショット 6

なので、なまえで入力するのが今回の場合は適しています。
だいたい、ポケモンをやり込んでいる人はポケモン名はほぼ覚えていますからね。

わし「名前をクリックするとポップダウンリストから値一覧が表示されるわけ」
伊藤「でも、それだと600を超えるキャラがあいうえお順に並んでいるんで、ラ行やワ行とかにたどり着くのがめんどうですね」
わし「そこでや、最初の1文字を入れるとシュッと絞り込まれるようにするわけや」

スクリーンショット 8

伊藤「あー、これは便利ですね」
わし「これがオートコンプリート機能や」

スクリーンショット 7

伊藤「先輩いろんな事知ってますね」
わし「いや、それほどでも」
伊藤「どこで勉強したんですか?」
わし「FileMaker好きCEの会共催の『ファーストステップ in FileMaker for CE* Vol.1 基本から学ぼう』や」
わし「これは、ええで、基礎からしっかり教えてくれるんでな」
伊藤「ほんとですか?」「そんなに言うんなら今度行ってみようかしら」

今日はここまで。
次回は、ルックアップorフィールド表示です。

スポンサーサイト
[ 2015/08/10 18:28 ] ポケモン | TB(0) | CM(0)

FileMakerでポケモン対戦データベース 4

いや〜どうも。

今日は曇っているおかげでだいぶ暑さが和らいでいますね。
さて、前回はマスターとなるポケモンデータベースが出来上がりました。
今回は相手パーティを登録するためのテーブルをつくります。
こちらのテーブルの役割としてはポケモン名を入力するとそのポケモンの各パラメータが表示されるようにするというものになります。

では、どうぞ。

伊藤「先輩、なにしてんですか?」
わし「ん、これや」
伊藤「あ、ポケモンORASですね」「レートバトルですか」
わし「せや、勝たれへんねん」「レート1430やねん」

伊藤「先制で攻撃した方が圧倒的に有利ですからポケモンのスピードが大事になりますよね」
わし「せやけど、600を超えるキャラのスピードなんかいちいち覚えてられへんで」
伊藤「こんな時はFileMakerなんじゃないですか」「まさにデータベースの世界ですよね」
わし「えっ」
伊藤「相手パーティのパラメータ一覧と自分パーティの比較が出来たら勝率も上がるんじゃないですか」
わし「たしかに」

伊藤「これよかったら使って下さい」「自分が作ったポケモンのデータベースファイルです」
わし「よし、ほんならこのファイルを使って一覧表を作ったろやないか」

わし「まずはこのファイルを見てみよか」

スクリーンショット 7

わし「おー、ええ感じに仕上がっとるやないか」
伊藤「あざーす」

わし「今回はこのファイルを利用して相手パーティの一覧を表示するテーブルを作ろう」
伊藤「うい」
わし「ほんじゃ、テーブルをもう一つ作るで」「テーブル名は対戦としよう」
伊藤「このテーブルはどんな風に使う予定ですか?」
わし「そやな、このほかにも1つテーブルを作ってやな」「そのテーブルに下のように表示させるつもりや」

スクリーンショット 1

伊藤「なるほど、“対戦ID”フィールドでリレーションするんですね」
わし「そう、全体的なイメージはこんな感じ」

スクリーンショット

わし「ほな、いくでー」「フィールドは以下を参考にな」

スクリーンショット 2

ここで少し解説です。
上図のように各フィールドを設定しましたが一番上のIDフィールドは主キーとよばれるものでユニークな数字になります。
このデータベースでは主キーを設けなくても特に支障は無いですが、データベースを作る上で主キーは設ける癖をつけていた方がよいです。
ユニークな値といえばポケ番(ポケモン番号)もそうなんですが、これとは別にデータベースのデータを扱う上という意味で主キー専用のフィールドは設けておいた方がいいです。

話はちょっとそれますが、例えば機器管理台帳を作る時なんかは各装置に管理番号を振りますよね。A-0001なんて感じで。
この番号は当然ユニークな値になるのですがこれを主キーにしてはいけません。何かの事情によりルールが変わってAA-NK001なんて風に管理番号が変わってしまうとデータを扱う上でとっても苦労します。この時、データ管理上の主キーを設けておくと管理番号が変わることで大きな影響を受けることが無くなります。
このような考えはデータを設計する上で非常に大事なことです。また、主キーは特に意味を持たせる必要は無く単純に連番でかまいません。シンプルイズバストということですね。

今日はここまで。逸れた話の方が重要でしたね。

では。

最近、腹の肉がタップン、タップンしてます。酒のせいかな?

あと、セミナーは必ずやります!



[ 2015/08/08 17:24 ] ポケモン | TB(0) | CM(0)

FileMakerでポケモン対戦データベース 3

いや〜どうも。

医療監視も終わってスッキリしました。
今使っているMacはFileMaker選手権の副賞で頂いたMacBook Pro(Late2010)なんです。
2年ほど前にHDDをSSD化してそれなりの速さで動作していますが現在(いま)2015年でしょ。
そろそろ、新しいヤツが欲しくなってきました。Mac miniかMacBook Proですよね。

さて、前回でポケモン600体のデータベース化ができました。って書きましたがもう少しその手順を掘り下げてみることにします。
っていうのもCSV形式のいいやつがなかったので少し手を加える必要があったからです。

今は、ポケモンでやっていますがここで取り上げるケースって他にもけっこうあると思いますので少し紹介します。
では、早速。
実際にネットで引っ張ってきたデータが以下です。

スクリーンショット 2

もっと、まともな形式のヤツを引っ張ってこれんかったんかいって感じですな。
FileMakerはExcelとの相性がよいのでCSV形式からの変換も楽々です。操作法としてはFileMakerのアイコンにCSVファイルをドラッグアンドドロップするだけでよいのですが、上の形式だとちょっとやっかいになります。

番号、ポケモン名、HP、A、...タイプなどは本来一つのフィールドとして登録する必要がありますが上の例だとこれら全てが一つのフィールドとして登録されてしまいます。
なので、一旦取り込んだデータを各フィールドに分割する必要にせまられます。

ネットで再検索したところよいデータがありましたので今回はこちらを使って一つのフィールドを分割する方法を紹介します。

▼CSV形式2
スクリーンショット 1

これだと各セルにパラメータが入っているのでFileMakerへの変換も楽なのですが、I列の「タイプ」のデータは
くさ/どく、ほのお/ひこう のようにデータが二つ入っていますね。
今回これをタイプ1、タイプ2としてタイプ1に“くさ”、タイプ2“どく”の様にしたいと思います。

1. まずはFileMakerに変換しよう

 変換されたデータが以下になります。さすがですね。Excelにそっくりな表示になっています。
スクリーンショット 3

2. 分割用のフィールドを作る

 受け皿となる分割用のフィールドをつくります。フィールド名はタイプ1とタイプ2にします。
フィールドタイプは“計算”にして内容は↓図を参照下さい。
スクリーンショット 8

ここでは、二つの文字関数が使われていますね。
・LeftWords ・MiddleWords

簡単に解説すると
LeftWordsは「“タイプ”フィールドの左から〇個分の単語を拾ってきなさい」になります。ここでは最後に1と記述していますので左から数えて1個分の単語を拾ってきます。

MiddleWordsは「“タイプ”フィールドの左から数えて〇個目の単語から〇個の単語を拾ってきなさい」になります。

ここでMiddleWordsのかわりにRightWordsを使えばいいんじゃないって思った方もいると思いますがこれだとうまくいきません。
理由は・・・まずはそれぞれの関数を使った結果を見てみましょう。

スクリーンショット 9

タイプ1がLeftWords、タイプ2がMiddleWords、タイプ3がRightWordsになります。

“くさ/どく”のように二つのタイプが入力されている時はMiddleWordsでもRightwordsでも問題ありませんが“ほのお”のように一つしか無いケースではタイプ1にもタイプ3にもおなじ語句が入力されてしまいます。
では、MiddleWordsを利用したタイプ2を見てみるとどうでしょう?一つしか無いケースでは空欄になっていますね。

このように、分割するにはMiddleWordsを使うのが便利ですね。
※単語という概念ですが日本語では漢字、カタカナ、ひらがなが連続するものを一つの単語として認識します。また、スペース区切り等でも一つの単語として認識します。

詳しくはFileMaker Pro 関数・スクリプト サンプル活用辞典 Ver.12/11/10/9/8.5/8対応 (関数・スクリプトサンプル活用辞典)をどうぞ。


以上、今回はフィールドを分割する方法を紹介しました。

あ〜あっちのほうもスッキリしたい!
[ 2015/07/26 11:54 ] ポケモン | TB(0) | CM(0)

FileMakerでポケモン対戦データベース 2

いや〜どうも。

ホビー用にポケモン対戦でしたね。
このファイルは対戦時に相手バーティーのパラメータと自パーティーのパラメータを表示するってのと対戦成績をデータベース化するってもんです。

では、まずはポケットモンスターのデータベース化からです。

これは、ネット上にあるCSV形式のヤツをダウンロードしてデータベース化します。
あいにくBWまでのヤツしカテに入りませんでしたがダウンロードしたファイルをFileMakerにドラッグアンドドロップで簡単にできますね。

スクリーンショット 7

イラストは後で入れたものですがフィールドの設定は下を参考にして下さい。

スクリーンショット 5

これで、まずは約600体のポケモンがデータベース化されました。
これは、FileMakerでいうところのマスターと呼ばれるファイルになります。
言ってみればポケモンマスターですね。(おいらはレート1400台のマスターにはほど遠いッス)

これを元にデータをどう表示させるか、というところが今回の伝えたい内容になります。

今日はここまでッス。

[ 2015/07/12 20:48 ] ポケモン | TB(0) | CM(0)

FileMakerでポケモン対戦データベース 1

いや〜どうも。

早いもので一年の半分が過ぎてしまいました。ほんと一年なんてあっという間だね。
さて、今回は仕事を離れて遊びにもFileMakerってはなしです。まあ、ブログネタとして気軽に書いていきます。

FileMakerのよいところって、できた作品はオリジナルソフトになってしまうと言うところ。
使う人のスキルによって違ってきますが、自分の欲しいソフトがオリジナルソフトとして出来てしまうんですね。

今回は完全にホービー用としてこんな使い方もあるって話です。
で、そのホビー用の題材が「ポケモン対戦」。これをデータベース化してみましょう。

ではまずイメージを見て下さい。

スクリーンショット 4

これはシングルレートでの対戦をデータベース化したものです。
上段が相手パーティで下段が自分のパーティになります。
ニコニコ動画などではニセトロを使って相手パーティをキャプチャしていますが、人によってはPCに手入力しています。
ここでも、相手ポケモン名を手入力しますができるだけ簡単に入力を目指しました。

ここにポケモン名が入力されるとそれに応じたHABCDSパラメータが表示できます。
こうすることでSを比較できポケモン選出の参考にすることが出来ます。
また、選出上位のポケモンを対策するなんて事にも使えます。

サクッとゲームを楽しむという点では実際的ではありませんが、まあ、ブログネタとして見て下さい。

ずいぶんとマニアック話になりましたが、今回はこれを作るということでよろしく。

[ 2015/07/05 22:48 ] ポケモン | TB(0) | CM(0)







上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。