なるほど告知欄じゃねーの

■掲示板に戻る■ 全部 1- 最新50    

.真・女神転生

1 :名無しさん@故郷VIP:2021/08/24(火) 18:55:12 ID:pL01by6T0
 


     _____/ア__,、         /ア           /ア     /ア                    ./ア
     ', 二二7/二二,、¨´    ,__//____,、  __// ,、 .,、__//__,、              ./.ア  //
     // ̄ ̄ ̄ ̄7/'      '´ ̄7/ ̄ ̄7.ノ ̄´  ' ̄ ̄7/'// ̄7/ ̄.7/              /ナ=ァ./=='`
    .//二二二二//   ◯    //    //       ノ/.//=//=//  _/ア.,、 ,_____,、  ,ノノ  //
    //____//        ノメ=、-、 //     _ /,イ //_//_//  ,'__// ̄   ̄ ̄ ̄´-"'ニ___//___,、
 ,__ニ二二二二二_,、       ̄  ¨冫<    -='-7/ (ノ -' ̄7/  ̄`´ //7/7/ー=ァ.r=='`  '  ̄ 7/  ̄ ̄´
 '´_,-''フ ̄ ヾ、`ヽ, ̄´        _,.-'ノ^ヾヽ    .//     //     //7/7/  /./        .//
