「風俗の予約システム」がどうにか形になりました / デリヘル純愛ゲーム(仮)制作日誌
前回の記事……
forループを活用して「風俗の予約システム」をつくる(途中) / デリヘル純愛ゲーム(仮)制作日誌
これの続きです。それなりに形になったのでご報告。
▼まずは動画をご覧ください
構造
データベース部分のJavaScriptファイルを読み込む
;キャスト嬢の情報配列
[loadjs storage="arrayLadyList.js" ]
;デリヘル店の情報配列
[loadjs storage="arrayShopList.js" ]
;ホテルの情報配列
[loadjs storage="arrayHotelList.js" ]
たとえば、JSファイルarrayLadyList.js
は「デリヘル嬢のデータベース」に該当します。
//Sグレードのデリヘル嬢 10名まで
defaultLadyName1 = '沙友理';
defaultLadyName2 = '茜';
defaultLadyName3 = 'まみ';
//Aグレードのデリヘル嬢 20名まで
defaultLadyName4 = 'カレン';
defaultLadyName5 = 'まさみ';
defaultLadyName6 = '結衣';
//Bグレードのデリヘル嬢 40名まで
defaultLadyName7 = 'こなた';
defaultLadyName8 = 'かがみ';
//簡易データベースとしての多次元配列
//[0]名前 [1]グレード [2]指名料 [3]年齢 [4]新人 [5]末尾
let arrayLady = [
[defaultLadyName1, 'SS', 3000, 19, 'flesh', 0],
[defaultLadyName2, 'A', 2000, 22, 'used', 0],
[defaultLadyName3, 'B', 1000, 42, 'used', 0],
[defaultLadyName4, 'B', 1000, 42, 'used', 0],
[defaultLadyName5, 'B', 1000, 42, 'used', 0],
[defaultLadyName6, 'B', 1000, 42, 'used', 0],
[defaultLadyName7, 'B', 1000, 42, 'used', 0],
[defaultLadyName8, 'B', 1000, 42, 'used', 0]
];
はじめ、単純な配列ではforループによるデータ取り出しがうまくいかなかった。多次元配列(配列のなかに配列を含む)は一見複雑そうにみえますが、データ処理には都合が良い構造です。処理しやすかったです。
そして、デリヘル嬢の多次元配列から、ループ処理にて「デリヘル嬢の名前」を取り出します。
;ループ開始[p]
[eval exp="f.cnt=0"]
*loopladystart
;arrayLadyList.js で設定している多次元配列「デリヘル嬢」リストから名前を取り出すための準備
[eval exp="f.ladyNameyoyaku = arrayLady[f.cnt][0]"]
;クリック部分の指定 1個目の選択ボタン
[locate x=&selectLadyClickPositionX y=&selectLadyClickPositionY]
[clickable width=&selectLadyClickWidth height=&selectLadyClickHeight border="solid:1px:red" mouseopacity="50" target=&f.arrayLadySelectDone[f.cnt]]
;ループカウント+1する
[eval exp="f.cnt=f.cnt+1"]
;arrayLadyList.js で設定している多次元配列「デリヘル嬢リスト」から名前を取り出しを実行 f.ladyNameyoyaku
[backlay]
[ptext page=back text=&f.ladyNameyoyaku layer=0 size=&selectLadyFontSize x=&selectLadyNamePositionX y=&selectLadyNamePositionY color=0xffffff zindex=2]
[trans time=0 layer=0]
[wt]
;ループ最初に戻る
[jump target=*loopladystart]
*loopladyend
;クリック用のストップタグ。これがないと一覧出力できない。
[s]
データベースから取り出してリスト化するループ処理。さまざまなことに応用できそうです。