約 5,853,597 件
https://w.atwiki.jp/alicecode12/pages/292.html
マクシム=ディクシア=オレイカルコス 概要 テトラグラマトンのエリート 性別 男 年齢 63 名前 マクシム=ディクシア=オレイカルコス 性格 口では厳しいことを言っているが、結構甘い性格をしている 解説 年齢に逆らうように大柄な体格と鍛えられ上げた肉体、豊かな白髪とサンタクロースのように立派な髭を生やした鷹のように鋭い目をした強面の初老の男性。 ジェネシスの幹部会総合取締役であるアダム=べレシート=オレイカルコスの弟にして同組織のNo.2。 旧時代のありふれた一般家庭にアダムと共に出生(ちなみに一卵性)。 幼少期からアダムと同様に空への憧れと夢を抱く。 しかし、双子でありながらも次第にアダムには勉学、運動、喧嘩などのあらゆる分野でいくら努力しても敵わなくなり、「双子なのになぜこれほどまでに差がついてしまうのか」と悩んで非行に走ることもあった。 若さゆえの反発心からアダムと徐々に疎遠になっていったが、やがてオブジェクト黎明期の動乱が勃発。 徴兵されることとなり、どうせならば憧れていた空がいいという理由で空軍に入隊する。 配属された部隊で偶然アダムと再会。最初はギクシャクするも、周囲の仲間からの配慮や命懸けの苦楽を共にしたことで次第にわだかまりを溶かしていった(でもやっぱりアダムの方が優秀)。 家族に等しい仲間をオブジェクトに何人も奪われつつも、なんとか双子揃って生き残りアダムは結婚し家庭を持つ。 共通のオフの日にはアダムの邸宅に招かれるほど兄弟仲は修復されていた。 ところが、もう少しでアダムの第二子が生まれようとした平穏なある日、少し離れた地域へとベビー用品を買いに行った兄に代わって家を任されたマクシムであったが、突如安全であったはずの居住区にオブジェクトが侵攻。 当時制定されて間もない『安全国』への不可侵のルール等知ったことないとばかりに暴虐の限りを尽くす。 マクシムが意識を取り戻した時に近くに残されていたのは、黒ずんだ炭となっていたアダムの妻子だった。 自分が死ぬべきだったと謝り続けるマクシムをアダムは一発だけ思い切り殴って、それ以来一度たりとも責めなかった。 それから程なく彼は妻を娶り、子を成しても「なぜ出来損ないの自分ではなく、アダムばかりが不幸になるのか」と罪悪感と葛藤に苛まれ続けて、それが妻だった女性に伝わっていたのか「私達の前で一度たりとも本心からの笑顔を見せたことがない」という理由から破局。 その後はアダムが立ち上げていたジェネシスと合流して、数十年単位で資金調達やコネクション作りに奔走しながら「圧倒的な個の戦力に左右されない誰もがフェアな戦争」に時代を戻すことを目標に突き進むこととなる。 そんな中でジェネシスのオブジェクトによる戦災孤児の保護活動の一環でヒトミコを拾う。 テトラグラマトンのエリートを選定する際は、アダムと同時に適正検査を受けたが選ばれたのはこれまで一度たりとも片割れに勝ったことがない自分だった。 ようやく自分より優秀な兄にはできないことを成す時が来たとこの事実を天からの啓示と捉えて、世界を変えるべく彼は空を駆ける。 長時間に渡るテトラグラマトンが滞空中の暇な時間は、主にヒトミコとゲーム(弱い)や映画鑑賞(予期せぬベッドシーンは不自然に咳払いが多くなる)などをして過ごしている。
https://w.atwiki.jp/swfspec/pages/97.html
スクリプトオブジェクト ActionCallFunction ActionCallFunction は、関数を実行します。 これには ActionScript の組み込み関数 (parseInt のような) と、ユーザ定義関数、ネイティブ関数が含まれます。 より詳しい情報は ActionNewObject をご覧ください。 フィールド 型 コメント ActionCallFunction ACTIONRECORDHEADER ActionCode = 0x3D ActionCallFunction は次のことを行います。 関数名 (String) をスタックからポップする numArgs (int) をスタックからポップする 引数をスタックからポップする 引数を渡して、関数を呼び出す 関数の戻り値をスタックにプッシュする 戻り値が無い場合 (関数が return ステートメントを持たない場合)、 push undefined メッセージがコンパイラにより生成され、スタックにプッシュされます。 undefined の戻り値はスタックから取り除かれる必要があります。 全ての呼び出しアクション (ActionCallMethod, ActionNewMethod, ActionNewObject, ActionCallFunction) と初期化アクション (ActionInitObject, ActionInitArray) は、引数が逆の順序でスタックに積まれます。右端の引数が最初に詰まれ、左端の引数が最後に積まれます。 これにより、引数の使用時には順序通りにポップされます。 ActionCallMethod ActionCallMethod は ActionNewMethod のように、メソッド (関数) をスタックにプッシュします。 フィールド 型 コメント ActionCallMethod ACTIONRECORDHEADER ActionCode = 0x52 名前付きのメソッドが存在する場合、 ActionCallMethod は次のことを行います。 メソッドの名前をスタックからポップする メソッド名が空文字列か undefined の場合、 object はメソッドのコンテナオブジェクトではなく、関数オブジェクト (function object) になります。 例えば、 CallMethod が object = obj と空文字のメソッド名で呼び出された場合、次の構文と同等の意味になります。 obj(); メソッド名に foo が指定された時は、 obj.foo(); と同等の意味になります。 ScriptObject の object をスタックからポップする 引数の数 args をスタックからポップする 引数をスタックからポップする 引数を渡して、メソッドを呼び出す メソッドか関数の戻り値をスタックにプッシュする 戻り値が無い場合 (関数が return ステートメントを持たない場合)、 push undefined メッセージがコンパイラにより生成され、スタックにプッシュされます。 undefined の戻り値はスタックから取り除かれる必要があります。 全ての呼び出しアクション (ActionCallMethod, ActionNewMethod, ActionNewObject, ActionCallFunction) と初期化アクション (ActionInitObject, ActionInitArray) は、引数が逆の順序でスタックに積まれます。右端の引数が最初に詰まれ、左端の引数が最後に積まれます。 これにより、引数の使用時には順序通りにポップされます。 ActionConstantPool ActionConstantPool は、新しいコンスタントプールを作成します。 古いコンスタントプールが存在する時は上書きされます。 フィールド 型 コメント ActionConstantPool ACTIONRECORDHEADER ActionCode = 0x88 Count UI16 次に続く定数の数 ConstantPool STRING[Count] 文字列定数 ActionDefineFunction (注) ActionDefineFunction は SWF 7 以降では滅多に使用されません。 これは ActionDefineFunction2 に置き換えられました。 ActionDefineFunction は、与えられた名前と本体サイズで関数を定義します。 フィールド 型 コメント ActionDefineFunction ACTIONRECORDHEADER ActionCode = 0x9B FunctionName STRING 関数名 (空の場合、匿名関数) NumParams UI16 パラメータの数 param 1 STRING パラメータ名 1 param 2 STRING パラメータ名 2 ・・・ param N STRING パラメータ名 N codeSize UI16 続くコードのバイト数 ActionDefineFunction は FunctionName, NumParams, [param1, param2, …, param N], codeSize の順でパースされます。 ActionDefineFunction は、次のことを行います。 アクションタグから関数名をパースする タグのパラメータをスキップする タグからコードサイズをパースする DefineFunction タグの後には、 codeSize で指定されたバイト数のアクションデータが続きます。これは、関数の本体になります。 関数用のコードを得る ActionDefineFunction は、次の方法で使用することができます。 使用法 1 匿名関数をスタックにプッシュします。 この関数は 関数リテラル で、命令文の代わりに式で表現されます。 匿名関数は次のような ActionScript で定義されます。 area = (function () {return Math.PI * radius *radius;})(5); 使用法 2 指定された FunctionName と関数定義により変数をセットします。 こちらは、より慣例的な方法で次のような ActionScript で定義されます。 function Circle(radius) { this.radius = radius; this.area = Math.PI * radius * radius; } ActionDefineLocal ActionDefineLocal は、ローカル変数の定義と値の設定を行います。 変数が既に存在する場合は、新しいもので置き換えられます。 フィールド 型 コメント ActionDefineLocal ACTIONRECORDHEADER ActionCode = 0x3C ActionDefineLocal は次のことを行います。 値 (value) をスタックからポップする 名前 (name) をスタックからポップする ActionDefineLocal2 ActionDefineLocal2 は、ローカル変数を定義しますが値をセットしません。 変数が既に存在する場合は何も行いません。 ローカル変数の初期値は undefined になります。 フィールド 型 コメント ActionDefineLocal2 ACTIONRECORDHEADER ActionCode = 0x41 ActionDefineLocal2 は次のことを行います。 名前 (name) をスタックからポップする ActionDelete ActionDelete は名前付きのプロパティを ScriptObject から削除します。 フィールド 型 コメント ActionDelete ACTIONRECORDHEADER ActionCode = 0x3A ActionDelete は次のことを行います 削除するプロパティの名前をスタックからポップする プロパティを削除するオブジェクトをスタックからポップする ActionDelete2 ActionDelete2 は名前付きのプロパティを削除します。 Flash Player は最初、現在のスコープでプロパティを探します。 見つけられなかった場合、より大きいスコープへと範囲を広げてプロパティを探します。 フィールド 型 コメント ActionDelete2 ACTIONRECORDHEADER ActionCode = 0x3B ActionDelete2 は次のことを行います 削除するプロパティの名前をスタックからポップする ActionEnumerate ActionEnumerate は、 ActionScript オブジェクトの全ての "スロット" の名前を取得します。 オブジェクト obj の、全ての名前を表す記号を X とすると、 obj.X のような形式で表されるものを検索します。 ActionEnumerate は、 ActionScript の for .. in 文の実装に使われます。 (注) 特別なスロット名は省略されます。 特別な名前のリストは、 ECMA-262 標準の、 DontEnum の項目を調べてみてください。 リンク Under Translation of ECMA-262 3rd Edition http //www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ 8 型 (Types) http //www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/8_Types.html#section-8.6 フィールド 型 コメント ActionEnumerate ACTIONRECORDHEADER ActionCode = 0x46 ActionEnumerate は次のことを行います。 オブジェクト変数の名前 (スラッシュ区切りかドット区切りで表される) をスタックからポップする スロット名のリストの終わりを指すために、 null 値をスタックにプッシュする それぞれのスロット名 (文字列) をスタックにプッシュする (注) プッシュする順番は未定義です。 ActionEquals2 ActionEquals2 は ActionEquals と似ていますが、 ActionEquals2 は型を区別します。 等価比較アルゴリズムは ECMA-262 Section 11.9.3 を使用します。 フィールド 型 コメント ActionEquals2 ACTIONRECORDHEADER ActionCode = 0x49 ActionEquals2 は次のことを行います。 arg1 をスタックからポップする arg2 をスタックからポップする 戻り値をスタックにプッシュする ActionGetMember ActionGetMember は、名前付きプロパティをオブジェクトから検索し、そのプロパティの値をスタックにプッシュします。 フィールド 型 コメント ActionGetMember ACTIONRECORDHEADER ActionCode = 0x4E ActionGetMember は次のことを行います。 メンバ関数の名前 name をスタックからポップする ScriptObject object をスタックからポップする プロパティの値をスタックにプッシュする 例えば、オブジェクト obj のプロパティ foo に次のように値が割り当てられた時、 obj.foo = 3; ActionGetMember の object を obj に、 name に foo を指定すると、スタックに 3 をプッシュします。 指定されたプロパティが存在しない時は、 undefined をスタックにプッシュします。 object パラメータは Object 型にする必要はありません。 object パラメータが number, Boolean, string のようなプリミティブ型の場合は、一時的なラッパーオブジェクト Number, Boolean, String へと自動的に変換されます。 これにより、ラッパーオブジェクトのメソッドが、プリミティブ型に対してでも呼び出すことができます。 例えば次の例は、 5 と表示されます。 var x = "Hello"; trace (x.length); この例の変数 x には、プリミティブ文字列 "Hello" が代入されています。 x は、 String 型のラッパーオブジェクトに一時的にラップされ、その上で length プロパティを取得します。 ActionInitArray ActionInitArray は ActionInitObject と同様に、 ScriptObject 内の配列の初期化を行います。 新しく作成されたオブジェクトはスタックにプッシュされます。 スタックには、新しく作成されたオブジェクトの参照のみが積まれます。 ActionInitArray の後に続く SetVariable か SetMember アクションにより、新しく作成されたオブジェクトを変数に代入することができます。 フィールド 型 コメント ActionInitArray ACTIONRECORDHEADER ActionCode = 0x42 ActionInitArray は要素数 (elems) をスタックからポップした後、 [arg1, arg2, …, argn] をポップします。 ActionInitArray は次のことを行います。 引数 (または要素) の数をスタックからポップする 引数がある場合、 ActionInitArray は、指定された要素数の配列オブジェクトを初期化する ScriptObject として配列を初期化する オブジェクトの型を Array にセットする スタックから値をポップし、それを配列の初期値として代入する 全ての呼び出しアクション (ActionCallMethod, ActionNewMethod, ActionNewObject, ActionCallFunction) と初期化アクション (ActionInitObject, ActionInitArray) は、引数が逆の順序でスタックに積まれます。右端の引数が最初に詰まれ、左端の引数が最後に積まれます。 これにより、引数の使用時には順序通りにポップされます。 ActionInitObject ActionInitObject は ActionInitArray と同じようにオブジェクトを初期化します。 新しく作成されたオブジェクトはスタックにプッシュされます。 スタックには、新しく作成されたオブジェクトの参照のみが積まれます。 ActionInitArray の後に続く SetVariable か SetMember アクションにより、新しく作成されたオブジェクトを変数に代入することができます。 フィールド 型 コメント ActionInitObject ACTIONRECORDHEADER ActionCode = 0x43 ActionInitObject は要素数 (elems) をスタックからポップした後、 [value1, name1, …, valueN, nameN] をポップします。 ActionInitObject は次のことを行います。 初期プロパティの数をスタックからポップする ScriptObject としてオブジェクトを初期化する オブジェクトの型を Object にセットする 初期プロパティをそれぞれスタックからポップする 各初期プロパティは、最初に値がポップされ、次に名前がポップされます。 名前は文字列に変換されますが、値はどのような型でもかまいません。 全ての呼び出しアクション (ActionCallMethod, ActionNewMethod, ActionNewObject, ActionCallFunction) と初期化アクション (ActionInitObject, ActionInitArray) は、引数が逆の順序でスタックに積まれます。右端の引数が最初に詰まれ、左端の引数が最後に積まれます。 これにより、引数の使用時には順序通りにポップされます。 ActionNewMethod ActionNewMethod は、新しいオブジェクトを作成するためにコンストラクタ関数を呼び出します。 新しいオブジェクトが作成され、コンストラクタ関数に this キーワードが渡されます。 コンストラクタ関数に引数を指定することもできます。 コンストラクタ関数の戻り値は破棄されます。 ActionCallMethod や ActionNewObject と同じように、新しく作成されたオブジェクトはスタックにプッシュされます。 フィールド 型 コメント ActionNewMethod ACTIONRECORDHEADER ActionCode = 0x53 ActionNewMethod は次のことを行います。 メソッドの名前をスタックからポップする ScriptObject をスタックからポップする メソッドの名前が空の場合、 ScriptObject は関数オブジェクトとして扱われ、これをコンストラクタ関数として呼び出します。 メソッドの名前が空でない場合、 ScriptObject 内の、そのメソッドを呼び出します。 引数の数をスタックからポップする メソッド呼び出しを実行する 新しく作成されたオブジェクトをスタックにプッシュする 特定の戻り値が無い場合 (関数が return 文を持たない場合)、コンパイラは push undefined を生成し、それをスタックにプッシュします。 この戻り値の undefined は、スタックからポップされる必要があります。 全ての呼び出しアクション (ActionCallMethod, ActionNewMethod, ActionNewObject, ActionCallFunction) と初期化アクション (ActionInitObject, ActionInitArray) は、引数が逆の順序でスタックに積まれます。右端の引数が最初に詰まれ、左端の引数が最後に積まれます。 これにより、引数の使用時には順序通りにポップされます。 ActionNewObject ActionNewObject は、コンストラクタ関数を呼び出します。 新しいオブジェクトが作成され、コンストラクタ関数に this キーワードが渡されます。 オプションで、コンストラクタ関数の引数をスタック上に指定することもできます。 コンストラクタ関数の戻り値は破棄されます。 ActionCallMethod や ActionNewMethod と同じように、新しく作成されたオブジェクトはスタックにプッシュされます。 フィールド 型 コメント ActionNewObject ACTIONRECORDHEADER ActionCode = 0x40 ActionNewObject は次のことを行います。 オブジェクト名 (文字列) this をスタックからポップする numArgs (int) をスタックからポップする 引数をスタックからポップする 名前付きオブジェクトのコンストラクタ関数を呼び出す コンストラクタ関数には指定された引数が渡され、新しく作成されたオブジェクトには this キーワードが使われる コンストラクタ関数の戻り値は破棄される 新しく作成されたオブジェクトがスタックにプッシュされる 全ての呼び出しアクション (ActionCallMethod, ActionNewMethod, ActionNewObject, ActionCallFunction) と初期化アクション (ActionInitObject, ActionInitArray) は、引数が逆の順序でスタックに積まれます。右端の引数が最初に詰まれ、左端の引数が最後に積まれます。 これにより、引数の使用時には順序通りにポップされます。 ActionSetMember ActionSetMember はオブジェクトのプロパティをセットします。 プロパティが存在していなかった場合は、新しく作成されます。 存在するプロパティが指定された時は上書きされます。 フィールド 型 コメント ActionSetMember ACTIONRECORDHEADER ActionCode = 0x4F ActionSetMember は次のことを行います。 新しい値をスタックからポップする オブジェクト名をスタックからポップする オブジェクトをスタックからポップする ActionTargetPath ActionTargetPath は、指定されたオブジェクトのターゲットパスをスタックにプッシュします。 スタック上のオブジェクトの型が MovieClip の場合、オブジェクトのターゲットパスはドット区切りの表記でスタックにプッシュされます。 オブジェクトの型が MovieClip でない場合、結果はムービークリップのターゲットパスの替わりに undefined になります。 フィールド 型 コメント ActionTargetPath ACTIONRECORDHEADER ActionCode = 0x45 ActionTargetPath は次のことを行います。 オブジェクトをスタックからポップする ターゲットパスをスタックにプッシュする ActionWith スクリプトの with ブロックを定義します。 フィールド 型 コメント ActionWith ACTIONRECORDHEADER ActionCode = 0x94 Size UI16 続くコードのバイト数 ActionWith は次のことを行います。 with ブロックを開始するオブジェクトをスタックからポップする ActionWith タグの Size (コードの長さ) をパースする 呼び出しの深さが最大の深さを超えていないかチェックする SWF 6 以降 最大の深さは 16 SWF 5 最大の深さは 8 with の深さが最大の深さを上回っている場合、 Size バイトのデータは実行する代わりにスキップされる ActionWith タグの後ろの Size バイトのアクションコードを with ブロックの本体とする with ブロックをスコープチェーンに追加する 移動 前のページ SWF 5 アクション 次のページ 型
https://w.atwiki.jp/alicecode12/pages/708.html
コンスタンツェ スペック表 正式名称 コンスタンツェ 分類 水陸両用第二世代 用途 対オブジェクト駆逐用兵器 所属 『資本企業』 全長 105m 最高速度 520km/h 推進機関 静電気式+レーザー推進システム 装甲 3cm厚×333層 主砲 共振誘発バイブレーションレールガン✕5 副砲 高周波振動レールガン『エボニー』、低周波振動コイルガン『アイボリー』、戦闘律動調律演算システム『アマデウス』 搭乗者 クロード=ソステヌート その他 メインカラーリング:ピアノの鍵盤のように交互に重なる白と黒 解説 「『資本企業』で最も美しく戦うオブジェクト」と呼ばれる第二世代。 搭載された戦闘律動調律演算システム『アマデウス』とエリートのセンスが合わさり、的確なタイミングで命中させて伝わった振動を共振することで増幅し、パーツの結合の劣化や剥離、内部エリートの液状化を引き起こす。「雑音」となる爆発すら許さずに敵を葬る。 その様子を聴く者は皆口を揃えて、「曲を奏でているようだ」という感想を抱く。 欠点としては砲弾は常に振動しているので弾道が激しくブレることと、振動を与えることを重要視しているため貫通力が低いという点。 コックピットの内部は一面にずらりと並んだピアノの鍵盤を模している。
https://w.atwiki.jp/alicecode12/pages/930.html
青龍 スペック表 正式名称 青龍 分類 総合マルチロール型第一世代 用途 首都防衛用兵器 所属 『大陸』『四神』 全長 80m 最高速度 600m/h 推進機関 静電気式+レーザー推進システム 装甲 1cm✕1000層+反応剥離装甲 主砲 圧縮金属成形砲✕5 副砲 対人機銃、レールガン、コイルガン、レーザー、ミサイルポッド 搭乗者 ファンロン=ラオ その他 メインカラーリング:青(鱗の下は赤) 解説 『大陸』暫定首都である北京の東西南北を守護する4機のオブジェクト、『四神』のうちの一機。「東」担当。 海から最も近い方角の防衛をこなすため、地形に左右されず安定した高性能を発揮することを目的に建造された第一世代。 オニオン装甲の表面にびっしりと敷き詰められた反応剥離装甲が織り成す鱗状の紋様が特徴。 この「竜鱗」は被弾すると尖った棘状に剥離して地面に落下、真上を通りがかる敵オブジェクトに反応して爆発を引き起こし突き刺さって足回りに損傷を与えるまきびしとなる。 主砲には圧縮金属砲弾式を採用(理由は「伝統」とのこと)。砲弾を砲身内部で成形するので連射性能は犠牲になったが貫通力や破壊力等を細かく微調整可能。幅広い用途への対応力の底上げと相手から手の内を読ませにくくする効果がある。
https://w.atwiki.jp/fujiyan/pages/28.html
WebコミックLibraryhttp //web-comi.appspot.com/GAE/JとSlim3で作成してみた、各出版社から配信されているWebコミックをまとめて閲覧できるサイトです。只今、実験運用中… 目標 オブジェクト指向的技法を用いないプログラムから、用いたプログラムへのリファクタリングを通して、 インターフェース(interface)の活用法とフレームワーク(framework)の概念をお伝えします。 対象 インターフェースの使い道がピンとこない方 インターフェースと抽象クラス(abstract class)の使い分けがピンとこない方 オブジェクト指向の何がウレシイのかピンとこない方 コンテンツ オブジェクト指向プログラミング心得 サンプル~二項演算 古典だって重要 じゃあ何が問題? じゃあオブジェクト指向ならどうする? では試してみましょう ようやくクラス継承の登場 そしてフレームワークへ
https://w.atwiki.jp/mblen/pages/41.html
Summary. ある意味JavaScriptの根幹をなすともいえる「オブジェクト」についてです。 オブジェクトって何? 誤解を恐れずに言えば、 オブジェクト とは「データの集まり」のことです[1]。初めからJavaScriptで用意されている「配列(Array)」などはまさにその代表例です。 しかし、オブジェクトは単なるデータの塊というわけではありません。通常彼らには「メソッド」という関数みたいなものが定義されています。やや比喩的な言い回しですが、用意されたメソッドを呼び出せば、彼らに色々な仕事をやらせることができます。その意味では「便利な小間使い」みたいなものともいえます。 例を見てみましょう。たとえば a = new Array( 1, 2, 3 ); a.reverse(); と書いた場合、まず「配列」という構造のオブジェクトが作られます。その後、このオブジェクトのもつ reverse というメソッドが呼び出され、中身が逆順に入れ替わります。利用者が中身をごちゃごちゃいじる必要はなくて、単にメソッドを呼べばいいわけです。 例: 日付オブジェクト JavaScriptにはたくさんの種類のオブジェクトが用意されています。その中でいかにも「小間使い」という感じがするのはこの Date クラスじゃないかと思います。 var date = new Date(); window.alert(date.toLocaleString()); window.alert(date.toUTCString()); 1行目で現在時刻を表すオブジェクトが作られます。"January 10, 2010 12 34 5" のような引数を渡せば現在時刻以外の時刻を表すオブジェクトを作ることもできます。 Dateオブジェクトには、それが表す時間を色々なフォーマットで表示するメソッドが用意されています。中でも、日本からアクセスされたら日本時間を、イギリスからならイギリス時間を・・・、という date.toLocaleString() はお世話になる機会が多いのではないかと思います。 試すと分かりますが、単に日本時間に直すだけでなく表示も日本風になります。一方、date.toUTCString() は世界標準時を返すメソッドで、こちらは英語になります。これらの雑務は人間が毎回毎回コーディングするような代物ではありません。オブジェクトに任せましょう、というわけです。 例: ウィンドウオブジェクト 普段何気なく使っているオブジェクトの代表例は window でしょう。さっきも window.alert() が出てきましたね。これもオブジェクトで、現在Webページを開いているウィンドウを管理しています。非常に多岐にわたるメソッドを持っていて、まともに紹介しようとしたらちょっと大変です。 世間で出回っているJavaScriptのTips集では、この window に命令を出して何かやらせるケースが多いです。空気のような存在ですが大事なオブジェクトといえます。 オブジェクトを作る 実はこのオブジェクトというもの、自分で1から作ることもできます。 完全に手作業で作る obj = new Object(); obj.name = "Adam"; obj.age = 18; obj.hello = function(target){ window.alert("Hello, " + target + ". I m " + this.name + "."); } まず1行目で obj という真新しい空っぽのオブジェクトが作られます。このオブジェクトに名前を付けたり、年齢を決めたりしてあげます。最後に hello() という、挨拶を行わせるメソッドを定義しています。 メソッドの定義の中に出てくる this とは、この仕事を実行するオブジェクト自身のことを指します。自分の名前を名乗ってもらうためには this.name と書きます。 クラスを経由して作る さっきの例だとオブジェクトを1個ずつ自分で作らないといけないので、あまりありがたみがありません。そこで普通は「テンプレ」[2]を用意して量産します。 Person = function(na){ this.name = na; } Person.prototype.talk = function(a){ window.alert(this.name + " Hi, " + a.name + ". How are you?"); a.reply(this); } Person.prototype.reply = function(a){ window.alert(this.name + " I m fine, thank you."); } boy = new Person("Tom"); girl = new Person("Alice"); boy.talk(girl); girl.talk(boy); まず最初に Person という関数を作ります。JavaScriptは不思議なプログラミング言語で、なぜか関数を作るとそれを new できるようになります。実行すると、name というフィールドを持ったオブジェクトが返されます。 メソッドを持たせるには、上のように Person.prototype.なんちゃら という関数を定義します。そうすると、new したとき自動的にメソッドが追加されます。回りくどいですが、効率上の都合でこうなってるらしいです。 メリット 構造体的なこと たとえば今、トランプを使ったゲームを制作しているとしましょう。別に本当に作るわけじゃないので細かい仕様は考えませんが、どんなゲームであれ「山札から1枚カードを引く」という関数は必要になるでしょう: drawCard = function(){ ...... return カード; } さて、たとえば「スペードの3」を結果として返すときにどう書いたらいいでしょう? これが "スペード" だけなら文字列で返せばいいですし、数字だけなら int で返せばいいです。しかし、実際はこれらを組にして返さないと意味がありません。 まあ、逃げ道は色々あるんですが、オブジェクトを利用すれば Card = function(suit, num){ this.suit = suit; this.number = num; } みたいなクラスを定義しておいて、このクラスのオブジェクトを返す方法が考えられます。これならトランプ以外の、もっと複雑な情報を持つカードでも応用できます。 名前空間的なこと 上のコードに出てきた this.suit や this.number などのことを一般的に「フィールド」または「メンバ変数」と呼びます。当たり前ですが、これらはちゃんと . を使って指定しないとアクセスできません。したがって、 var suit = "スペード"; var card = new Card(suit, 3); ...... suit = "ハート"; // 広域変数の suit だけ再代入される のようなコードを書いても card には何の変化もありません。逆に言うと、広域変数のほうの suit はいつどこで内容が書き換わるかわからないということです。意図して書き換えるならともかく、うっかり勘違いをして上書きしてしまった場合はバグの原因になります。 特に恐ろしいのは、他の人の書いたコード(自分が書いたコードでも半年以上前だと他人みたいなもんです)と自分の書いたコードを混ぜ合わせるときです。変数や関数の名前がたまたまダブっていた場合、どこかしらで予期せぬ不具合が発生します。事前に対処すればいいのですが、こういうのはすごくタルいです。 それに比べると、メンバ変数のほうは頑丈です。 他の人のコードの中で上の card.suit をついうっかり書き換えることなんて考えられるでしょうか? いやまあ、たまたまその人も card という変数を使っていた・・・って可能性はありますが、それは card が原因なわけで。わざわざ名前の重複回避に配慮しなくても、余程のことが無い限りうまくいきます。 再利用 オブジェクトは関連するデータをひとまとめにしたものです。そのため、フィールドの数が10だろうが20だろうがバラバラになりにくいです。加えて、大抵の仕事はメソッドを通じてオブジェクト自身にやらせるので、利用者は細かい裏事情について知る必要がありません。 これらの理由から、一度作ったクラスは比較的気楽に再利用できることが多いです(もちろん設計次第だが)。このあと字句解析で Lexer というクラスを作りますが、使い方さえ覚えておけば細かい実装など忘れてしまっていいわけです。 [1] 細かいことを言い出すと色々難しいのだけど。別にフィールドがなくてもオブジェクトなわけだし。 [2] 普通は「クラス」と呼ばれる。プログラミング言語によっては、クラスを使って作られたオブジェクトをそのクラスの「インスタンス」と呼ぶこともある。
https://w.atwiki.jp/alicecode12/pages/475.html
XQMF-00Ω ドミネーター スペック表 正式名称 XQMF-00Ω ドミネーター 種別 試作型多用途万能無人戦闘機(Experimental Multimission unmanned drone Fighter) 所属 『資本企業』 全高 13.1m 全長 23.8m 全幅 17.8m 重量 28.5t(装備重量含まず) 動力系 マグノリアファクトリー社製プラズマ利用試作型ラムジェットエンジンXFF-8500/HE1×2、マグノリアファクトリー社製プラズマ利用小型タービン・エンジンFF-4000/HE4×2 最高速度 約6500km/h(リミッター解除・アフターバーナー時)/約7500km/h(リミッター解除・アフターバーナー時・強襲用ブースター装備時) 武装 25mm高速弾機銃×1、試作型パルスレーザー機銃×1、試作型対オブジェクト用大型電磁投射砲×1、隠顕式二連装レーザー砲×1、ウェポンベイ内臓型多目的全方位ミサイルランチャー×2、高機能空対空ミサイル×8、電磁制御式特殊粒子防護膜発生装置 乗員人数 完全独立式学習型戦闘AI『セシリア』 その他 メインカラーリング:黒と藍(耐熱コーティング・高性能ステルス塗料) 特徴 資本企業に属する軍需関係企業『マグノリアファクトリー社』がXMF-00Ω ドミネーターを基として作り出した完全独立型自立無人戦闘機。 コクピットにはパイロットの代わりを務めるようにマグノリアファクトリー社が人工知能技術の全てを集約して作り出した戦闘AI『セシリア』のコアブロックが搭載されており、これによって人体の耐久度を完全に無視した超高負荷の加速・減速、ハイGマニューバを実現した。 『セシリア』は従来のAIとは違い高速の学習機能が付けられており、それによって本社が集めた数々のエースパイロットの戦闘データを入力し、独自に学習をさせ続けることで人間と同等以上の飛行適正を獲得。シミュレーター上ではあるがオブジェクトという兵器がない世界であればこれを搭載したドミネーター一機で世界の空を機体の名の通り「支配」することが出来るという結果が算出された。 学習速度だけでなく反応速度や咄嗟の機転など、とてもAIとは思えないような挙動を見せる時があり、この性質によって航空戦においては軍のトップエースを軽々と上回る成績を出し、一時はマグノリアファクトリー社内部で「パイロット不要論」まで出る始末。因みにこの不要論は社長によって強引に黙らされた。 機体内部にパイロットを乗せないため人体の負担を考えずに済むためエンジンを更に高性能なものに換装し、常にリミッターが解除された状態で飛行する。その最高速度実にマッハ5.5(専用の強襲用ブースターを付ければ脅威のマッハ6以上)。その上加減速の間隔が極めて短く(パイロットの無事を考慮しなくていいため)、ドミネーターの翼とエンジンの回転もあって傍目から見たら冗談としか思えないような異次元の機動を現実のものとする(機体フレームが耐えられるかどうかは別とする)。 理論上これを撃墜できる戦闘機は存在せず、また並の対空兵装も悉く回避するか無効化してしまうためマグノリアファクトリー社では「空の王」という二つ名を送られている。しかしマグノリアファクトリー社の社長曰く「これは人間の可能性を示すための試金石である」と伝えられており、まるで誰かにこの機体を倒されることを望んでいるかのようだったという。 なお、これが弱点と呼べるかどうかは怪しいが、一応制御のために母機から定期的に指示信号を送る仕組みを採用しているのだが、これが途切れて一定時間経過すると独自の判断で行動を開始してしまい、所謂『暴走状態』に突入する。これを止めるには本社に存在する特殊な信号装置を使って強制停止させるか物理的に撃墜することでしか止める術はない
https://w.atwiki.jp/alicecode12/pages/582.html
ガルダ スペック表 正式名称 ガルダ 分類 陸上専用第二世代 用途 対オブジェクト駆逐用兵器 所属 『信心組織』 全長 200m 最高速度 900km/h 推進機関 タンデム翼(ジェット)+エアクッション式推進システム 装甲 5cm×200層 主砲 下位安定式プラズマ砲×2、高出力レールガン×4 副砲 レールガン、コイルガン、レーザービーム、欺瞞兵装、ミサイルポッドなど 搭乗者 ディアナ=オンディーヌ その他 メインカラーリング:ブラック 解説 ユーラシア平原などの広大に過ぎる地形で利用される、地面効果翼機を模した陸上専用第二世代オブジェクト 球状本体に揚力を発生させやすい、長方形型の巨大なタンデム翼を取り付け、ジェットエンジンによって航行する。 また戦闘時は球状本体に取り付けられたエアクッションを起動させ、翼のジェットは補助動力として運用する。 主砲は二門の下位安定式プラズマ砲と四門の高出力レールガン。 積載量の多いという利点を生かし、近接の脆弱さをカバーするために威力に優れる下位安定式プラズマ砲を搭載。 遠距離から航行中の砲撃のために高い出力を持つレールガンを装備することで遠距離制圧能力も確保。 副砲各種も様々な種類が大量に装備されているため武装による対応力は高いものに仕上がっている。 『信心組織』と『大陸』による国境紛争の「回廊戦争」に正規兵として隷下師団と共に参戦。 正面からの撃破を狙ったが、実弾は全てレーザーで撃墜され、旋回性の低さが露呈し対応できぬまま撃破された。 エリートは回収されたが、政治的都合によって「白旗」は出されずに隷下師団ごと即座に殲滅されて死亡した。 コンセプト リメンバータタール 特徴 タンデム翼を利用した地面効果翼機、積載量が多いため重装備化している 弱点 陸上航行速度は目を見張るものがあるが戦闘時はせいぜい450km/hしか出ない上、旋回性能が割と低い
https://w.atwiki.jp/linezeta/pages/1007.html
改造と強化の違い ▼改造 ベースとなる機体のレベルが”MAX”になると、 特定の「素材機体」を合成して「上位機体」へ進化させることができます。 ただし、進化ができない機体も存在するので注意が必要です。 ▼強化 手に入れた機体のレベルを上げるために機体を合成することです。 どんな機体でも「素材機体」として使用することができます。 改造のポイント ●改造に必要な素材機体は、機体ごとに異なります。 ●必要な素材は「曜日銀河」を攻略することで入手できます。 入手できる素材は曜日ごとに異なります。 ●C.O.V機体等の一部上級機体の場合、改造で属性を2つ持つ機体へ 進化させることができます。 2属性機体の場合、各々の属性のパズルで攻撃が発動します。 レアガチャでも、稀に2属性機体を入手することができます。 【改造前】レッドフォース属性 機体名 「スルド」 【改造後】レッドフォース+ブラックフォース属性 機体名 「C.O.Vスルド」 → 火曜銀河 [上級] バンディット系素材 [最上級] バンディット系素材、オーロラバンディット → 水曜銀河 [中級] ペルソナ系(I,II,III)素材 [上級] ミスティックペルソナ → 木曜銀河 コア系素材 → 金曜銀河 [中級] アニマ系素材、オーロラアニマ [上級] ダブルアニマ系、ダブルオーロラアニマ → 週末銀河 ゴールド大量出現 強化のポイント ● ベースとなる機体と同じ属性の機体を使って強化すると、 その他の属性より多くの経験値を獲得することができます。 ● 機体の中には「機体強化用」の機体が存在し、 これを使って強化した場合は多くの経験値を獲得することができます。
https://w.atwiki.jp/alicecode12/pages/161.html
イルマタル スペック表 正式名称 イルマタル 分類 用途 所属 『信心組織』 全長 120m 最高速度 550km/h 推進機関 エアクッション式推進システム 装甲 1cm×1000層 主砲 不純物可変式高圧力ウォーターカッター(薬品を溶け込ませて仕様することが多い) 副砲 薬品散布用雲霧発生装置・薬物散布用ファン、下位プラズマ砲他 搭乗者 フレーゼ=マミーテイラー その他 メインカラーリング:水色 解説 機体のコンセプト 特殊な薬品による洗脳 機体の特徴 非常に簡潔に言えば単純に言えば、「薬品で急激に興奮させ、精神退行させた上で、自分が母親だと思い込ませる」という狂気のオブジェクト 外部刺激の体内の水分調節、代謝を操作する。利用するのは単純な「水」である。単体では無害な成分を調節し、即興で調合し、空中に散布する。そして、人体に水分と共に触れた場合一気に化合させる。エリートでないのであれば雨などを利用するが、エリートに対しては「汗」をかかせることで化合を促進する。尚、呼吸を行うことや目の粘膜を介してでもある程度薬物の化合は可能 あくまで単体では無害な物質を複数組み合わせていくことで、フィルターを貫通するが、効果が出るまで時間がかかる 取り扱う薬物の効果によって、興奮を刺激する、視野狭窄に陥らせることが可能。そして刷り込み効果を引き起こしす 洗脳用として開発された本オブジェクトの特殊な薬品調合機能だったが、なぜかインプリンティングの際に初恋に近い感情を相手に必然的に与えることが判明した。洗脳の過程で興奮を刺激するため本格的にR18な光景が割と広がることが機体製作後に判明した 尚、エリートを直接狙うというより、敵基地の兵士を操り裏切らせることで敵エリートの士気を大幅に低下させることの方が狙い 弱点 状況、空調、相手の機体について想定しながら戦闘中に調合を行うためやることが多すぎる状態になり続けている。ぶっちゃけこの機体を操れるエリートな時点で薬品を使わずに直接敵機を殴った方が早い