-='- '''     .`、ノ      _,,-=='-'  ̄   `、_)  //    .//     `'ケ/ニ'、  .// iヽ  .___//___,、
                               `´    `´    ' ̄7/ ̄´  ,iノ__」 } ' ̄ ̄ ̄ ̄ ̄ ̄´
                                           //  [,二 ─'´し'
                                          `´


2 :名無しさん@故郷VIP:2021/08/24(火) 18:57:32 ID:0y+X++370
俺様が過疎なのをいいことに好き放題するスレなのだ

とりあえず、今DBの勉強兼ねて悪魔データベースを構築中なのだ


ザ・雑談スレ

815 自分:名無しさん@故郷VIP[sage] 投稿日:2021/08/24(火) 09:27:10 ID:pL01by6T0 [1/3]
こっそり公開してみたり

最初のベタなDB
エクセルで手動で整理したデータをCSV化してMySQLに入れた

http://evrkfh.php.xdomain.jp/test/001.php

ほんでもって進化

001のDBに対して
・名前の読みカラムを追加
   ここは全角カタカナ専用とする。こうしないと並べ替えで変になる

・種族を一対一リレーション
   別に種族専用のテーブルを作る
   本体のテーブルには種族のIDを記載するようにする
   データ摘出時にリレーションすれば事実上同じ状態になる

・魔法と特殊効果を切り離し、専用テーブル化
   魔法と特殊効果が三つのカラムに分かれている
   これでは検索でも障害になるし並べ替えも問題
   なによりこれでは魔法そのもののデータを蓄積できない
   別のテーブルに割って後々一対多リレーションで連携させる


http://evrkfh.php.xdomain.jp/test/002.php

一対多が難しいねやっぱし
ようやっと概念が理解できたけど、これで理解が正しいのかどうかが問題 orz

絶賛実験中なのだ



3 :名無しさん@故郷VIP:2021/08/24(火) 18:57:58 ID:0y+X++370
ザ・雑談スレ

817 自分:名無しさん@故郷VIP[sage] 投稿日:2021/08/24(火) 17:58:32 ID:pL01by6T0 [3/3]
早々に設計ミスに気が付く…orz

・一対一リレーションの問題点
  種族側のテーブル
  魔王なら種族番号1、女神なら種族番号2みたいに
  一意に番号が割り当てられている
  これ、リスト作った後に種族番号のカラムを作って、
  そいつに自動番号の機能を割り当てて自動的に
  番号をふった
  それ自体はいいんだけど、自動番号をゼロから作ると
  かならず1番からスタートするっぽい
  それ自体は別に問題じゃないんだけど

  ・親(悪魔テーブル)側の種族番号に対応して悪魔の名前を
   引っ張ってきてくれる。便利だが、万が一悪魔テーブル側に
   0や-1、あるいは空値があったら?
   (一対一だとその行自体がないことになってしまう。具体的には
    ベルゼブブの種族番号は1で魔王なんだけど、これを0にすると
    ベルゼブブ自体がいなくなってしまう。エラーなりではなく、
    データが出てこない。これでは気が付くこともできない)

  ・悪魔自体は全部一意だけど、種族みたいなパラメーターには
   「なし」や「現在は不明」が存在するはず
   明確に「種族がない・変化する・理由があってふせてある」なんて
   場合にこれでは対処できない

一対多でリレーションすべきらしい orz

・・・なんかメモ代わりに書いてるけどちょっと多すぎるね・・・
俺様スレ立てますー

4 :名無しさん@故郷VIP:2021/08/24(火) 19:09:21 ID:0y+X++370
おーし無事スレ立ったみたい
もう何も怖くない

ウンウン唸って考えてた
手探りで001のDBからいろいろ加工してたんだけど、先の
問題点が気になってしょうがない

まだいくらも作ってない状態だし、やり方を忘れてないうちに
作り直しちゃおうかと思ってる

具体的には

・すべてのテーブルには捨てフィールドとして1〜100を設ける

・うち、1は「不明」 (あとで調べやがれ)
    2は「ナシ」

・親テーブルのリレーション用カラムは
  ・符号なし(マイナスを許容しない)
  ・NULLを許可しない
  ・ディフォルト値を1に

こんなことしてみようかと思ってる

1〜100のフィールドは無駄なようだけど、今やこの程度の無駄は許容できるほど
コンピュータは進化しているし、MySQLみたいな専用DBが100くらいの無駄で
性能低下なんて考えにくい
むしろ、後で「あ!」って思った時の修正(つまり今回みたいな)のほうがよっぽど面倒くさい

「せっかくのDBなんだから、適当にフィールド追加して、その値で処理すれば?」

て意見のあろうが、そういうことすると仕様書だったりその使用をコード内に
書いておいたりと、絶対後で忘れる orz

まあそんなわけで


5 :名無しさん@故郷VIP:2021/08/24(火) 21:43:27 ID:0y+X++370
さーて仕切り直しだ orz

まずは001相当のデータにフィールドを100加えた
(最初の悪魔のIDが101になる)

あと、数字のデータで
 ・32767以上になることが考えられない
 ・ゼロが値としてありうる

 そんなデータ(level、体力等)

 ・SMALLINT
 ・NON(符号あり)
 ・NULLなし
 ・ディフォルト -1

 という形式にした
 そして、-1を明確に「現時点で不明」とする(調べやがれ)

攻撃回数は
 ・値は値(普通に回数)
 ・ゼロは0
 ・-1は不明(調べやがれ)
 ・-2は複数。この場合、別カラムのkougekikaisuu_head 〜 kougekikaisuu_foot


そんなデータで作り直した001相当がこちら
(まあ見た目は全く変わってないねメンゴ)


http://evrkfh.php.xdomain.jp/test/003.php

6 :名無しさん@故郷VIP:2021/08/24(火) 22:28:10 ID:0y+X++370
さてそれじゃ、zokuのテーブルを作りまする

まず、
  ・大本である悪魔テーブルを複製(じゃ、悪魔01とする)
  ・悪魔01から、zoku以外のカラムを全部削除!
  ・これで、 魔王魔王魔王邪神邪神 みたいなテーブルができる
  ・次に、重複しているフィールドを全部削除

    仮テーブル(hoge_tmp)にコピーして戻す的はやり方

    CREATE TEMPORARY TABLE hoge_tmp AS SELECT DISTINCT * FROM `悪魔01` WHERE 1;
    DELETE FROM `悪魔01`;
    INSERT INTO `悪魔01` SELECT * FROM hoge_tmp;
    DROP TEMPORARY TABLE hoge_tmp;   

これで、種族名だけのテーブルがでけた!

7 :名無しさん@故郷VIP:2021/08/24(火) 23:05:00 ID:0y+X++370
以前もここまではやった

ここから、オートインクリメント属性のカラムを追加すれば
自動的に一意のIDが振られる

…だけど

今回やり直している理由
そう、保険の捨てフィールドを100行入れたい

どうすればいいのかわからんかった(SQLでやる方法がわからんかった)

結局、さくらエディタで空行のCSVを作ってインポートするという、
少々はずかしい方法とあいなった orz

こんなのね

hoge,fuga   ←一行目
,
,
,
,         ←ちょうど100行になるように

インポートしたテーブルの名前を100hogeと改名

これに、

INSERT INTO 100hoge(
hoge
)
SELECT zoku

FROM 悪魔01

これで、先頭100フィールドが空のテーブル完成

あとは、オートインクリメント属性のカラムを追加すれば見事に
101から始まるテーブルが出来上がた(101が魔王になる)


8 :名無しさん@故郷VIP:2021/08/24(火) 23:10:37 ID:0y+X++370
あとは、100hogeを 魔法テーブル とかに改名

hogeカラム名をzoku_nameに改名

でけたー

9 :名無しさん@故郷VIP:2021/08/24(火) 23:11:12 ID:0y+X++370
魔法じゃねーわ種族だった・・・orz

10 :名無しさん@故郷VIP:2021/08/24(火) 23:31:32 ID:0y+X++370
さていよいよリレーション用の番号カラムを設置する

今、悪魔01内ではzokuというカラムがあって、そこに直接種族が書いてある
(魔王だとか邪龍だとか。003の見た目通りである)

これを、zoku_idというカラムを作って、zoku_IDだけ記載する形に変更するわけ
(魔王のzoku_IDは101なので、ベルゼブブのzoku_idに101を書き込む)

まずは、悪魔01にINT型のzoku_idというカラムを追加する

次に、一時的に、zokuカラム(漢字)でリレーションする

こんなsqlを実行するとあたかも一枚の003みたいなテーブル状態になる

SELECT *
FROM 悪魔01
LEFT JOIN 種族01
ON 悪魔01.zoku = 種族01.zoku_name
WHERE akuma_ID < 100

カラム末尾に種族01テーブル内のカラム(zoku_ID,zoku_namel,zoku_yomi)が表示されていれば
リレーションはOK

いよいよ悪魔01側のzoku_idの変更

11 :名無しさん@故郷VIP:2021/08/24(火) 23:50:27 ID:0y+X++370
UPDATE 悪魔01 ,種族01

SET 悪魔01..zoku_id = 種族01.zoku_ID

WHERE 悪魔01.zoku = 種族01.zoku_name

これが成功すれば、悪魔01のzoku_idカラムに値が入っているはず

最後に、悪魔01のzokuカラム(魔王だとか邪龍だとかが入ってる列)を削除!!!

こんな状態になる

http://evrkfh.php.xdomain.jp/test/004.php


12 :名無しさん@故郷VIP:2021/08/24(火) 23:58:30 ID:0y+X++370
あれー? 前は種族が一目でわかったのに、わざわざ番号(zoku_id)にしたうえで
種族名削除しちゃったの?

これじゃ、一目でわかんないじゃない
不便だ!

ごもっとも

オチとしては、リレーションすれば種族01側から種族名が引っ張ってこれるので
読めるんだろうけど、そこまで苦労して不便にして、どゆこと???

俺もそう思ってますた

ちょっとここで考えます
種族の名前、漢字ですよね?
ひらがなやカタカナでないと並べ替えの時に不自然になります
(そのため悪魔の名前にはカタカナで読みが書いてありますね)

たとえば、魔王
読み方は 「マオウ」。どうしたらいいでしょう?

・悪魔01に、zoku_yomiカラムを設ける
・一つ一つ書いてゆく

・・・うん、まあ、魔王は三つくらいしかないからそれもアリなんですが・・・


13 :名無しさん@故郷VIP:2021/08/25(水) 00:35:48 ID:Ip0PngQO0

  ・もし、魔王が100体くらいいたら?
  ・わー!三か所、「マヨウ」って間違えちゃった
  ・なに?各種族にオスメスがある?国がある?
    そんなにどんどん項目増えると直せないよおおおお!

そう
「魔王」というデータ一つに沢山の項目が増えたり減ったりするかもしれません
また、大量のデータでカタカナの入力ミスで摘出されずに長い間
気が付かなかったり

リレーションは、こういった問題が発生しないための仕組みらしいでふ

具体的にやってみましょう

・魔王と邪鬼に読みを付ます(現在は読みはなにもない)
・種族01テーブルの魔王と邪鬼の読みだけ書き込みます(マオウ・ジャキ)

たった二か所、二行だけ直しました

これをリレーションすると・・・

http://evrkfh.php.xdomain.jp/test/005.php

わかります?
ziku_id 101の箇所はすべてマオウ、106の読みはすべてジャキになっていますね?

このように、種族側はzoku_idにさえ余計なことをしなければ修正追加がすべて一遍に
繁栄されるようになるわけです

これが、一対多リレーショナスデータベースの便利な所であり、また大規模化にも
柔軟に対応できる理由なのでする


14 :名無しさん@故郷VIP:2021/08/25(水) 01:08:28 ID:Ip0PngQO0
さてさて
いつまでも拙いDBの解説されてもおもんないと思うんでこの辺で

どんどこDB作っていきまする

めざせデビルアナライザ!

15 :名無しさん@故郷VIP:2021/08/25(水) 02:13:36 ID:Ip0PngQO0
並べ替え機能j 付けた

http://evrkfh.php.xdomain.jp/test/006.php

次は個別画面かな

16 :名無しさん@故郷VIP:2021/08/25(水) 14:21:33 ID:Ip0PngQO0
宝以外はほぼ出来上がったかも(とりあえず今あるデータではの話だけど)

属性、性格を一対多にして文字情報を追い出し、
魔法と特殊効果は多段リレーショナル化でけたー

あと、個別情報機能搭載(まだデザインひどい)

うほだんだん俺が便利になってきた


http://evrkfh.php.xdomain.jp/test/007.php

17 :名無しさん@故郷VIP:2021/08/25(水) 20:21:09 ID:66ax2wAY0
なんかすげーな(汗

18 :名無しさん@故郷VIP:2021/08/25(水) 21:33:16 ID:Ip0PngQO0
がんばってまっせー

http://evrkfh.php.xdomain.jp/test/008.php

・個別情報
・種族別一覧

搭載しますた

19 :名無しさん@故郷VIP:2021/08/28(土) 09:55:51 ID:AF4VZVOk0
合体の計算が難しスグル…

http://evrkfh.php.xdomain.jp/test/009.php

よくこんなんスーファミにプログラムしたな

アンシャントロマンの会社は見習いやがれ


20 :名無しさん@故郷VIP:2021/09/04(土) 21:17:14 ID:lBZRJ9O20
おーし整った

そろそろテストじゃなくて本番に着手すっかな
テストはこれでラストにしよう

http://evrkfh.php.xdomain.jp/test/011.php

合体一覧表作った
これもDBから引っ張ってるんでいいデバッガ替わりになるだず

http://evrkfh.php.xdomain.jp/test/table011.php


見てる人いたらサイト名考えてくれwおちんちんビロンとか勘弁なw

21 :名無しさん@故郷VIP:2021/09/05(日) 19:29:40 ID:DPz07ICV0
すげぇ

22 :名無しさん@故郷VIP:2021/09/06(月) 01:00:53 ID:E+CuRBDd0
悪魔データに

・出現場所
・英名
・ちょっとした説明

を加えてみたぞ

出現場所がデータ化できたから、場所から
出現する悪魔一覧が作れそうだ
やべぇなにより俺が便利だwwww


23 :名無しさん@故郷VIP:2021/09/06(月) 01:02:20 ID:E+CuRBDd0
あそいえば
トップから辿れるようにしたぜもう

http://evrkfh.php.xdomain.jp/

テストおしまいやぁ

24 :名無しさん@故郷VIP:2021/09/06(月) 03:11:58 ID:xcx633cx0
悪魔一覧の画像ファイルが壊れてて表示されないのが結構あるかも?

25 :名無しさん@故郷VIP:2021/09/06(月) 18:05:13 ID:E+CuRBDd0
ふひひひ

場所別一覧試作完成したぞぃ♪
トップから行けるんだぜ


>>24
あースマンあれまだ作ってないんだよ画像
サイト側では機械的にリンクしちゃうからエラー状態になってまうね
場所別が出来たし、どんどこ足りないの作ってかないと

26 :名無しさん@故郷VIP:2021/09/06(月) 18:42:04 ID:E+CuRBDd0
ぐぬぬ

絶対に仲間にならない種族ってのがいるらしい

法則があるのかなそれとも個別の友好度?

27 :名無しさん@故郷VIP:2021/09/06(月) 20:06:38 ID:E+CuRBDd0
計算式作ってみたら疑問つか間違いじゃね?なの
露呈した

2体合体の場合、あちこちで公開されている(俺も作った)合体表を見て
種族が決まる

二体のレベルの平均+2を割り出し、「一番近いレベル」の悪魔になると
                           ↑
                     これ、間違いじゃないかな

具体的な例
SFC上で
  妖鬼  アズミ LV10
  堕天使 アンドラス LV 8

  合体させると、幽鬼 グール LV 17 になる

俺が作った計算式で行うと、
  妖鬼  アズミ LV10
  堕天使 アンドラス LV 8

  合体させると、幽鬼 おシチ LV 7 になる

まず、種族だが妖鬼+堕天使=幽鬼 ここまでは合ってる
アズミとアンドロスのレベル計算は、 (10+8)/2+2で、11

http://evrkfh.php.xdomain.jp/akuma/syuzoku009.php?zoku=105

幽鬼一覧だと、この11という値は、おシチとは差4、グールとは差6

つまり、「一番近いレベル」だとおシチになるはず

「一番近い、上のレベル」 が正しいのではないかと


28 :名無しさん@故郷VIP:2021/09/06(月) 21:06:10 ID:E+CuRBDd0
グーグル先生に調べてもらったら、
極わずかだが俺の考えた「一番近い、上のレベル」の記載がなされている
サイトが見つかった

一旦計算式をこれに合わせて、今後実機と照らし合わせてみるしかなさそう

あと、LightとDarkの悪魔は交渉では仲間にならないとの情報あり

言われてみると屍鬼(オバタリアンやゾンビ等)は
「だめだ会話にならない」
しか出てこないもんなあ



29 :名無しさん@故郷VIP:2021/09/07(火) 09:44:27 ID:uyKAFpGe0
問題点その2

大種族合体はだいたいOKなんだけど、

アズミ × ブラウニー がなぜスライムになるのかわからん???


あと、吉祥寺にはノッカー出没するんか???

30 :名無しさん@故郷VIP:2021/09/07(火) 16:21:39 ID:uyKAFpGe0
各板の行き来がメンドクセー!

共通のサイドバーつくるべ

31 :名無しさん@故郷VIP:2021/09/08(水) 15:12:13 ID:qyJJsU1B0
別の事象でまた合わないのが出た( ^ω^)・・・

地霊 コボルト LV 6 + 堕天使 カミジン LV 12

計算式では 邪鬼 ウィンティゴ LV28になるが、
実機では 邪鬼 オーク LV11 になる


地霊 + 堕天使 = 邪鬼  計算値が ( 6+12 )/2 + 2 = 11


邪鬼で近いのを並べると

ドウコウ LV8 (差 3)
オーク LV11 (差11)
ウィンティゴ LV28 (差17)

カミジンのレベルが12だから、オーク(合体後)はレベルが下がっていることになる
先での家庭は間違っていたわけである
(もともとの、「一番近い」が正しい結果になった)

うーんこまったぞ


32 :名無しさん@故郷VIP:2021/09/09(木) 14:40:07 ID:DGk4kFXU0
悪魔一覧と合体一覧がデカ過ぎて使いずらいな

少し絞ったの補助でつくってみるか・・・

33 :名無しさん@故郷VIP:2021/09/15(水) 09:26:56 ID:UiHpVdNb0
仕事の人はマジお疲れ様だが俺は趣味なのでしっかり宣言

IEは門前払いしまする

今回みたいに勉強しながらサイト作ってると
本当にIEさえなければなことばっかりなんよね

WinだってもうちゃんとEdgeに乗り換えたわけだし
なんで趣味でIEで苦労せにゃならんと思うわけで


34 :名無しさん@故郷VIP:2021/09/16(木) 18:24:40 ID:Wvja7bW20
困った…
ここにきて無料で借りたサーバーのMySQLが古すぎて問題が出てきた

無料だからしゃーないんだけど
せっかくここまで育てたのになあ
どうすべか

せめてバージョンが5.6ならいいんだが


35 :名無しさん@故郷VIP:2021/09/18(土) 10:07:40 ID:rh4CyUqO0
>>33
なんか知らんが激しく同意しておこう

ウチットコもやっとこさ去年だぜIE非対応宣言したの



36 :名無しさん@故郷VIP:2021/09/21(火) 11:43:11 ID:XjVeF86u0
まあなんだアリスさえいれば


                      / ̄ ̄ ̄\
 テヘ♪           r< ノ⌒ー――一 、 }l>、
                 >              \  \
         /  /                   ∧\ :、
            l{ .:/            }l ヽ   :,  :∧  、_
          V /      /  .  ,   }     }l   ∧ \    ヽ
            ./   /   ,{                }  }  \  \
           /    ,   ../.|    /  /(    } __,      .\ ノ
         /{  ,    l{.|   ./  / ゝ― < ̄ ̄}  } l          _
         , ./ ./  {   : |.|  /____./   .,ィ丐炒\  .,―          タヒ
       /.../{  {  ,  . | ゝ‐⌒     l{ ノ  :ム }l  l}  }  }       .ん
      /  :/   |  L ...」           .乂 :彡′ /  .ノ         .で
  . . /  ./  ,  乂彡´ ̄  _          ..:::::::.    イ  ,        く
   \/     ,′   \ . ,ィ示ミx  、     :::::::::   ,   /        れ
           .′    {ヽ .::::::.       /:`,       /   {         る
         ,      \{ :::::::::..    、_}/    ./    }        ?
         /     ,ィ三三:、_/ .}          ./     ,′
        ./  f¨ ‘   .、三三ニ{ .乂_  ___ .ィ /、
       /   ⌒ヽ_  ゚ 、_三:|  }ニ{\  ̄  . ./} .:     }
        /    ノ三三ミヽ ⌒ヽ  .ニ、 \__   .ノ }三ミ::::::.. _
       ./   {三三三 :{  ̄ ̄ }  }ニ:',   )ヽ/  ,三三三三}
      /    .:三三三ニ:, ―‐ }l ,ニニ:ヽ  / Y } /三三三三:{
    ./     乂三三三‘, -‐'⌒{三三::ゝ'/⌒} レ三三三三三:、
   ../      /O ̄ ̄ \:゚o    ;三三/ ://⌒, {三三三三三三:}
    /      {l{´ ̄ ̄ヽノ /   /三三{_/{  { :|三三三三三 .ノ
  ./       ,     / ./   /三三三三,ゝ 乂三三三,彡⌒}
  /        ./      /   /三三三三三三三三三:/_ ノ
. /          /     {/   /三三三三三三三三三:/   /


37 :名無しさん@故郷VIP:2021/09/22(水) 08:31:48 ID:pMbYxjDl0
`¨ − 、     __      _,. -‐' ¨´
      | `Tーて_,_` `ー<^ヽ
      |  !      `ヽ   ヽ ヽ
      r /      ヽ  ヽ  _Lj
 、    /´ \     \ \_j/ヽ
  ` ー   ヽイ⌒r-、ヽ ヽ__j´   `¨´
           ̄ー┴'^

20KB
新着レスの表示

名前:
E-mail(省略可)