スポンサーサイト

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

一括登録用文字列解析アルゴリズム考察

 登録情報の定義
・1匹につき1行
・1行の登録情報をlineとすると、lineは以下の形で表す。

line = ポケモン名[,ニックネーム][,性別][,レベル][,性格][,特性][,個体値][,努力値]
 [,めざめるパワーのタイプ[,めざめるパワーの威力]][,技1[,技1pp]][,技2[,技2pp]][,技3[,技3pp]][,技4[,技4pp]]
 [,持ち物1[,持ち物2[,持ち物3]]][,色][,メモ]

 ※[ ]の中身は省略可能


 lineを","で分割して得られた文字列群を先頭から順にparts[0],parts[1], parts[2], ..., parts[n]とする。


 育成済みとして登録されるポケモンの情報dataを以下のように定義する。
 data[0] = ポケモン名
 data[1] = ニックネーム
 data[2] = 性別
 data[3] = レベル
    :
    :
 data[22] = メモ

 ※情報の内容はlineのものと同じ。


 lineを分割したとき前からi + 1番目の情報をparts[i]と表す。
 ポケモンのk + 1番目の情報をdata[k]と表す。

 
 i = 0, k = 0から始まる。

1.parts[i]はポケモンの名前である。
 yes → data[k] = parts[i]
      iとkを1増やす。
 no → iを1増やす。1.に戻る。
     partsがなくなったらその行のポケモン登録を中断して次の行へ。

2.parts[i]は整数でなく、性別でなく、特性でなく、"-"で整数に分割できず、タイプでなく、技名でない。
 yes → parts[i]はニックネームである。
      data[k] = parts[i]
      iとkを1増やす。
 no → ニックネームは省略された。data[k] = default
      kを1増やす。

3.parts[i]は整数で1~100の範囲である。
 yes → parts[i]はレベルである。
      data[k] = parts[i]
      iとkを1増やす。
 no → レベルは省略された。data[k] = 50
      kを1増やす。

4.parts[i]は性格である。
 yes → data[k] = parts[i]
      iとkを1増やす。
 no → 性格は省略された。data[k] = "まじめ"
      kを1増やす。

5.parts[i]は特性であり、ポケモン名と特性が一致した。
 yes → data[k] = parts[i]
      iとkを1増やす。
 no → 特性は省略された。data[k] = 特性1
      kを1増やす。

        :
        :


 これで読み込めそうかしら…?

 でもこれだと1ヶ所入力ミスすると、以降全部読み込めないことになるか。。(・ω・` )

 noである時点で変数xにiを保存してiを1増やして、残りのparts全部適合するものがないかチェックして、適合するものがなかったらiにx + 1を代入して、kを1増やせば全部確認できるかな。
スポンサーサイト

テーマ : 日記
ジャンル : 日記

コメントの投稿

非公開コメント

プロフィール

NLR

Author:NLR
ポケモンBWのツールをC#で開発中です。
絵はたしなむ程度ですが描くことがあります。

最新記事
リンク
カテゴリ
Counter
最新コメント
月別アーカイブ
最新トラックバック
カレンダー
03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
検索フォーム
QRコード
QR
アフィリエイト・SEO対策
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。