約 5,834,411 件
https://w.atwiki.jp/ftbinteractions/pages/35.html
16 宇宙開発時代1➀目標 ②EV発電 ③Tungsten ④Blood Magic Life Essence ⑤Blood Altar Tier 4 ⑥Ritual Stone ⑦Unstable Mana ⑧Mark of Falling Tower ⑨Awakened Activation Crystal ⑩Radon ⑪Quantum Processor ⑫IV Machine Hull ⑬Fusion Crafting 16 宇宙開発時代1 ➀目標 ここでは、BloodMagicによるQuantum Processorを作成する。また、IV系Hullを作成する。ただし、ここでIVに入ってもいいが、結局そのあとにエンドに行く必要があるので先にエンド前提のディメンション Euclydes Primeの準備をする。 ②EV発電 EVは現在はまだHVを4台動かし、Transformerで昇圧させるしか方法がない。また、EVの蓄電はLapotron Crystal。 Crafting IN OUT 6 Lapis Plate2 Nanoprocessor1 Energy Crystal 1 Lapotron Crystal ※Sifting MachineでFlawless Sapphireを作ってもいい。 ③Tungsten 溶岩からTungstateが入手出来ていたのでそこからTungstenにする。 Crafting IN OUT 4 1x Platinum Wire2 Nano Processor Assembly1 1x Aluminium cable1 Glass1 EV Machine Hull 1 Advanced Electrolyzer III Electrolyzer 2048EU/t IN TOTAL VOLTAGE TIME OUT 7 Tungstate Dust7000mB Hydrogen 1720320EU 1920EU/t 44.8 s 1 Tungsten Dust2 Lithium Dust5000mB Oxygen すでにNichromeコイルなので精錬可能。 Electric Blast Furnace 128EU/t 2A IN TOTAL VOLTAGE TIME TEMP OUT 1 Tungsten Dust 1317600EU 120EU/t 549.0 s 3000K 1 Hot Tungsten Ingot ④Blood Magic Life Essence Life Essenceを生み出すには、Digital Mob Agonizerが必要。 Starlight Crafting Altar IN OUT 4 1x Red Alloy cable4 Sooty Marble2 Thaumium Plate1 Electric Pump (LV)1 Demonic Will1 LV Machine Casing 1 Digital Mob Agonizer これは、まずRF入力が必要。CEUで変換する。また、Altar Linkerも動作に必要。 Luminous Crafting Table IN OUT 3 Soot-covered Plate1 1x Red Alloy cable1 Eye of Redstone 1 Altar Linker Soot-covered Redstoneは石炭ブロックにRedstoneをたたけばいい。 Data Modelから生み出すので、Data Modelに敵データを読み込ませる。報酬のBlank Data Modelに敵ドロップをクラフトしてData Modelを作成。 Crafting IN OUT 1 Blank Data Model1 Rotten Flesh 1 Zombie Data Model これをDeep Learnerに入れる。ここでのSlimeballは錬成できる苗木から入手できる。 Crafting IN OUT 5 Soot-covered Plate2 1x Red Alloy wire1 Lapis Plate1 Slime Ball 1 Deep Learner これを開いて内部インベントリにZombie Data Model を入れる。 この状態でZombieを6体倒せばBasic、18体倒せばAdvanced、48体倒せばSuperior、98体倒せばSelf Awareレベルにできる。レベルを上げるほど、一度に生成できるLife Essenceが上昇する。 レベルを上げた後のData ModelをAgonizerに入れる。 Blood Altarを作成する。 Crafting IN OUT 4 Light Gray Rockwool2 Gold Plate1 Obsidian Skull1 Demonic Will 1 Blood Altar Blood AltarとMob AgonizerをAltar Linkerでリンクし、Data Modelを入れていると、Life Essenceの生産が開始する。 Life EssenceはAltarからFluid Conduitなどで搬出が可能。ただし、搬出速度がとても遅い。これは、Blank Slateの作成にたくさん使う。 ⑤Blood Altar Tier 4 最低でもTier を4にする必要がある。まずはBlank Slateを作成する。 Mixer 32EU/t IN TOTAL VOLTAGE TIME OUT 1000mB Life Essence1 Arcane Stone1 Nocturnal Powder 4800EU 24EU/t 10.0 s 1 Blank Slate Blank Runeの作成には、Tier1のBlood OrbのWeak Blood Orbが必要。材料のFengarum Gemは、設置したLiquid StarlightにRock CrystalとGlowstone Dustを入れる。ただし、確率で別のGemができる。そのまま長いこと放置すると回収できる状態になって、Fengarum Gemが回収できる。 これを2000mBあるAltarに入れるとWeak Blood Orbができる。これを使ってBlank Runeを作成。 Crafting IN OUT 6 Stone2 Blank Slate1 Weak Blood Orb 1 Blank Rune 最低Tierを4にする必要があるのでこれを使ってTierを2、3、4と上げる。組み立てはマルチブロック参照。ちなみに、Tier 3にはSky Stone Block、Tier 4にはBlock of Titaniumが必要。Glowstoneではないので注意。 これを使ってBlock of ArditeからMagician Blood Orbを作成。 ⑥Ritual Stone Mark of Falling Towerの作成にはたくさんのRitual Stoneが必要。Reinforced Slateもたくさん必要。 Blood Altar IN TIER LP OUT 1 Blank Slate 2 2000 1 Reinforced Slate Crafting IN OUT 4 Obsidian{4 Reinforced Slate1 Magician Blood Orb 4 Ritual Stone Master Ritual Stoneは1つでいい。 Crafting IN OUT 4 Obsidian4 Ritual Stone1 Magician Blood Orb 1 Master Ritual Stone ⑦Unstable Mana この後、Mana Diamondが必要になるので先にUnstable Manaを作成する。 Arcane Workbench IN ASPECT VIS OUT 3 Arcane Stone Slab2 Wisdom Wood Planks2 Gold Plate1 Brewing Stand 2 Ordo・Perditio・Ignis Vis Crystal 15 1 Alchemy Table Alchemy Tableでのクラフトには、Blood OrbにLPを蓄える必要がある。Blood AltarにBlood Orbを置いておくとLPが蓄えられる。 Alchemy Table IN LP OUT 1 Gunpowder1 Nether Wart1 Redstone 1000(Tier2) 1 Simple Power Catalyst EthanolはBiomassからの生産がいい。苗木から作成できる。 Mixer 32EU/t IN TOTAL VOLTAGE TIME OUT 10000mB Mana1000mB Ethanol20 Redstone1 Simple Power Catalyst 86400EU 24EU/t 180.0 s 2000mB Unstable Mana ⑧Mark of Falling Tower Mark of Falling Towerの作成にはRitual Diviner[Dusk]が必要。まずは普通のRitual Divinerを作成。 Starlight Crafting Altar IN OUT 3 Mana Diamond2 Blank Slate1 Livingwood Twig1 Ordo・Aer・Aqua・Terra・Ignis Vis Crystal 1 Ritual Diviner そしてこれをRitual Diviner Duskにする。 Crafting IN OUT 2 Demonic Slate2 Elemental Inscription Tool Dusk1 Ritual Diviner 1 Ritual Diviner [Dusk] 広いスペースにMaster Ritual Stoneを置いて、十分な量のRitual Stoneを持ってこれで右クリックすれば自動で組み立てられる。マルチブロックにも概要を記載している。 ⑨Awakened Activation Crystal これは儀式なので安定化をしておかないといけない。安定化の例 また、エッセンスは近くにそのエッセンスを含むWarded JarかThaumicEnergisticsのEssentia Infusion Providerを置く。 儀式を開始するには、材料を置いて、Caster s Gauntletで開始する。 Infusion Crafting IN ASPECT INSTABILITY OUT 2 Mana Pearl2 Demonic Slate1 Nether Star1 Weak Activation Crystal 32 Tenebrae32 Victus18 Potentia16 Exanimis High 1 Awakened Activation Crystal Blood OrbでLPを貯めたらMaster Ritual StoneにAwakened Activation Crystalで右クリックする。 隕石を落とすときにこの場合は500000LPが必要。十分なLPがないと吐き気がする。 ⑩Radon Mark of the Falling Towerは真ん中に高い塔と作らないと大爆発が起きる。 Master Ritual StoneにBlack Quartz Blockをドロップすると隕石が降ってくる。(500000LP消費) ThoriumはThermal CentrifugeでUraniumが入手できるほか、Starlight TransmutationでUranium oreにできる。 AstralSorceryの遺跡にFloating Crystalがある。これは、Lensを使ってUranium oreに変換できる。 Linking Toolを使ってブロック同士をリンクできる。まずFloating CrystalとLensを右クリック。Linking Toolを一度離す(Linking Tool以外のアイテムを選択する)。また、Linking ToolでLensと対象ブロックを右クリック。しばらくしたらUranium Oreになる。ただし、Uranium Oreのまま放置するとDense Uranium Oreになるので注意。Dense Uranium Oreは加工がややこしい。 Uranium Dustを遠心分離するとPlutonium 244になる。Plutonium 244 IngotからRadonができる。Radonは無限資源。ただし、LVでは時間が50分もかかる。 Chemical Reactor 32EU/t IN TOTAL VOLTAGE TIME OUT 3 Plutonium 244 Ingot 480000EU 8EU/t 3000.0 s 3 Plutonium 244 Dust50mB Radon ⑪Quantum Processor Chemical Bath 512EU/t IN TOTAL VOLTAGE TIME OUT 288mB Radon1 Eye of Ender 184320EU 384EU/t 24.0 s 1 Improved Ender Eye ArsenicはCobaltiteから入手できる。 Mixer 32EU/t IN TOTAL VOLTAGE TIME OUT 1 Gallium Dust1 Arsenic Dust 9000EU 30EU/t 15.0 s 2 Gallium Arsenide DustChemical Reactor 2048EU/t IN TOTAL VOLTAGE TIME OUT 2 Improved Ender Eye1 Nano CPU Wafer288mB Gallium Arsenide 768000EU 1920EU/t 20.0 s 1 QBit CPU Wafer Crafting IN OUT 1 Epoxy Resin Pulp1 Raw Carbon Fibers 1 Fiber-Reinforced Epoxy Resin Pulp Chemical Reactor 32EU/t IN TOTAL VOLTAGE TIME OUT 1 Fiber-Reinforced Epoxy Resin Sheet1 Copper Foil125mB Sulfuric Acid 5000EU 10EU/t 25.0 s 1 Fiber-Reinforced Circuit BoardAssembling Machine 2048EU/t IN TOTAL VOLTAGE TIME OUT 2 SMD Capacitor・Transistor2 Fine Platinum Wire1 Fiber-Reinforced Circuit Board1 QBit CPU1 Nano CPU144mB Molten Tin 392000EU 1960EU/t 10.0 s 1 Quantumprocessor 6 Fine Platinum Wire4 Small Coil4 SMD Capacitor4 RAM2 Quantumprocessor1 Fiber-Reinforced Circuit Board288mB Molten Tin 784000EU 1960EU/t 20.0 s 1 Quantum Assembly ⑫IV Machine Hull IVのケーブルはすこしコストが上がっている。Polyphenylene Sulfideを使えば、共通してカバーできる。 Benzeneは蒸気クラッキングしたLight Fuel Heavy Fuel Naphthaから入手できる。 Chemical Reactor 512EU/t IN TOTAL VOLTAGE TIME OUT 1 Sodium Sulfide Dust8000mB Oxygen1000mB Dichlorobenzene 86400EU 360EU/t 12.0 s 2 Salt1500mB Polyphenylene Sulfide このように、レシピはPolyphenylene Sulfide Foilが増えただけ Crafting IN OUT 2 1x Tungsten cable1 IV Machine Casing 1 IV Machine Hull ⑬Fusion Crafting ここからは、Euclydes Primeに向けて準備する。実は、エンドに行くための材料のVinteumはEuclydes Primeにある。 Electric Blast Furnace 512EU/t IN TOTAL VOLTAGE TIME TEMP OUT 1 Tungsten Ingot1 Carbon Dust 2361600EU 480EU/t 246.0 s 2460K 1 Hot Tungstencarbide Ingot2 Small Pile of Ashes Crafting IN OUT 4 Tungstencarbide Plate2 Quantumprocessor1 Improved Ender Eye 1 Draconic Core 4 Lapis Lazuli Block4 Diamond1 Draconic Core 1 Fusion Crafting Core 材料のDimensional Shardはネザーで見つかる。 Assembling Machine 512EU/t IN TOTAL VOLTAGE TIME OUT 2 Crystal Matrix Ingot1 Draconic Core1 HV Machine Casing1152mB Resonant Ender 2880000EU 480EU/t 300.0 s 1 Chaotic Fusion Crafting Injector これは、Fusion Crafting Coreの周りに設置する。マルチブロック参照。 また、Chaotic Fusion Crafting InjectorにそれぞれRFが必要。 ここまで来たら宇宙開発時代2に進もう。
https://w.atwiki.jp/ftbinteractions_v2/pages/31.html
このページは現在編集中です 高度な論理制御でほとんどの機械や作業をを自動化できるIntegrated Dynamics(以下IDs)。このページではIDsとそのアドオンであるIntegrated Tunnels(以下ITs)の解説をしていきます 目次 初級編Variable Card(変数カード) Value(値) Logic Programmer(論理プログラマー) ネットワークパーツ一覧リーダー ライター その他 Integrated Tunnels(ITs) 中級編Operator(関数) 関数一覧 小技・テクニックなどLabeller 再帰 レッドストーン ピックアップディレイフィルタリング 上級編NBT 関数の編集 値としての関数の利用 Predicate(述語) 述語の利用ITsへの応用 初級編 IDsを始めるにあたって、最初に覚えるべきことをまとめていきます Variable Card(変数カード) 様々な値を保存するアイテムです。IDsにおける論理処理はこれが無いと何もできません。たくさん用意しておきましょう。 Value(値) 変数カードに保存された情報を値と言います。情報が何を表しているかによって値の種類は変わり、値の種類によってカードを挿せる場所が異なります。 値の種類 + ... Fluid 液体の情報を保存します Ingredients レシピの材料の情報を保存します(Interacitons環境での使い道はありません) Integer -2147483648から2147483647までの整数を保存します Recipe レシピの情報を保存します(Interacitons環境での使い道はありません) List 値のリストを保存します※リストの要素を0から数え始めます Block ブロックの情報を保存します Long -2^31~2^31までの整数を保存します Boolean 真偽を保存します String 文字列を保存します Double 小数点を含む情報を保存します。IDsにおいてFloatとの違いはあまりありません Float 小数点を含む数値を保存します。 Item アイテムの情報を保存します Operator 関数を保存します NBT NBTタグを保存します Number Integer,Double,Long,Floatなどの数値の総称です Entity エンティティの情報を保存します Logic Programmer(論理プログラマー) 変数カードに値を書き込むための道具です。名前にもある通り、IDs上の論理を司るアイテムです。 緑枠 文字を打ち込んで検索ができます 赤枠 書き込む値の内容が選べます 黄色枠 入力と出力の種類で検索ができます 青枠 書き込む値の詳細の入力ができ、右下のスロットに変数カードをいれることで指定した値を書き込めます ネットワーク Logic Cableやvariable storeなどのネットワークパーツで構成されるマルチブロックをネットワークと言います。ネットワークパーツにはリーダー、ライター、+αの三種類があります。リーダーは周りの環境から特定の情報を読み取り、変数カードにリンクさせます。ライターはセットされた値を元に何かしらの形で具現化します。関数、リーダーとリンクしたカード、ライターにセットするカードはそれらを作る際に使った他のカードやネットワークパーツに依存しているので同ネットワーク内に必要なパーツやカードがないとエラーを吐きます。また、例外として何も書き込んでいないカードをライター類(ITsエクスポーター、インポーター含む)にいれるとtrueの値を持っているとみなされます。 パーツ一覧 リーダー + ... Audio Reader 読み取れる情報 値の種類 音符ブロックの音程 Integer block reader 読み取れる情報 値の種類 ブロックがあるかどうか Boolean 座標 Integer ブロック block ブロックが持つNBT NBT バイオーム String 光レベル Integer entity reader 読み取れる情報 値の種類 額縁の向き Integer エンティティ達 List プレイヤー達 List エンティティ entity 額縁エンティティ entity extra dimensional reader 読み取れる情報 値の種類 乱数 Integer プレイヤーの数 Integer tickの長さ(ナノ秒) Integer TPS Double プレイヤー達の名前 List fluid reader 読み取れる情報 値の種類 満タンであるか Boolean タンクが空か Boolean タンクが空ではないか Boolean タンクであるか Boolean その面の液体保持量 Integer ブロックの合計液体保持量 Integer タンクの容量 Integer タンクの合計容量 Integer タンクの数 Integer タンクの埋まっている割合 Double ブロックに入っている液体 List ブロック内タンクの容量 List その面のタンクに入っている液体 fluid 空間に設置してある液体の種類 fluid inventory reader 読み取れる情報 値の種類 インベントリが満タンか Boolean インベントリが空か Boolean インベントリが空ではないか Boolean インベントリであるか Boolean 入っているアイテムの合計個数 Integer インベントリのスロットの数 Integer 埋まっているスロットの数 Integer 埋まっている割合 Double インベントリに入っているアイテム List インベントリの特定のスロットのアイテム item machine reader 読み取れる情報 値の種類 機械であるか Boolean 材料を保持しているか Boolean 稼働可能か Boolean 稼働中か Boolean 熱を持っているか Boolean 熱(K) Double 最高温度(K) Double 最低温度(K) Double 通常温度(K) Double レシピに対応しているか Boolean 対応しているレシピ List FEを扱えるか Boolean FEを受け取れるか Boolean FEを与えられるか Boolean FEを抽出できるか Boolean FEを搬入できるか Boolean バッファが満タンか Boolean バッファが空か Boolean バッファが空ではないか Boolean 保持FE量 Integer 最大保持FE量 Integer FE充填率 Double network reader 読み取れる情報 値の種類 ネットワークの一部であるか Boolean ネットワークのパーツ数 Integer ネットワークのバッテリーの数 Integer 保持されているエネルギー Integer 最大保持エネルギー Integer エネルギー消費速度 Integer ライターが出力している値 any redstone reader 読み取れる情報 値の種類 レッドストーン信号がないか Boolean レッドストーン信号があるか Boolean レッドストーン信号が15か Boolean レッドストーン信号の強さ Integer コンパレーターが出力するであろう信号の強さ Integer 特定のtick周期で真を出力するカード Boolean world reader 読み取れる情報 値の種類 晴れであるか Boolean 雨であるか Boolean 雷雨であるか Boolean 昼か Boolean 夜か Boolean 雨までの時間(tick) Integer tickの長さ(ミリ秒) Integer マイクラ内時間(tick) Integer 光レベル Integer TPS Double 経過した時間(tick) Integer 合計経過時間(tick) Integer ワールドの名前 String プレイヤー達 List ライター + ... audio writer 具現化の内容 セットする値の種類 特定の楽器の指定された音 Integer 指定した名前の音 String 文字列読み上げ String effect writer 具現化の内容 セットする値の種類 指定した速度で発射されるパーティクル Double entity writer IDs単体では何もできません machine reader IDs単体では何もできません inventory reader IDs単体では何もできません redstone writer 具現化の内容 セットする値の種類 真のときに発生するレッドストーン信号 Boolean 指定の強さの信号 Integer 値が変化したときに発生するパルス Boolean 値が変化したときに発生するセットした強さのパルス Integer その他 + ... logic cable ロジックケーブルを使うことで処理に必要なネットワークパーツを一つのネットワークに組み込む事ができます。 variable store このブロックに変数カードを入れておくことで関数の処理などに必要な変数カードをネットワークに認識させることができます。 static light panel 常に強さ15の光を発します dynamic light panel セットされた数値の強さの光を発します display panel セットしたカードの値を表示します。ディスプレイにセットしたカードはネットワークに認識されるので、そのカードを関数の入力に使ってもエラーは起きません。 proxy プロキシ内に入っているカードの値になるカードを作成できます materializer セットしたカードの値から依存関係を切り、静的な値に変換してから下のカードに書き込みます delayer セットしたカードの値の履歴をリストとして出力します。 facade ケーブルの見た目を好きなブロックに変えられます Integrated Tunnels(ITs) interface インターフェースにはエネルギー、液体、アイテムの三種類あり、対面したブロックの内容物をネットワークが認識できるようにします。優先度やチャンネル、稼働頻度を設定できます。 importer/exporter インポーター、エクスポーターというのはネットワーク目線での挙動です。インポート(搬入)、エクスポート(搬出)する主体がネットワークであり、対面するブロックは動作の対象なのでブロック目線だと挙動は逆になります。右側にある「+」を押せばチャンネル、ラウンドロビン(等量分配)、フィルターの精度などが設定でき、右上のボタンを押すと優先度と稼働頻度が設定できます。また、セットするカードの値の種類によって制御方法が異なります。 制御方法 Export/Import All 〇〇 Boolean 真の場合にすべての物を搬出入します Export/Import 〇〇 Amount Integer セットされた速度で搬出入します Export/Importer 〇〇 Item/Fluid セットしたものだけを搬出入します Export/Import 〇〇s List セットされたリストに含まれるものだけを搬出入します Export/Import Items Predicate Operator ITsへの応用にて後述 Export/Import 〇〇s NBT NBT セットしたNBTを含む物を搬出入します player interface エクスポーターの亜種としてプレイヤーインターフェースというものが存在します。これは搬出するアイテムを制御するのではなく、疑似プレイヤーが手に持ったアイテムを制御します。右クリック、左クリック、シフト、オフハンド、長押しなどを設定してシミュレートできます。 world系 World Item 〇〇 ドロッパーなどのようにアイテムをエンティティの形で搬出入します World Fluid ○○ 空間に存在する液体を搬出入します World Block ○○ 指定されたブロックをを空間に搬出入します 中級編 Operator(関数) 論理プログラマーを使うと、「値に対して操作を行った値」をもったカードを作ることができます。操作の内容を関数といい、操作される値、操作の結果得られる値をそれぞれ入力、出力と呼びます。例えば、「 f(x) = x+5 」という関数があったとき、関数fはx(入力)に対して+5という操作を行って出力する関数であると言えます。「リーダーで読み取った値に関数で操作を重ねていき、目的の値を得る」ということがIDsの本質です。IDsの関数には足し算やand、リストの何番目を取得するなどといった関数が存在し、「自分の目当ての情報を入手するためにどんな情報が必要か?」「その情報をどう操作すればいいか?」を考えるのがIDsを利用する上で重要な考え方になります。 何かしらの関数で処理した値をカードに書き込む場合、まず赤枠の中から使用する関数を選び、青枠に関数に代入する値を持ったカードをセットします。関数に入力できる値の種類は決まっており、それ以外を入力するとエラーを出力します。 関数一覧 + ... 関数 入力の種類 出力の種類 処理 And Boolean,Boolean Boolean 入力が2つとも真のとき真を出力する Or Boolean,Boolean Boolean 入力のどちらかが真のとき真を出力する Not Boolean Boolean 入力の真偽を入れ替える Nand Boolean,Boolean Boolean 入力が2つとも偽のとき真を出力する Nor Boolean,Boolean Boolean 入力のどちらかが偽のとき真を出力する Addition Number,Number Number 足し算 Subtraction Number,Number Number 引き算 Multiplication Number,Number Number 掛け算 Division Number,Number Number 割り算 Maximum Number,Number Number 入力のうち大きい方を出力する Minimum Number,Number Number 入力のうち小さい方を出力する Modulus Number,Number Number 入力1を入力2で割ったあまりを出力します Increment Number Number 入力の1大きい数字を出力します Decrement Number Number 入力の1小さい数字を出力します Equals Any,Any Boolean 2つの入力が同じ時に真を出力します Greater Than Number,Number Boolean 入力1が入力2より大きときに真を出力します Less Than Number,Number Boolean 入力1が入力2より小さいときに真を出力します Greater Than or Equal Any,Any Boolean 入力1が入力2より大きときか、同じ時に真を出力します Less Than or Equal Any,Any Boolean 入力1が入力2より小さいときか、同じ時に真を出力します And Integer,Integer Integer 編集中 Or Integer,Integer Integer 編集中 Xor Integer,Integer Integer 編集中 Complement Integer,Integer Integer 編集中 Left Shift Integer,Integer Integer 編集中 Right Shift Integer,Integer Integer 編集中 Right Zero Shift Integer,Integer Integer 編集中 Length String Integer Stringの文字数を出力します Concat String,String String 入力1、入力2の順番で2つのStringを1つのStringにまとめます String Contains String,String Boolean 入力1が入力2の中に含まれていれば真を出力します Contains Regex String,String Boolean 編集中 Matches Regex String,String Boolean 編集中 Index Of String,String Integer 編集中 Index Of Regex String,String Integer 編集中 Starts With String,String Boolean 編集中 Ends With String,String Boolean 編集中 Split On String,String List 編集中 Split On Regex String,String List 編集中 Substring Integer,Integer,String String 編集中 Regex Group String,Integer,String String 編集中 Regex Groups String,String List 編集中 Regex Scan String,Integer,String String 編集中 Replace String,String,String String 編集中 Replace Regex String,String,String String,String,String 編集中 Join String,List String 編集中 To String Named String String以外の値をStirngに変換します Unique Name Uniquely Named String 編集中 Round Number Integer 数字を整数に四捨五入します Cell Number Integer 数字を整数に切り上げます Floor Number Integer 数字を整数に切り捨てます Is Null Any Boolean 入力の値が無の場合に真を出力します Is Not Null Any Boolean 入力が無ではない場合に真を出力します Empty List Boolean リストの中身が空のみの場合に真を出力します Not Empty List Boolean リストの中身が空ではない場合に真を出力します Get List,Integer Any リストの入力2番目の値を出力します Get Or Default List,Integer,Any Any リストの「入力2」番目の値を出力し、リストに「入力2」番目がない場合、「入力3」を出力します Contains List,Any Boolean リストの中に「入力2」が入っている場合に真を出力します Contains Predicate List,Operator Boolean 述語の利用にて後述 Count List,Any Integer リストの中に何個入力2があるかを出力します Count Predicate List,Operator Integer 述語の利用にて後述 Append List Any 入力したリストの中に入力2を追加したリストを出力します Concat List,List List 2つのリストをまとめたリストを出力します Lazy List Builder Any,Operator List 値としての関数の利用にて後述 Head List Any リストの一番最初の値を出力します Tail List List 一番最後の値を取り除いたリストを出力します Unique Predicate List,Operator List 述語の利用にて後述 Uniq List List リストの中にある同じ値を消したリストを出力します Slice List,Integer,Integer List 編集中 Opaque Block Boolean 入力したブロックが不透過の場合真を出力します Item Block Item ブロック型の値をアイテム型に変換します Mod Block String 入力したブロックを追加するモッドの名前を出力します Block Break Sound Block String 編集中 Block Place Sound Block String 編集中 Block Step Sound Block String 編集中 Block Is Shearable Block Boolean 編集中 Block Is Plant Block Boolean 指定したブロックが植物であれば真・それ以外なら偽を出力します Block Plant Type Block String 編集中 Block Plant Block Block 編集中 Block Plant Age Block Integer 指定した植物の成長度合いを出力します Size Item Integer 入力したアイテムが何個スタックしているかを出力します Stackable Item Boolean アイテムがスタック可能な場合に真を出力します Damageable Item Boolean 入力したアイテムに耐久値が設定されている場合に真を出力します Damage Item Integer 入力したアイテムの現在の耐久値を出力します Max Damage Item Integer アイテムの最大耐久値を出力します Enchanted Item Boolean 入力したアイテムがエンチャントされていた場合に真を出力します Enchantable Item Boolean 入力したアイテムがエンチャント可能な場合に真を出力します Repair Cost Item Integer アイテムを金床で修理する際のリペアコストを表示します Rarity Item String 編集中 Strength vs Block Item,Block Double 指定したツールで指定したブロックを採掘できるかの真偽を出力します Can Harvest Item,Block Boolean 編集中 Block Item Block アイテム型の値をブロック型に変換します Has Fluid Item Boolean アイテムが液体を保持していた場合に真を出力します Fluid Item Fluid アイテム型の値を液体型に変換します Fluid Capacity Item Integer アイテムが最大何mBの液体保持できるかを出力します NBT equals Iten,Item Boolean アイテムのNBTが同じ時に真を出力します Raw Item Equals no NBT Item,Item Boolean 編集中 Raw Item equals Item,Item Boolean 編集中 Mod Item String 入力したアイテムを追加するmodの名前を出力します Fuel Burn Time Item Integer アイテムが何 tick 燃焼するかを出力します Is Fuel Item Boolean アイテムが燃料になる場合に真を出力します Tag Names Item List 編集中 Tag Values String List 編集中 Item With Stacksize Iten,Integer Item 入力したアイテム型の値にスタック数を追加します Is FE Container Item Boolean アイテムがFEの保持が可能な場合に真を出力します FE Stored Item Integer アイテムが保持しているFEを出力します FE Capacity Item Integer アイテムが保持できるFE量を出力します Item Has Inventory Item Boolean アイテムがインベントリを持つものなら真を出力します Item Is Plant Item Boolean アイテムが植物の場合に真を出力します Item Inventory Size Item Integer アイテムのインベントリサイズを出力します Item Plant Type Item String 編集中 Item By Name String Item アイテムの名前をアイテム型にして出力します Item List Count List,Item Integer リスト内にあるアイテムの数を出力します Item NBT Item NBT アイテムのNBTを出力します Has NBT Item Boolean アイテムがNBTを持っていた場合に真を出力します Is Mob Entity Boolean エンティティがモブの場合に真を出力します Is Animal Entity Boolean エンティティが動物の場合に真を出力します Is Item Entity Boolean エンティティがアイテムの場合に真を出力します Is Player Entity Boolean エンティティがプレイヤーの場合に真を出力します Is Minecart Entity Boolean エンティティがトロッコの場合に真を出力します Item Entity Item エンティティ型の値をアイテム型にして出力します Health Entity Double エンティティの体力を出力します Width Entity Double エンティティの幅を出力します Height Entity Double エンティティの高さを出力します Is Burning Entity Boolean エンティティが燃えている場合に真を出力します Is Wet Entity Boolean エンティティが濡れている場合に真を出力します Is Crouching Entity Boolean エンティティがしゃがんでいる場合に真を出力します Is Eating Entity Boolean エンティティが食事中の場合に真を出力します Armor Inventory Entity List エンティティが装備しているアイテムをリストにして出力します Player Inventory Entity List プレイヤーのが持っているアイテムをリストにして出力します Mod Entity String 入力したエンティティを追加するmodを出力します Target Block Entity Block エンティティが見ているブロックを出力します Target Entity Entity Entity エンティティが見ているエンティティを出力します Has GUI Open Entity Boolean プレイヤーがGUIを開いていた場合に真を出力します Held Item Mainhand Entity Item プレイヤーが利き手に持っているアイテムを出力します Held Item Offhand Entity Item プレイヤーがオフハンドに持っているアイテムを出力します Mounted Entity Entity List 入力したエンティティに乗っているエンティティを出力します Item Frame Contents Entity Item 額縁に入っているアイテムを出力します Item Frame Rotation Entity Integer 額縁に入っているアイテムの向きを出力します Entity Hurt Sound Entity String 編集中 Entity Death Sound Entity String 編集中 Entity Age Entity Integer エンティティの齢を出力します Entity Is Child Entity Boolean エンティティが子供の場合に真を出力します Entity Can Breed Entity Boolean エンティティが繁殖可能な場合に真を出力します Entity Is In Love Entity Boolean エンティティが発情している場合に真を出力します Entity Can Breed With Entity,Entity Boolean 入力した二体のエンティティで繁殖できる場合に真を出力します Entity Is Shearable Entity Boolean エンティティにハサミを使うことが可能な場合に真を出力します Entity NBT Entity NBT エンティティのNBTを出力します Entity Type Entity String 編集中 Entity Items Entity List ドロップアイテムをリストで出力します Entity Fluids Entity List 編集中 Entity Energy Stored Entity Integer 編集中 Entity Energy Capacity Entity Integer 編集中 Amount Fluid Integer 液体型の値に保存されている液体の量を出力します Block Fluid Block 液体型の値をブロック型に変換します Luminosity Fluid Integer 液体が発している光を出力します Density Fluid Integer 編集中 Viscosity Fluid Integer 編集中 Is Gaseous Fluid Boolean 編集中 Rarity Fluid String 編集中 Raw Fluid Equals Fluid,Fluid Boolean 編集中 Mod Fluid String 入力した液体を追加するmodを出力します Fluid NBT Fluid NBT 液体のNBTを出力します Fluid with Amount Fluid,Integer Fluid 液体型の値に量を追加します Apply Operator,Any Any 関数の編集にて後述 Apply 2 Operator,Any,Any Any 関数の編集にて後述 Apply 3 Operator,Any,Any,Any Any 関数の編集にて後述 Map Operator,List List 値としての関数の利用にて後述 Filter Operator,List List 述語の利用にて後述 Conjunction Operator,Operator Operator 関数の編集にて後述 Disjunction Operator,Operator Operator 関数の編集にて後述 Negation Operator Operator 関数の編集にて後述 Pipe Operator,Operator Operator 関数の編集にて後述 Pipe 2 Operator,Operator,Operator Operator 関数の編集にて後述 Flip Operator Operator 関数の編集にて後述 Reduce Operator,List,Any Any 値としての関数の利用にて後述 Reduce 1 Operator,List Any 値としての関数の利用にて後述 Operator By Name String Operator 入力した名前の関数を出力します NBT Compound Size NBT Integer 複合NBTの中に含まれるNBTの数を出力します NBT Compound Keys NBT List 複合NBTに含まれるNBTのタグ名のリストを出力します NBT Compound Has Key NBT,String Boolean 複合NBTに入力した名称のNBTタグが含まれていた場合に真を出力します NBT Compound Entry Type NBTNBT,String String 編集中 NBT Compound Value NBT,String NBT 複合NBT内の入力したタグのNBTを出力します NBT Compound Value Boolean NBT,String Boolean 複合NBT内の入力したタグのBooleanを出力します NBT Compound Value Integer NBT,String Integer 複合NBT内の入力したタグのIntegerを出力します NBT Compound Value Long NBT,String Long 複合NBT内の入力したタグのLongを出力します NBT Compound Value Double NBT,String Double 複合NBT内の入力したタグのNBTを出力します NBT Compound Value String NBT,String String 複合NBT内の入力したタグのStringを出力します NBT Compound Value Compound NBT,String NBT 複合NBT内の入力したタグの複合NBTを出力します NBT Compound Value List NBT NBT,String List 複合NBT内の入力したタグのリストを出力します NBT Compound Value Byte Array NBT,String List 編集中 NBT Compound Value Integer Array NBT,String List 編集中 NBT Compound Value Long Array NBT,String List 編集中 NBT Compound Without NBT,String NBT 複合NBT内の入力したタグ以外の複合NBTのコピーを出力します NBT Compound With Boolean NBT,String,Boolean NBT 複合NBT内の入力したタグかつ入力したBooleanを持った複合NBTのコピーをを出力します NBT Compound With Sort NBT,String,Integer NBT 編集中 NBT Compound With Integer NBT,String,Integer NBT 複合NBT内の入力したタグかつ入力したIntegerを持った複合NBTのコピーをを出力します NBT Compound With Long NBT,String,Long NBT 複合NBT内の入力したタグかつ入力したLongを持った複合NBTのコピーをを出力します NBT Compound With Float NBT,String,Float NBT 複合NBT内の入力したタグかつ入力したFloatを持った複合NBTのコピーをを出力します NBT Compound With String NBT,String,String NBT 複合NBT内の入力したタグかつ入力したStringを持った複合NBTのコピーをを出力します NBT Compound With NBT NBT,String,NBT NBT 複合NBT内の入力したタグかつ入力したNBTを持った複合NBTのコピーをを出力します NBT Compound WIth NBT List NBT,String,List NBT 編集中 NBT Compound With Byte List NBT,String,List NBT 編集中 NBT Compound With Int List NBT,String,List NBT 編集中 NBT Compound With Long List NBTmString,List NBT 編集中 NBT Compound Subset NBT,NBT Boolean 最初の複合NBTの値が2つ目の複合NBTの部分集合または同じ場合に真を出力します NBT Compound Union NBT,NBT NBT 入力した2つの複合NBTの和集合を出力します NBT Compound Intersection NBT,NBT NBT 入力した2つの複合NBTの共通部分を出力します NBT Compound Minus NBT,NBT NBT 入力した2つの複合NBTの差分を出力します NBT Boolean As Booelan NBT Integer NBTのIntegerをBoolean型にして出力します NBT Byte As Integer NBT Integer 編集中 NBT Short As Integer NBT Integer 編集中 NBT Integer As Integer NBT Integer NBTのIntegerをInteger型にして出力します NBT Long As Long NBT Long NBTのLongをLong型にして出力します NBT Double As Double NBT Double NBTのDoubleをDouble型にして出力します NBT Float As Double NBT Double NBTのFloatをDouble型にして出力します NBT String As String NBT String NBTのStringをString型にして出力します NBT List As List NBT List NBTのListをList型にして出力します NBT Byte Array As Byte List NBT List 編集中 NBT Integer Array As Integer List NBT List 編集中 NBT Long Array As Long List NBT List 編集中 NBT Byte From Boolean Boolean NBT 入力したBooleanの値を持ったNBTを出力します NBT Short From Integer Integer NBT 編集中 NBT Byte From Integer Integer NBT 編集中 NBT Integer From Integer Integer NBT 入力したIntegerの値を持ったNBTを出力します NBT Long From Long Long Integer 入力したLongの値を持ったNBTを出力します NBT Double From Double Double NBT 入力したDoubleの値を持ったNBTを出力します NBT String From String String NBT 入力したStringの値を持ったNBTを出力します NBT List From Tag List List NBT 入力したNBTタグのリストの値を持ったNBTを出力します NBT Byte Array From Byte List List NBT 編集中 NBT Integer Array From Integer List List NBT 編集中 NBT Long Array From Long List List NBT 編集中 NBT Path Match First String,NBT NBT 編集中 NBT Path Test String,NBT Boolean 編集中 Ingredient Items Ingredients List 編集中 Ingredient fluids Ingredients List 編集中 Ingredient energy Elements Ingredients List 編集中 Ingredients With Item Ingredients,Integer,Item Ingredients 編集中 Ingredients With Fluid Ingredients,Integer,Fluid Ingredients 編集中 Ingredients With Energy Ingredients,Integer,Integer Ingredients 編集中 Ingredients With Items Ingredients,List Ingredients 編集中 Ingredients With Fluids Ingredients,List Ingredients 編集中 Ingredients With Energy Elements Ingredients,List Ingredients 編集中 Recipe Input Ingredients Recipe Ingredients 編集中 Recipe Output Ingredients Recipe Ingredients 編集中 Recipe With Input Ingredients Recipe,Ingredients Recipe 編集中 Recipe With Output Ingredients Recipe,Ingredients Recipe 編集中 Recipe With Input and Output Ingredients Ingredients,Ingredients Recipe 編集中 Parse String Boolean StringをBooleanに変換します Parse String Double StringをDoubleに変換します Parse String Integer StringをIntegerに変換します Parse String Long StringをLongに変換します Parse String NBT StringをNBTに変換します Choice Boolean,Any,Any Any 入力が真の場合、入力2を出力し、偽の場合は入力3を出力します Identity Any Any 入力と同じ値を出力します Constant Any,Any Any 入力1を出力します Cast Integer Double 型を変換します Cast Integer Long 型を変換します Cast Double Integer 型を変換します Cast Double Long 型を変換します Cast Long Integer 型を変換します Cast Long Double 型を変換します 小技・テクニックなど Labeller IDsで何か装置を作ろうとすると、変数カードたくさん使うのでカードの役割が分かりづらくなります。Labellerを使うとカードに名前をつけられるようになり、カードの整理が簡単になります。インベントリにLabellerがある状態だと論理プログラマーのGUIに名前を入力する欄が出てくるのでいちいちLabellerを開く必要のありません。また、Labellerは経験値を消費せずにアイテムの名付けができるので、AE2のMEインタフェースなどの名付けにも使えます 再帰 IDsでは直接再帰構造を実装する方法がありません。無理やり実装してもエラーを吐いてしまうので、少し工夫する必要があります。 1.ディレイヤー ディレイヤーの上部スロットに再帰的参照をするカードを入れ、値の履歴を関数に組み込むことで数tick後の値を処理することになり、本質的には違う値となるのでエラーを吐きません。また、初期値が必要になるので履歴の中の要素を取得する際はgetではなくgetOrDefaultを使うのが良いでしょう。 2.レッドストーンリーダーライター レッドストーンリーダーとレッドストーンライターを向かい合わせに設置することで、ライターが具現化した値がリーダーの方で読み取らせることができます。ライターにセットする関数にリーダーが読み取った値を使えるので再帰的な処理が行えます。しかし、booleanとintegerでしか使えないのでカウンターやフリップフロップ以外の実装にはあまり使えません。 レッドストーン バニラの論理制御要素であるレッドストーン。一部のmodのブロックは特定の状況でレッドストーン信号を発したり、逆にレッドストーン信号を受け取ることで制御できることがあります。これを活用すれば自動化が楽になることがあります(特にBotania)。自動化機構を考える前に加工設備や導管の仕様について知っておきましょう。 ピックアップディレイフィルタリング アイテムを拾えるようになるまでの時間をピックアップディレイといい、World Item Exporterはこの時間を自由にいじることができます。これを活用するとワールド上でアイテムエンティティを加工する設備を簡単に自動化できます(特にBotania)。 セットアップ Ignore Pickup DelayをオフにしたWorld Item Importerと、ピックアップディレイを加工時間より長く設定したWorld Item Exporterをアイテムが加工される場所に向けて設置します。Importerには素のvariable cardをセットし、Exporterを加工のトリガーと同時にアイテムを搬出するようにすればセットアップは完了です。 仕組み 最初に材料がExporterから搬出されます。Exporterから搬出されたアイテムはピックアップディレイがあるのでImporterに搬入されず、そのまま加工設備によって加工されます。そして加工されたときに出現する成果物はピックアップディレイがリセットされるので、Importerに回収されます。これにより加工後のアイテムだけを回収する仕組みが作れます。特にBotaniaのRunic Altarは下位ルーンが上位ルーンの素材になるため成果物のリストを使わずにフィルタリングを行うことで上位ルーン用と下位ルーン用で自動化設備を共有できます。 上級編 NBT アイテム、ブロック、エンティティなどが何かしらの個性(エンチャント、保持電力、体力など)を持つ場合、その個性の情報はNBTに記録されます。NBTとはいわば表で、値(タグ)とそれに紐づいた名前(タグネーム)の集まりです。IDsはブロックリーダーやitem NBT関数等を使ってゲーム上に存在するNBTを取得でき、NBTの中からNBT compound value ~関数を使って目当ての値を取り出すことができます。NBTに対して特定のタグネームを持った値を取得することでブロックの状態に基づいた制御が可能になります(特にBotania)。 関数の編集 中級編では関数とは操作であるという認識でも問題ありませんでしたが、より深く理解するために中級編での関数の定義をもう一度見てみましょう。 操作の内容を関数といい、操作される値、操作の結果得られる値をそれぞれ入力、出力と呼びます。 初級編の値の種類にOperatorがあったり、関数の定義で薄々察することができますが、操作の内容を情報として扱うことで関数を値の中の一種とすることができ、IntegerやItemと同じように値として関数に入力することも出力されることもできます。ここから先は言語化が難しいので説明に擬似コード(抽象化した大まかなプログラム)や図を用いることがあります。 変数カードに保存した関数は特定の関数を使うことで編集することが可能です。独自の関数を作成し、さらに複雑な処理を行うことができます。 関数 入力の種類 出力の種類 処理 Apply Operator,Any Any 入力した関数に入力した値を代入します。f = ( a, x, y, z ) - { ... } とすると、apply( f, value1 ) ≒ ( x, y, z ) - f( value, x, y, z ) Apply 2 Operator,Any,Any Any 入力した関数に2つ値を代入します。f = ( a, x, y, z ) - { ... } とすると、apply( f, value1, value2 ) ≒ ( y, z ) - f( value, value2, y, z ) Apply 3 Operator,Any,Any,Any Any 入力した関数に3つ値を代入します。f = ( a, x, y, z ) - { ... } とすると、apply( f, value1, value2, value3 ) ≒ ( z ) - f( value, value2, value3, z ) Pipe Operator,Operator Operator 1つ目の関数の出力を2つ目の関数の入力に流します。f = ( a ) - { ... },g = ( x, y ) - { ... } とすると、pipe( f, g ) ≒ ( x, y ) - g( f( x ), y ) Pipe 2 Operator,Operator,Operator Operator 1つ目、2つ目の関数の出力を3つ目の関数の入力に流します。f = ( a ) - { ... },g = ( b ) - { ... },h = ( x, y ) - { ... } とすると、pipe2(f, g, h) ≒ ( x ) - h( f( x ), g( x ) ) Flip Operator Operator 最初の2つの入力の順番を入れ替えます。f = ( a, b ) - { ... } とすると、flip( f ) ≒ ( x, y ) - f( y, x ) Conjunction Operator,Operator Operator 入力された関数をANDに流します。conjunction( f, g ) == ( x, y ) - f( x ) g( y ) ) Disjunction Operator,Operator Operator 入力された関数をORに流します。disjunction( f, g ) == ( x, y ) - f( x ) ‖ g( y ) ) Negation Operator Operator 入力された関数をNOTに流します。negation( f ) == ( x ) - !f( x ) 値としての関数の利用 Lazy List Builder Any,Operator List 漸化式の要領でリストをを生成します。lazyListBuilder( x, f ) == [ x, f( x ), f( f( x ) ), f( f( f( x ) ) ), ...] Map Operator,List List リストの値を順に関数に代入していき、入力した結果リストを出力します。map( f, list ) == [ f( list[0] ), f( list[1] ), f( list[2] ), ...] Reduce Operator,List,Any Any Reduce 1 Operator,List Any Predicate(述語) 関数の中でも出力の種類がBooleanの関数のことをPredicate(述語)と言います。IDsに置いては大抵の場合入力の数が1つのものを指します。何かしらの入力があったときに、それが条件を満たしているかを判別する事ができます。前述した関数編集をを行うことで用途に合わせた条件を持った述語を作成できます。 述語の利用 Contains Predicate List,Operator Boolean リストの中に述語が真を出力するような要素があれば真を出力します Count Predicate List,Operator Integer リストの中の述語が真を返す要素の数を返します Unique Predicate List,Operator List 入力が2つある述語を「2つの値を同一とみなすか」の判断に使い、その結果見つかった固有な要素のみを含むリストを出力します。 Filter Operator,List List リストの要素に対して、「取り除くべき要素であるか」の判断に述語を使い、該当する要素を取り除いたリストを出力します。 ITsへの応用 様々なmodのアイテムパイプや液体パイプが色々なフィルタリング機能を持っている中、フィルタリングという機能の本質は「どれが通って良いかを決める」という判断に集約します。この判断を述語に任せることで、ただのホワイトリストやブラックリストはもちろん、鉱石辞書に特定の文字列を含むなどの複雑かつ強力なフィルタリングが可能になります。ITsの各種インポーター、エクスポーターのGUIの一番下には述語をセットできるスロットがあるのでそこに適切な型を入力に持った述語のカードをセットすることで述語を利用したフィルタリングができます。
https://w.atwiki.jp/rssiege/pages/98.html
Patch Notes - Update 2.0 PC 2016/2/適用 コンソール 2016/2/ 適用 http //rainbow6.ubi.com/siege/en-US/updates/blackice.aspx BALANCING Operator shouts are now muted for enemy team From now on, the enemy team will not be hearing your team’s automatic character shouts. This will allow for stealthier approaches while maintaining non-verbal communication within the respective teams. Defender objective rotation (for Ranked and Custom Games) In Ranked and Custom Games, Defenders can vote for the objective location they want to defend. We noticed that certain maps have objective locations that are considered easier to defend than others, and that those are frequently being chosen. We believe that it will make for a more competitive and interesting experience to force variety upon the Defenders. From now on, when on the defending side, if a team wins an objective location, they won’t be able to pick it again until they’ve won the remaining locations. If the match goes into overtime, all objective locations become available again. Reduced bullet trail intensity, especially for suppressed weapons Reduced the visibility of bullet trails for all weapons, with an additional reduction for suppressed weapons for a stealthier approach. We believe this tweak will make silenced weapons more useful, as the damage reduction trade-off will now be more worthwhile, on top off the sound reduction. Increased the flashbang range of effect We are roughly doubling the range of flashbangs, making them more effective. Reduced noise levels of multiple Defender gadgets Reduced the noise levels of Mute’s jammers. It will now be considerably lower for Defenders and we reduced the verticality of its sound (will not be heard from two floors up or down anymore). Reduced the electricity noise levels on electrified gadgets. Reduced the noises levels of the Kapkan trap. Reinforced walls and Castle barricades now block bullets while being deployed It used to be possible to get shot while deploying reinforced walls and Castle barricades, even if they seemed to be covering the players. From now on, there will be collision on those surfaces even during deployment and therefore the bullets will be stopped. Thatcher now has a shotgun available in his loadout options We added the English shotgun M590A1 to Thatcher’s loadout options. Removed Bandit’s unique gadget’s (CED-1) electricity damage on the hostage Removed electricity damage on the hostage. This will avoid some edge cases where it wasn’t clear who was responsible for the hostage’s death. PLAYER COMFORT Added map and mode name display during loading and planning phase screens Reduced screen dust effect When surfaces break or explosions occur, nearby players get a dust effect on the border of their screen. We reduced it to be less intense and occluding. Altered matchmaking timer display Timer now counts up to estimated time. Fixed weapon damage numbers in menus We have changed the damage numbers in the menus according to the light armor values. PLAYLIST CHANGES Individual spawn location selection for Attackers (Ranked, Custom Games setting) In Ranked (and as a Custom Game setting), each Attacker can now select their own spawning location instead of having to vote as a group. This will give more tactical flexibility on approaching the building and will also greatly reduce the amount of instances in which Attackers get picked off as a group by the Defenders right as the Action phase begins (team spawn killing). Ranked population repartition tweak Our data tracking shows that the upper ranks (Gold, Platinum, Diamond) are less populated than expected. Therefore, we have reworked how our players are distributed through ranks. This means that many players will see their ranks change instantly after the February 2nd update. Here’s how it was before this update 1.17% Copper (1-4) 34.6% Bronze (1-4) 58.8% Silver (1-4) 5.27% Gold (1-4) 0.1% Platinum (1-3) Less than 0.001% Diamond Note Players in Platinum were often matched against Silver players, almost always against Golds and rarely against other Platinums, which gives the impression that matchmaking is unbalanced. Here’s the repartition we are aiming for with this update 15% Copper (1-4) 25% Bronze (1-4) 35% Silver (1-4) 20% Gold (1-4) 5% Platinum (1-3) 0.2% Diamond We will be closely monitoring how the rank repartition evolves over time and will be doing additional tweaks if needed. To learn more about the Ranked System, read this forum post. Ranked fluctuation parameters tweak From now on, players ranked Silver 3 and below will have a higher fluctuation rate compared to the ranks above that threshold. For example, Bronze 3 could contain players that have skill ratings between 15 and 16.5 while Gold 3 would have a larger spectrum, between 32.5 and 35. The intention behind this is that players from the lower ranks can climb out of them faster. This will make it more fun for newer or less experienced players, while the constant, highly skilled players will be able to maintain their rank. OTHER IMPROVEMENTS Web feature Tactical Board improvements Auto-save. The Tactical Board will now automatically save tactics in progress every 30 seconds. This will prevent you from losing your work if any disconnection or bug occurs while working on a tactic. It will also allow you to leave the Tactical Board without having to hit the Save button. Just make sure you noticed the “Autosaved” text popping on the top of the Tactical Board, to the right of the tactic name. Maintenance alerts. The Tactical Board will alert you of upcoming maintenances 15 minutes prior to downtime. Fixing the Tactical Board bugs requires us to switch off the servers for some minutes. When a maintenance is upcoming, you’ll see a warning on the bottom of the board. As we also have the autosaves ongoing, there will be less risks to lose your work, which will occur only if you edit the tactic 30 seconds or less before the maintenance starts. Texts are now easier to select and edit. Bug fixes. Fixed an issue preventing users to validate the removal of the tactician. Fixing an issue making undo/redo actions sometimes unresponsive until a change of tool was made. Inviting someone in the tactic will now correctly update the Attendees panel (top right). Fixing an issue preventing to dismiss a share notification from their dashboard when clicking "See it later". MAIN BUG FIXES Please be aware that this is not an exhaustive list and that we are only highlighting fixes that were done about the most commonly raised bugs. GAMEPLAY FIXES Right stick dead zone is resetting to default after exiting the game - FIXED Thermite can’t place an Exothermic Charge on damaged and reinforced walls - FIXED Attackers win if a teammate kills Fuze as soon as he detonates his cluster charge on the hostage – FIXED Guard break does not work if a shield-wielding Operator moves while receiving a melee hit - FIXED When in rappel mode, the Operator does not have collision under specific structures and clips through textures when moving upwards – FIXED End of round camera clips through the Operator – FIXED PVE on rare occasions one of the AI doesn’t spawn at the start of a match - FIXED PVE AI Engineers end up in a loop between evade and idle reaction for every damage tic received from poison gas – FIXED LEVEL DESIGN FIXES Defenders are able to pass through red blocker walls during the preparation phase - FIXED Players in support mode sometimes don’t get a correct replication of the watched player’s point of view. For example, the player could have destroyed a wall and seen through it while the player watching in support mode would see an intact wall. - FIXED On the Hereford Base map, players are able to get out of the building through the red blocker wall when vaulting over the sandbags during the preparation phase. - FIXED On the Oregon map, players can see through the ceiling when vaulting over the bunk bed. – FIXED On the Kafe Dostoevsky, character can remain stuck when vaulting on a recycle bin in EXT Park Alley – FIXED On Consulate map, character can remain stuck between chairs at the Visa Office location – FIXED On the Kanal map, players can see out of world through the ceiling if he placed his drone over the air vents in the Hallway. – FIXED There are minor lighting issues on our maps. – FIXED ONLINE FIXES The game sometimes boots on CENTRAL-US data center instead of WEST-EUROPE – FIXED Some players don’t receive renown after a match. – FIXED 0-0x00000602 error is sometimes being received when returning from a matchmaking game to looking for players step - FIXED 2-0x00000067 error is sometimes being received when trying to join a squad having previously went through a direct disconnection - FIXED 2-0x00000068 error is sometimes being received when accepting a party invite. - FIXED Some players from a squad are left in the main menu when searching for a match if specific steps were not followed - FIXED There is no timer present during the lobby screen - FIXED Player gets stuck indefinitely loading a lobby when joining in progress if a player of the same game got killed and then quit the lobby first. - FIXED Some users are getting the "Connection Failure" error every time challenges reset while in-game – FIXED PVE On some occasions, players are not awarded XP points and Renown after finishing Terrorist Hunt sessions. – FIXED Ranked Players leaving for any reason except a network disconnection receive no warning and are automatically banned for 2 minutes – FIXED PC, Ranked Players leaving match using F10 don’t receive reconnect message – FIXED PC, Ranked Players leaving match using ALT+F4 don’t receive reconnect message - FIXED UI FIXES A placeholder appears on the prompt with the abandoned match message after quitting a Ranked game – FIXED On the House map, missing location indicator in Laundry Room - FIXED MISCELLANEOUS FIXES PC If the player switches Aiming settings From Hold to Toggle, the player can’t ADS in Tachanka’s Turret - FIXED PC Some keys are hard binded in the game involving movement and chat box - FIXED PC Push-to-talk functionality is missing in the Options menu - FIXED Uplay Alpha Team Uplay action is not unlocked after completing 50 ranked matches - FIXED 名前
https://w.atwiki.jp/cydia2database/pages/18.html
Activatorの日本語化を導入して、説明しています 種類 備考 常時起動 ホーム画面上とアプリ上とロック画面上で動作します ホーム画面上での動作 ホーム画面上だけで動作します アプリ上での動作 アプリ上だけで動作します ロック画面上での動作 ロック画面上だけで動作します その他のアクション Activatorにアクションを追加します 寄付 Activator作成者に寄付します(PayPal慶友で寄付) メニュー Activatorの動作を自分んで設定可能 ブラックリスト 特定のアプリの動作を無効にする 設定をリセット すべての設定を初期設定に戻す アイコンの表示 チェックを入れるとホーム画面にActivatorのアイコンが出現 スクリーンショット
https://w.atwiki.jp/0x0b/pages/51.html
Date オブジェクト (Date Objects) 15.9.1 Date オブジェクトの概要及び内部演算子の定義 (Overview of Date Objects and Definitions of Internal Operators) Date オブジェクトは、時間内の個々の瞬間をミリ秒で示す数で構成される。まずは NaN であることもあり、 Date オブジェクトが時間の特定の瞬間をあらわさないことを示す。 次セクションは時間値の演算のための数々の関数を定義する。 各ケースについて、その関数の引数が NaN ならば、結果は NaN となる。 15.9.1.1 時間の範囲 (Time Range) 時間は、 ECMAScript では UTC 1970 年 1 月 1 日 からのミリ秒で計測される。うるう秒は無視される。一日あたり正解に 86,400,000 秒ということにする。 ECMAScript 数値は -9,007,199,254,740,991 から 9,007,199,254,740,991 まで表現できる; この範囲は、 UTC 1970 年 1 月 1 日 を基点とする前後約 285,616 年間の任意の瞬間の、厳密なミリ秒での時間計測を可能にする。 ECMAScript Date オブジェクトがサポートする実際の時間の範囲はわずかに小さい; 厳密には、 UTC 1970 年 1 月 1 日開始時の午前零時から計測される -100,000,000 日から 100,000,000 日である。 これは UTC 1970 年 1 月 1 日 から過去未来の両側に 8,640,000,000,000,000 ミリ秒の範囲を与える。 厳密な UTC 1970 年 1 月 1 日開始時の午前零時は、値 +0 で表される。 15.9.1.2 日数及び一日内の時間 (Day Number and Time within Day) 時間値 t は日数 (day number) に属する Day(t) = floor(t / msPerDay) 一日あたりのミリ秒数のところは msPerDay = 86400000 残りは一日内の時間と呼ばれる TimeWithinDay(t) = t modulo msPerDay 15.9.1.3 年数 (Year Number) ECMAScript は、日数の年数へのマップと一年内の月日の決定にグレゴリオ暦を用いる。このシステムでは、うるう年は正確に (4 で割り切れる) かつ (*1) ような年である。それゆえ年数 y の日数は次のように定義される。 DaysInYear(y) = 365 if (y modulo 4) ≠ 0 = 366 if (y modulo 4) = 0 and (y modulo 100) ≠ 0 = 365 if (y modulo 100) = 0 and (y modulo 400) ≠ 0 = 366 if (y modulo 400) = 0 非うるう年は通常の月ごとの日数で 365 日であり、うるう年は 2 月に追加日を持つ。 年 y の最初の日の日数は次に与えられる DayFromYear(y) = 365 × (y(1970) + floor((y(1969)/4) − floor((y(1901)/100) + floor((y−1601)/400) 年の開始の時間値は TimeFromYear(y) = msPerDay ( DayFromYear(y) 時間値は次によって年を決定する YearFromTime(t) = TimeFromYear(y) ≤ t であるような (正の無限大に最も近い) 最大整数 y うるう年関数は、時間がうるう年内であれば 1 であり、そうでなければ 0 である InLeapYear(t) = 0 if DaysInYear(YearFromTime(t)) = 365 = 1 if DaysInYear(YearFromTime(t)) = 366 15.9.1.4 月数 (Month Number) 月は、 0 から 11 の範囲の整数で識別される。時間値 t から月数へのマッピング MonthFromTime(t) は次で定義される MonthFromTime(t) = 0 if 0 ≤ DayWithinYear(t) 31 = 1 if 31 ≤ DayWithinYear (t) 59+InLeapYear(t) = 2 if 59+InLeapYear(t) ≤ DayWithinYear (t) 90+InLeapYear(t) = 3 if 90+InLeapYear(t) ≤ DayWithinYear (t) 120+InLeapYear(t) = 4 if 120+InLeapYear(t) ≤ DayWithinYear (t) 151+InLeapYear(t) = 5 if 151+InLeapYear(t) ≤ DayWithinYear (t) 181+InLeapYear(t) = 6 if 181+InLeapYear(t) ≤ DayWithinYear (t) 212+InLeapYear(t) = 7 if 212+InLeapYear(t) ≤ DayWithinYear (t) 243+InLeapYear(t) = 8 if 243+InLeapYear(t) ≤ DayWithinYear (t) 273+InLeapYear(t) = 9 if 273+InLeapYear(t) ≤ DayWithinYear (t) 304+InLeapYear(t) = 10 if 304+InLeapYear(t) ≤ DayWithinYear (t) 334+InLeapYear(t) = 11 if 334+InLeapYear(t) ≤ DayWithinYear (t) 365+InLeapYear(t) DayWithinYear(t) は次のように定義する DayWithinYear(t)= Day(t)(DayFromYear(YearFromTime(t)) 月の値 0 は 1 月を指す; 1 は 2 月を指す ; 2 は 3 月を指す; 3 は 4 月を指す; 4 は 5 月を指す; 5 は 6 月を指す; 6 は 7 月を指す; 7 は 8 月を指す; 8 は 9 月を指す; 9 は 10 月を指す; 10 は 11 月を指す; 11 は 12 月を指す。 MonthFromTime(0) = 0 は 1970 年 1 月 1 日木曜日 に該当することに注意。 15.9.1.5 日付数 (Date Number) 日付は、 1 から 31 の範囲の整数で識別される。時間値 t から日付数へのマッピング DateFromTime(t) は次で定義される DateFromTime(t) = DayWithinYear(t)+1 if MonthFromTime(t)=0 = DayWithinYear(t)− 30 if MonthFromTime(t)=1 = DayWithinYear(t)− 58(InLeapYear(t) if MonthFromTime(t)=2 = DayWithinYear(t)− 89(InLeapYear(t) if MonthFromTime(t)=3 = DayWithinYear(t)−119(InLeapYear(t) if MonthFromTime(t)=4 = DayWithinYear(t)−150(InLeapYear(t) if MonthFromTime(t)=5 = DayWithinYear(t)−180(InLeapYear(t) if MonthFromTime(t)=6 = DayWithinYear(t)−211(InLeapYear(t) if MonthFromTime(t)=7 = DayWithinYear(t)−242(InLeapYear(t) if MonthFromTime(t)=8 = DayWithinYear(t)−272(InLeapYear(t) if MonthFromTime(t)=9 = DayWithinYear(t)−303(InLeapYear(t) if MonthFromTime(t)=10 = DayWithinYear(t)−333(InLeapYear(t) if MonthFromTime(t)=11 15.9.1.6 曜日 (Week Day) 個々の時間値 t の曜日はこのように定義する。 WeekDay(t) = (Day(t) + 4) modulo 7 曜日値 0 は日曜日を指す; 1 は月曜日を指す; 2 は火曜日を指す; 3 は水曜日を指す; 4 は木曜日を指す; 5 は金曜日を指す; 6 は土曜日を指す。 WeekDay(0) = 4 は、 1970 年 1 月 1 日木曜日 に該当することに注意。 15.9.1.7 地方調整時 (Local Time Zone Adjustment) ECMAScript 実装は地方調整時の決定を期待される。地方調整時は、 UTC に追加して地方標準時をあらわす、ミリ秒で測られる値 LocalTZA である。値 LocalTZA は時間によっては変わらないが、地理的な位置に依存する。 15.9.1.8 夏時間調整 (Daylight Saving Time Adjustment) ECMAScript 実装は、夏時間調整アルゴリズムの決定を期待される。ミリ秒で測られる夏時間調整 DaylightSavingTA(t) を決定するアルゴリズムは、次の 4 点にのみ依存する (1)年の開始からの時間 t - TimeFromYear(YearFromTime(t)) (2)t がうるう年かどうか InLeapYear(t) (3)年の開始の曜日 WeekDay(TimeFromYear(YearFromTime(t)) (4)地理的な位置 ECMASciript 実装は正確な時間が夏時間に従ったか否かの決定を試みるべきではないが、その時現在の夏時間アルゴリズムが使われているならば、夏時間の影響下にあるかどうかの決定を試みるべきである。これは年回りで夏時間を認められるロケールの年を考慮するようなような煩雑さ回避する (This avoids complications such as taking into account the years that the locale observed daylight saving time year round.)。 ホスト環境が夏時間調整の決定の機能性を提供するならば、 ECMAScript 実装は、問題の年をホスト環境が夏時間調整情報を提供する同等の年 (同じ閏年で同じ曜日に開始しうる年) に自由にマップできる。同等である全ての年が同じ結果を生成するべきであるということだけ制限される。 15.9.1.9 地方時 (Local Time) UTC から地方時への変換は LocalTime(t) = t + LocalTZA + DaylightSavingTA(t) 地方時から UTC への変換は UTC(t) = t - LocalTZA - DaylightSavingTA(t - LocalTZA) UTC(LocalTime(t)) は常に t と等しいとは限らないことに注意。 15.9.1.10 時、分、秒、ミリ秒 (Hours, Minutes, Second, and Milliseconds) 次の関数が時間値の分解に使用される HourFromTime(t) = floor(t / msPerHour) modulo HoursPerDay MinFromTime(t) = floor(t / msPerMinute) modulo MinutesPerHour SecFromTime(t) = floor(t / msPerSecond) modulo SecondsPerMinute msFromTime(t) = t modulo msPerSecond それぞれ次のように定める HoursPerDay = 24 MinutesPerHour = 60 SecondsPerMinute = 60 msPerSecond = 1000 msPerMinute = msPerSecond × SecondsPerMinute = 60000 msPerHour = msPerMinute × MinutesPerHour = 3600000 15.9.1.11 MakeTime (hour, min, sec, ms) MakeTime 演算子は、 ECMAScript 数値 でなければならない 4 つの引数から、ミリ秒の数を算出する。この演算子は次のように機能する hour が有限でない または min が有限でない または sec が有限でない または ms が有限でない ならば、 NaN を返す。 ToInteger(hour) を呼出す。 ToInteger(min) を呼出す。 ToInteger(sec) を呼出す。 ToInteger(ms) を呼出す。 IEEE 754 規則 (つまり、 ECMAScript 演算子 * と + を使うのと同様に) に従って、 Result(2) * msPerHour + Result(3) * msPerMinute + Result(4) * msPerSecond + Result(5) を算出する。 Result(6) を返す。 15.9.1.12 MakeDay (year, month, date) MakeDay 演算子は、 ECMAScript 数値 でなければならない 3 つの引数から、日数の数を算出する。この演算子は次のように機能する year が有限でない または month が有限でない または date が有限でない ならば、 NaN を返す。 ToInteger(year) を呼出す。 ToInteger(month) を呼出す。 ToInteger(date) を呼出す。 Result(2) + floor(Result(3)/12) を算出する。 Result(3) modulo 12 を算出する。 YearFromTime(t) == Result(5) かつ MonthFromTime(t) == Result(6) かつ DateFromTime(t) == 1 であるような t を見つける; 見つけられない (引数のどれかが範囲外) ならば、 NaN を返す。 Day(Result(7)) + Result(4) − 1 を算出する。 Result(8) を返す。 15.9.1.13 MakeDate (day, time) MakeDate 演算子は、 ECMAScript 数値 でなければならない 2 つの引数から、ミリ秒の数を算出する。この演算子は次のように機能する day が有限でない または time が有限でない ならば、 NaN を返す。 day × msPerDay + time を算出する。 Result(2) を返す。 15.9.1.14 TimeClip (time) TimeClip 演算子は、 ECMAScript 数値 でなければならない引数から、ミリ秒の数を算出する。この演算子は次のように機能する time が有限でなければ、 NaN を返す。 abs(Result(1)) 8.64 x 1015 ならば、 NaN を返す。 実装依存で ToInteger(Result(2)) か ToInteger(Result(2)) + (+0) の選択を返す。(正の 0 を追加して −0 を +0 に変換する。) NOTE ステップ 3 のポイントは、時間値の内部表現、例えば 符号付き 64 ビット整数、または 64 ビット浮動小数点数の値の選択を実装に許可することである。実装に依存して、この内部表現は −0 と +0 を区別してもしなくてもよい。 15.9.2 関数として呼ばれる Date コンストラクタ コンストラクタとしてではなく関数として Date が呼出されるとき、それは現在時間 (UTC) のあらわす文字列を返す。 NOTE 関数呼出し Date(...) と、同じ引数を持つオブジェクト生成式 new Date(...) は、等価ではない。 15.9.2.1 Date ( [ year [, month [, date [, hours [, minutes [, seconds [, ms ] ] ] ] ] ] ] ) すべたの引数は選択的である; 供給された引数は受け付けるが、それ以外は無視される。文字列が生成され、式 (new Date()).toString() によるものと同様の結果が返される。 15.9.3 Date コンストラクタ Date が new 式の一部として呼ばれる場合、それはコンストラクタである; 新規にオブジェクトを生成し、初期化する。 15.9.3.1 new Date (year, month [, date [, hours [, minutes [, seconds [, ms ] ] ] ] ] ) Date が 2 個から 7 個の引数で呼出されるとき、 year, month, (以下選択的に) date, hours, minutes, seconds , ms から、日付を算出する。 新規に構築されたオブジェクトの Prototype プロパティは、 Date.prototype (セクション 15.9.4.1) の初期値である、オリジナルの Date プロトタイプオブジェクトに設定される。 新規に構築されたオブジェクトの Class プロパティは、 "Date" に設定される。 新規に構築されたオブジェクトの Value プロパティは次のように設定される ToNumber(year) を呼出す。 ToNumber(month) を呼出す。 date が供給されるならば、 ToNumber(date) を用いる; そうでなければ 1 を用いる。 hours が供給されるならば、 ToNumber(hours) を用いる; そうでなければ 0 を用いる。 minutes が供給されるならば、 ToNumber(minutes) を用いる; そうでなければ 0 を用いる。 seconds が供給されるならば、 ToNumber(seconds) を用いる; そうでなければ 0 を用いる。 ms が供給されるならば、 ToNumber(ms) を用いる; そうでなければ 0 を用いる。 Result(1) が NaN でない かつ 0 ≤ ToInteger(Result(1)) ≤ 99 ならば、 Result(8) は 1900+ToInteger(Result(1)) である; そうでなければ、 Result(8) は Result(1) である。 MakeDay(Result(8), Result(2), Result(3)) を算出する。 MakeTime(Result(4), Result(5), Result(6), Result(7)) を算出する。 MakeDate(Result(9), Result(10)) を算出する。 新規に構築されたオブジェクトの Value プロパティを、 TimeClip(UTC(Result(11))) に設定する。 15.9.3.2 new Date (value) 新規に構築されたオブジェクトの Prototype プロパティは、 Date.prototype (セクション 15.9.4.1) の初期値である、オリジナルの Date プロトタイプオブジェクトに設定される。 新規に構築されたオブジェクトの Class プロパティは、 "Date" に設定される。 新規に構築されたオブジェクトの Value プロパティは次のように設定される ToPrimitive(value) を呼出す。 Type(Result(1)) が String ならば、ステップ 5 へ。 V を ToNumber(Result(1)) とする。 新しく構築されたオブジェクトの Value プロパティを、 TimeClip(V) に設定し、戻る。 parse メソッドと全く同様の方法で (セクション 15.9.4.2)、 Result(1) を日付として解析する; V をこの日付の時間値とする。 ステップ 4 へ。 15.9.3.3 new Date ( ) 新規に構築されたオブジェクトの Prototype プロパティは、 Date.prototype (セクション 15.9.4.1) の初期値である、オリジナルの Date プロトタイプオブジェクトに設定される。 新規に構築されたオブジェクトの Class プロパティは、 "Date" に設定される。 新規に構築されたオブジェクトの Value プロパティは、現在時間 (UTC) に設定される。 15.9.4 Date コンストラクタのプロパティ Date コンストラクタの内部 Prototype プロパティの値は、 Function プロトタイプオブジェクト (セクション 15.3.4) である。 内部プロパティと length プロパティ (値は 7) の他に、 Date コンストラクタは次のプロパティを持つ。 15.9.4.1 Date.prototype Date.prototype の初期値は、 Date プロトタイプオブジェクト (セクション 15.9.5) である。 このプロパティは、属性 { DontEnum, DontDelete, ReadOnly } を持つ。 15.9.4.2 Date.parse (string) parse 関数は、引数に ToString 演算子を適用し、結果の文字列を日付として解析する; 数、その日に該当する UTC 時間値を返す。文字列は地方時、 UTC 時、他のタイムゾーンの時間のどれ解析されてもよく、文字列の内容に依存する。 個々のECMAScript 実装中で ミリ秒が 0 である Date オブジェクトを x とするならば、次の全ての式がその実装中で同じ数字を生成する。全ての参照付けられたプロパティが初期値を持つならば、 then all of the following expressions should produce the same numeric value in that implementation, if all the properties referenced have their initial values x.valueOf() Date.parse(x.toString()) Date.parse(x.toUTCString()) しかしながら、式 Date.parse(x.toLocaleString()) は前の3つの式と同じ数値の生成を要求されない。一般に、その実装の toString か toUTCString メソッドによって生成されえない文字列を与えられたときの Date.parse に生成される値は、実装依存である。 15.9.4.3 Date.UTC (year, month [, date [, hours [, minutes [, seconds [, ms ] ] ] ] ] ) UTC 関数が 2 個に満たない引数で呼出されたとき、振る舞いは実装依存である。 UTC 関数が 2 個から 7 個の引数で呼出されるとき、year, month, (以下選択的に) date, hours, minutes, seconds, ms から、日付を算出する。 次のステップが取られる ToNumber(year) を呼出す。 ToNumber(month) を呼出す。 date が供給されるならば、 ToNumber(date) を用いる; そうでなければ 1 を用いる。 hours が供給されるならば、 ToNumber(hours) を用いる; そうでなければ 0 を用いる。 minutes が供給されるならば、 ToNumber(minutes) を用いる; そうでなければ 0 を用いる。 seconds が供給されるならば、 ToNumber(seconds) を用いる; そうでなければ 0 を用いる。 ms が供給されるならば、 ToNumber(ms) を用いる; そうでなければ 0 を用いる。 Result(1) が NaN でない かつ 0 ≤ ToInteger(Result(1)) ≤ 99 ならば、 Result(8) は 1900+ToInteger(Result(1)) である; そうでなければ、 Result(8) は Result(1) である。 MakeDay(Result(8), Result(2), Result(3)) を算出する。 MakeTime(Result(4), Result(5), Result(6), Result(7)) を算出する。 TimeClip(MakeDate(Result(9), Result(10))) を返す。 UTC 関数のの length プロパティは 7 である。 NOTE UTC 関数は Date コンストラクタとは 2 つの点で異なる Date オブジェクト生成としてではなく、数として時間値を返す。そして地方時でなく UTC で引数を解析する。 15.9.5 Date プロトタイプオブジェクトのプロパティ Date プロトタイプオブジェクトは、それ自身が値 NaN の Date オブジェクト (Class が "Date") である。 Date プロトタイプオブジェクトの内部 Prototype プロパティの値は、 Object プロトタイプオブジェクト (セクション 15.2.3.1) である。 この後の Date プロトタイプオブジェクトのプロパティである関数の説明において、フレーズ "この Date オブジェクト" は、関数呼出しの this 値であるオブジェクトを参照する。汎用的な関数はない; this が内部 Class プロパティの値が "Date" であるオブジェクトではないならば、例外 TypeError を投げる。また、フレーズ "この時間値" は、この Date オブジェクトに表される時間の数値、すなわち、この Date オブジェクトの内部 Value プロパティの値を参照する。 15.9.5.1 Date.prototype.constructor Date.prototype.constructor の初期値は、組込み Date コンストラクタである。 15.9.5.2 Date.prototype.toString ( ) この関数は文字列値を返す。文字列の内容は実装依存であるが、現在のタイムゾーンの、簡便で人間に読解可能な形式の Date の表現が意図される。 NOTE 任意の Date 値 d について、 Date.prototype.parse(d.toString()) (セクション 15.9.4.2) の結果が d と等しいことが意図される。 15.9.5.3 Date.prototype.toDateString ( ) この関数は文字列値を返す。文字列の内容は実装依存であるが、現在のタイムゾーンの、簡便で人間に読解可能な形式の Date の "date" 成分の表現が意図される。 15.9.5.4 Date.prototype.toTimeString ( ) この関数は文字列値を返す。文字列の内容は実装依存であるが、現在のタイムゾーンの、簡便で人間に読解可能な形式の Date の "time" 成分の表現が意図される。 15.9.5.5 Date.prototype.toLocaleString ( ) この関数は文字列値を返す。文字列の内容は実装依存であるが、現在のタイムゾーンの、簡便で人間に読解可能な、ホスト環境の現在のロケールの慣習に該当する形式の Date の表現が意図される。 NOTE この関数の第一引数は、この標準の将来のバージョンで使用される可能性がある; 実装はこのパラメータを他の用途に使用しないことを推奨される。 15.9.5.6 Date.prototype.toLocaleDateString ( ) この関数は文字列値を返す。文字列の内容は実装依存であるが、現在のタイムゾーンの、簡便で人間に読解可能な、ホスト環境の現在のロケールの慣習に該当する形式の Date の "date" 成分の表現が意図される。 NOTE この関数の第一引数は、この標準の将来のバージョンで使用される可能性がある; 実装はこのパラメータを他の用途に使用しないことを推奨される。 15.9.5.7 Date.prototype.toLocaleTimeString ( ) この関数は文字列値を返す。文字列の内容は実装依存であるが、現在のタイムゾーンの、簡便で人間に読解可能な、ホスト環境の現在のロケールの慣習に該当する形式の Date の "time" 成分の表現が意図される。 NOTE この関数の第一引数は、この標準の将来のバージョンで使用される可能性がある; 実装はこのパラメータを他の用途に使用しないことを推奨される。 15.9.5.8 Date.prototype.valueOf ( ) valueOf 関数は、この時間値である数値を返す。 15.9.5.9 Date.prototype.getTime ( ) this 値が Class プロパティが "Date" のオブジェクトでないならば、 例外 TypeError を投げる。 この時間値を返す。 15.9.5.10 Date.prototype.getFullYear ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 YearFromTime(LocalTime(t)) を返す。 15.9.5.11 Date.prototype.getUTCFullYear ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 YearFromTime(t) を返す。 15.9.5.12 Date.prototype.getMonth ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 MonthFromTime(LocalTime(t)) を返す。 15.9.5.13 Date.prototype.getUTCMonth ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 MonthFromTime(t) を返す。 15.9.5.14 Date.prototype.getDate ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 DateFromTime(LocalTime(t)) を返す。 15.9.5.15 Date.prototype.getUTCDate ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 DateFromTime(t) を返す。 15.9.5.16 Date.prototype.getDay ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 WeekDay(LocalTime(t)) を返す。 15.9.5.17 Date.prototype.getUTCDay ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 WeekDay(t) を返す。 15.9.5.18 Date.prototype.getHours ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 HourFromTime(LocalTime(t)) を返す。 15.9.5.19 Date.prototype.getUTCHours ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 HourFromTime(t) を返す。 15.9.5.20 Date.prototype.getMinutes ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 MinFromTime(LocalTime(t)) を返す。 15.9.5.21 Date.prototype.getUTCMinutes ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 MinFromTime(t) を返す。 15.9.5.22 Date.prototype.getSeconds ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 SecFromTime(LocalTime(t)) を返す。 15.9.5.23 Date.prototype.getUTCSeconds ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 SecFromTime(t) を返す。 15.9.5.24 Date.prototype.getMilliseconds ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 msFromTime(LocalTime(t)) を返す。 15.9.5.25 Date.prototype.getUTCMilliseconds ( ) t をこの時間値とする。 t が NaN ならば、 NaN を返す。 msFromTime(t) を返す。 15.9.5.26 Date.prototype.getTimezoneOffset ( ) 地方時と UTC 時の差を分で返す。 t をこの時間値とする。 t が NaN ならば、 NaN を返す。 (t − LocalTime(t)) / msPerMinute を返す。 15.9.5.27 Date.prototype.setTime (time) this 値が Date オブジェクトでないならば、 例外 TypeError を投げる。 ToNumber(time) を呼出す。 TimeClip(Result(1)) を呼出す。 this 値の Value プロパティを Result(2) に設定する。 this 値の Value プロパティの値 を返す。 15.9.5.28 Date.prototype.setMilliseconds (ms) t を LocalTime(この時間値) の結果とする。 ToNumber(ms) を呼出す。 MakeTime(HourFromTime(t), MinFromTime(t), SecFromTime(t), Result(2)) を算出する。 UTC(MakeDate(Day(t), Result(3))) を算出する。 this 値の Value プロパティを TimeClip(Result(4)) に設定する。 this 値の Value プロパティの値を返す。 15.9.5.29 Date.prototype.setUTCMilliseconds (ms) t をこの時間値とする。 ToNumber(ms) を呼出す。 MakeTime(HourFromTime(t), MinFromTime(t), SecFromTime(t), Result(2)) を算出する。 MakeDate(Day(t), Result(3)) を算出する。 this 値の Value プロパティを TimeClip(Result(4)) に設定する。 this 値の Value プロパティの値を返す。 15.9.5.30 Date.prototype.setSeconds (sec [, ms ] ) ms が指定されないならば、 ms に getMilliseconds( ) の値を指定されたように振舞う。 t を LocalTime(この時間値) の結果とする。 ToNumber(sec) を呼出す。 ms が指定されないならば、 msFromTime(t) を算出する; そうでなければ、 ToNumber(ms) を呼出す。 MakeTime(HourFromTime(t), MinFromTime(t), Result(2), Result(3)) を算出する。 UTC(MakeDate(Day(t), Result(4))) を算出する。 this 値の Value プロパティを TimeClip(Result(5)) に設定する。 this 値の Value プロパティの値を返す。 setSeconds メソッドの length プロパティは 2 である。 15.9.5.31 Date.prototype.setUTCSeconds (sec [, ms ] ) ms が指定されないならば、 ms に getUTCMilliseconds( ) の値を指定されたように振舞う。 t をこの時間値とする。 ToNumber(sec) を呼出す。 ms が指定されないならば、 msFromTime(t) を算出する; そうでなければ、 ToNumber(ms) を呼出す。 MakeTime(HourFromTime(t), MinFromTime(t), Result(2), Result(3)) を算出する。 MakeDate(Day(t), Result(4)) を算出する。 this 値の Value プロパティを TimeClip(Result(5)) に設定する。 this 値の Value プロパティの値を返す。 setUTCSeconds メソッドの length プロパティは 2 である。 15.9.5.32 Date.prototype.setMinutes (min [, sec [, ms ] ] ) sec が指定されないならば、 sec に getSeconds( ) の値を指定されたように振舞う。 ms が指定されないならば、 ms に getMilliseconds( ) の値を指定されたように振舞う。 t を LocalTime(この時間値) の結果とする。 ToNumber(min) を呼出す。 sec が指定されないならば、 SecFromTime(t) を算出する; そうでなければ、 ToNumber(sec) を呼出す。 ms が指定されないならば、 msFromTime(t) を算出する; そうでなければ、 ToNumber(ms) を呼出す。 MakeTime(HourFromTime(t), Result(2), Result(3), Result(4)) を算出する。 UTC(MakeDate(Day(t), Result(5))) を算出する。 this 値の Value プロパティを、 TimeClip(Result(6)) に設定する。 this 値の Value プロパティの値を返す。 setMinutes メソッドの length プロパティは 3 である。 15.9.5.33 Date.prototype.setUTCMinutes (min [, sec [, ms ] ] ) sec が指定されないならば、 sec に値 getUTCSeconds( ) の値を指定されたように振舞う。 ms が指定されないならば、 ms に値 getUTCMilliseconds( ) の値を指定されたように振舞う。 t をこの時間値とする。 ToNumber(min) を呼出す。 sec が指定されないならば、 SecFromTime(t) を算出する; そうでなければ、 ToNumber(sec) を呼出す。 ms が指定されないならば、 msFromTime(t) を算出する; そうでなければ、 ToNumber(ms) を呼出す。 MakeTime(HourFromTime(t), Result(2), Result(3), Result(4)) を算出する。 MakeDate(Day(t), Result(5)) を算出する。 this 値の Value プロパティを、 TimeClip(Result(6)) に設定する。 this 値の Value プロパティの値を返す。 setUTCMinutes メソッドの length プロパティは 3 である。 15.9.5.34 Date.prototype.setHours (hour [, min [, sec [, ms ] ] ] ) min が指定されないならば、 min に getMinutes( ) の値を指定されたように振舞う。 sec が指定されないならば、 sec に getSeconds( ) の値を指定されたように振舞う。 ms が指定されないならば、 ms に getMilliseconds( ) の値を指定されたように振舞う。 t を LocalTime(この時間値) の結果とする。 ToNumber(hour) を呼出す。 min が指定されないならば、 MinFromTime(t) を算出する; そうでなければ、 ToNumber(min) を呼出す。 sec が指定されないならば、 SecFromTime(t) を算出する; そうでなければ、 ToNumber(sec) を呼出す。 ms が指定されないならば、 msFromTime(t) を算出する; そうでなければ、 ToNumber(ms) を呼出す。 MakeTime(Result(2), Result(3), Result(4), Result(5)) を算出する。 UTC(MakeDate(Day(t), Result(6))) を算出する。 this 値の Value プロパティを、 TimeClip(Result(7)) に設定する。 this 値の Value プロパティの値を返す。 setHours メソッドの length プロパティは 4 である。 15.9.5.35 Date.prototype.setUTCHours (hour [, min [, sec [, ms ] ] ] ) min が指定されないならば、 min に getUTCMinutes( ) の値を指定されたように振舞う。 sec が指定されないならば、sec に getUTCSeconds( ) の値を指定されたように振舞う。 ms が指定されないならば、 ms に getUTCMilliseconds( ) の値を指定されたように振舞う。 t をこの時間値とする。 ToNumber(hour) を呼出す。 min が指定されないならば、 MinFromTime(t) を算出する; そうでなければ、 ToNumber(min) を呼出す。 sec が指定されないならば、 SecFromTime(t) を算出する; そうでなければ、 ToNumber(sec) を呼出す。 ms が指定されないならば、 msFromTime(t) を算出する; そうでなければ、 ToNumber(ms) を呼出す。 MakeTime(Result(2), Result(3), Result(4), Result(5)) を算出する。 MakeDate(Day(t), Result(6)) を算出する。 this 値の Value プロパティを、 TimeClip(Result(7)) に設定する。 this 値の Value プロパティの値を返す。 setUTCHours メソッドの length プロパティは 4 である。 15.9.5.36 Date.prototype.setDate (date) t を LocalTime(this time value) の結果とする。 ToNumber(date) を呼出す。 MakeDay(YearFromTime(t), MonthFromTime(t), Result(2)) を算出する。 UTC(MakeDate(Result(3), TimeWithinDay(t))) を算出する。 this 値の Value プロパティを、 TimeClip(Result(4)) に設定する。 this 値の Value プロパティの値を返す。 15.9.5.37 Date.prototype.setUTCDate (date) t をこの時間値とする。 ToNumber(date) を呼出す。 MakeDay(YearFromTime(t), MonthFromTime(t), Result(2)) を算出する。 MakeDate(Result(3), TimeWithinDay(t)) を算出する。 this 値の Value プロパティを、 TimeClip(Result(4)) に設定する。 this 値の Value プロパティの値を返す。 15.9.5.38 Date.prototype.setMonth (month [, date ] ) date が指定されないならば、 date に getDate( ) の値を指定されたように振舞う。 t を LocalTime(この時間値) の結果とする。 ToNumber(month) を呼出す。 date が指定されないならば、 DateFromTime(t) を算出する; そうでなければ、 ToNumber(date) を呼出す。 MakeDay(YearFromTime(t), Result(2), Result(3)) を算出する。 UTC(MakeDate(Result(4), TimeWithinDay(t))) を算出する。 this 値の Value プロパティを、 TimeClip(Result(5)) に設定する。 this 値の Value プロパティの値を返す。 setMonth メソッドの length プロパティは 2 である。 15.9.5.39 Date.prototype.setUTCMonth (month [, date ] ) date が指定されないならば、 date に getUTCDate( ) の値を指定されたように振舞う。 t をこの時間値とする。 ToNumber(month) を呼出す。 date が指定されないならば、 DateFromTime(t) を算出する; そうでなければ、 ToNumber(date) を呼出す。 MakeDay(YearFromTime(t), Result(2), Result(3)) を算出する。 MakeDate(Result(4), TimeWithinDay(t)) を算出する。 this 値の Value プロパティを、 TimeClip(Result(5)) に設定する。 this 値の Value プロパティの値を返す。 setUTCMonth メソッドの length プロパティは 2 である。 15.9.5.40 Date.prototype.setFullYear (year [, month [, date ] ] ) month が指定されないならば、 month に getMonth( ) の値を指定されたように振舞う。 date が指定されないならば、 date に getDate( ) の値を指定されたように振舞う。 t を LocalTime(この時間値) の結果とする; この時間値が NaN ならば、 t を +0 とする。 ToNumber(year) を呼出す。 month が指定されないならば、 MonthFromTime(t) を算出する; そうでなければ、 ToNumber(month) を呼出す。 date が指定されないならば、 DateFromTime(t) を算出する; そうでなければ、 ToNumber(date) を呼出す。 MakeDay(Result(2), Result(3), Result(4)) を算出する。 UTC(MakeDate(Result(5), TimeWithinDay(t))) を算出する。 this 値の Value プロパティを、 TimeClip(Result(6)) に設定する。 this 値の Value プロパティの値 を返す。 setFullYear メソッドの length プロパティは 3 である。 15.9.5.41 Date.prototype.setUTCFullYear (year [, month [, date ] ] ) month が指定されないならば、 month に getUTCMonth( ) の値を指定されたように振舞う。 date が指定されないならば、 date に getUTCDate( ) の値を指定されたように振舞う。 t をこの時間値とする; この時間値が NaN ならば、 t を +0 とする。 ToNumber(year) を呼出す。 month が指定されないならば、 MonthFromTime(t) を算出する; そうでなければ、 ToNumber(month) を呼出す。 date が指定されないならば、 DateFromTime(t) を算出する; そうでなければ、 ToNumber(date) を呼出す。 MakeDay(Result(2), Result(3), Result(4)) を算出する。 MakeDate(Result(5), TimeWithinDay(t)) を算出する。 this 値の Value プロパティを、 TimeClip(Result(6)) に設定する。 this 値の Value プロパティの値を返す。 setUTCFullYear メソッドの length プロパティは 3 である。 15.9.5.42 Date.prototype.toUTCString ( ) この関数は文字列値を返す。文字列の内容は実装依存であるが、 UTC の、簡便で人間に読解可能な形式の Date の表現が意図される。 15.9.6 Date インスタンスのプロパティ (Properties of Date Instances) Date インスタンスは、 Date プロトタイプオブジェクトから継承したプロパティの上に、特にプロパティを持たない。 Page Contents
https://w.atwiki.jp/usb_audio/pages/27.html
原文:Audio Terminal Types 1.0(PDF) USB Device Class Definition for Terminal Types Release 1.0 March 18, 1998 6 1 Introduction The intention of this document is to describe in detail all the Terminal Types that are supported by the Audio Device Class. This document is considered an integral part of the Audio Device Class Specification, although subsequent revisions of this document are independent of the revision evolution of the main Audio Device Class Specification. This is to easily accommodate the addition of new Terminal Types without impeding the core Audio Device Class Specification. 1.1 Scope The Audio Device Class Definition applies to all devices or functions embedded in composite devices. All audio signals inside an audio function start at an Input Terminal, pass through some Units, and leave the function through an Output Terminal. Units can manipulate the signal in various ways. Terminals represent the connections of the function to the outside world. As part of the Terminal descriptor, the wTerminalType field specifies the vendor’s suggested use of the Terminal. For example, a pair of speakers is a more suitable target for music output than a telephone line. This feature allows a vendor to ensure that applications use the device in a consistent and meaningful way. 1.2 Related Documents · Universal Serial Bus Specification, 1.0 final draft revision (also referred to as the USB Specification). In particular, see Chapter 9, “USB Device Framework”. · Universal Serial Bus Device Class Definition for Audio Data Formats (referred to in this document as USB Audio Data Formats). · Universal Serial Bus Device Class Definition for Terminal Types (referred to in this document as USB Audio Terminal Types). · ANSI S1.11-1986 standard. · MPEG-1 standard ISO/IEC 111172-3 1993. · MPEG-2 standard ISO/IEC 13818-3 Feb. 20, 1997. · Digital Audio Compression Standard (AC-3), ATSC A/52 Dec. 20, 1995. (available from http //www.atsc.org) · ANSI/IEEE-754 floating-point standard. · ISO/IEC 958 International Standard Digital Audio Interface and Annexes. · ISO/IEC 1937 standard. · ITU G.711 standard. 1.3 Terms and Abbreviations None. USB Device Class Definition for Terminal Types Release 1.0 March 18, 1998 7 2 Terminal Types The following is a list of possible Terminal Types. This list is non-exhaustive and will only be expandedin the future. 2.1 USB Terminal Types These Terminal Types describe Terminals that handle signals carried over the USB, usually throughisochronous pipes. These Terminal Types are valid for both Input and Output Terminals. Table 2-1 USB Terminal Types Terminal Type Code I/O Description USB Undefined 0x0100 I/O USB Terminal, undefined Type. USB streaming 0x0101 I/O A Terminal dealing with a signal carried over an endpoint in an AudioStreaming interface. The AudioStreaming interface descriptor points to the associated Terminal through the bTerminalLink field. USB vendor specific 0x01FF I/O A Terminal dealing with a signal carried over a vendor-specific interface. The vendor-specific interface descriptor must contain a field that references the Terminal. 2.2 Input Terminal Types These Terminal Types describe Terminals that are designed to record sounds. They either are physically part of the audio function or can be assumed to be connected to it in normal operation. These Terminal Types are valid only for Input Terminals Table 2-2 Input Terminal Types Termina Type Code I/O Description Input Undefined 0x0200 I Input Terminal, undefined Type. Microphone 0x0201 I A generic microphone that does not fit under any of the other classifications. Desktop microphone 0x0202 I A microphone normally placed on the desktop or integrated into the monitor. Personal microphone 0x0203 I A head-mounted or clip-on microphone. Omni-directional microphone 0x0204 I A microphone designed to pick up voice from more than one speaker at relatively long ranges. Microphone array 0x0205 I An array of microphones designed for directional processing using host-based signal processing algorithms. USB Device Class Definition for Terminal Types Release 1.0 March 18, 1998 8 Terminal Type Code I/O Description Processing microphone array 0x0206 I An array of microphones with an embedded signal processor. 2.3 Output Terminal Types These Terminal Types describe Terminals that produce audible signals that are intended to be heard by the user of the audio function. They either are physically part of the audio function or can be assumed to be connected to it in normal operation. These Terminal Types are only valid for Output Terminals. The distinction between headphones, desktop speakers, and room speakers may be used by applications to select different 3D signal processing algorithms. Table 2-3 Output Terminal Types Terminal Type Code I/O Description Output Undefined 0x0300 O Output Terminal, undefined Type. Speaker 0x0301 O A generic speaker or set of speakers that does not fit under any of the other classifications. Headphones 0x0302 O A head-mounted audio output device. Head Mounted Display Audio 0x0303 O The audio part of a VR head mounted display. The Associated Interfaces descriptor can be used to reference the HID interface used to report the position and orientation of the HMD. Desktop speaker 0x0304 O Relatively small speaker or set of speakers normally placed on the desktop or integrated into the monitor. These speakers are close to the user and have limited stereo separation. Room speaker 0x0305 O Larger speaker or set of speakers that are heard well anywhere in the room. Communication speaker 0x0306 O Speaker or set of speakers designed for voice communication. Low frequency effects speaker 0x0307 O Speaker designed for low frequencies (subwoofer). Not capable of reproducing speech or music. 2.4 Bi-directional Terminal Types These Terminal Types describe an Input and an Output Terminal for voice communication that are closely related. They should be used together for bi-directional voice communication. They may be used separately for input only or output only. These types require two Terminal descriptors. Both have the same type. The two Terminals are linked together through the bAssocTerminal fields in their respective Terminal descriptors. The Associated Interfaces descriptor can be used to reference a HID interface for conferencing functions. USB Device Class Definition for Terminal Types Release 1.0 March 18, 1998 9 Table 2-4 Bi-directional Terminal Types Terminal Type Code I/O Description Bi-directional Undefined 0x0400 I/O Bi-directional Terminal, undefined Type. Handset 0x0401 I/O Hand-held bi-directional audio device. Headset 0x0402 I/O Head-mounted bi-directional audio device. Speakerphone, no echo reduction 0x0403 I/O A hands-free audio device designed for host-based echo cancellation. Echo-suppressing speakerphone 0x0404 I/O A hands-free audio device with echo suppression capable of half-duplexoperation. Echo-canceling speakerphone 0x0405 I/O A hands-free audio device with echo cancellation capable of full-duplex operation. 2.5 Telephony Terminal Types These Terminal Types describe Terminals that connect to the PSTN or PBX. Initiating calls and monitoring call progress will be done through an associated interface which may be Communication, HID or Vendor-Specific class. These Terminals are bi-directional and follow the rules for bi-directional Terminals. Table 2-5 Telephony Terminal Types Terminal Type Code I/O Description Telephony Undefined 0x0500 I/O Telephony Terminal, undefined Type. Phone line 0x0501 I/O May be an analog telephone line jack, an ISDN line, a proprietary PBX interface, or a wireless link. Telephone 0x0502 I/O Device can be used as a telephone. When not in use as a telephone, handset is used as a bi-directional audio device. Down Line Phone 0x0503 I/O A standard telephone set connected to the device. When not in use as a telephone, it can be used as a bidirectional audio device. 2.6 External Terminal Types These Terminal Types describe external resources and connections that do not fit under the categories of Input or Output Terminals because they do not necessarily translate acoustic signals to or from the user of the computer. Most of them may be either Input or Output Terminals. USB Device Class Definition for Terminal Types Release 1.0 March 18, 1998 10 Table 2-6 External Terminal Types Terminal Type Code I/O Description External Undefined 0x0600 I/O External Terminal, undefined Type. Analog connector 0x0601 I/O A generic analog connector. Digital audio interface 0x0602 I/O A generic digital audio interface. Line connector 0x0603 I/O An analog connector at standard line levels. Usually uses 3.5mm. Legacy audio connector 0x0604 I/O An input connector assumed to be connected to the lineout of the legacy audio system of the host computer. Used for backward compatibility. S/PDIF interface 0x0605 I/O An S/PDIF digital audio interface. The Associated Interface descriptor can be used to reference an interface used for controlling special functions of this interface. 1394 DA stream 0x0606 I/O An interface to audio streams on a 1394 bus. 1394 DV stream soundtrack 0x0607 I/O An interface to soundtrack of A/V stream on a 1394 bus. 2.7 Embedded Function Terminal Types These Terminal Types represent connections to internal audio sources or sinks in a device. All have associated interfaces for control. These interfaces may be HID or other classes (vendor-specific, mass storage for CD-ROM, etc.). Devices capable of both playback and recording should follow the rules for bidirectional Terminals. Table 2-7 Embedded Terminal Types Terminal Type Code I/O Description Embedded Undefined 0x0700 I/O Embedded Terminal, undefined Type. Level Calibration Noise Source 0x0701 O Internal Noise source for level calibration (MPEG decoding, Dolby PrologicÔ, AC-3 etc.) Equalization Noise 0x0702 O Internal Noise source for measurements. CD player 0x0703 I Audio compact disc player or CD-ROM capable of audio playback. DAT 0x0704 I/O Digital Audio Tape. DCC 0x0705 I/O Digital Compact Cassette. 1 - 6 - 11 ここを編集
https://w.atwiki.jp/wnt0/pages/42.html
Undo、Redo を実装できる 何かを行うタイミングだけがわかっていて、具体的な処理内容がわからない場合(GUIメニューからのコマンドとか?)に使う クライアントからのコマンド要求をキューに貯めて、順番に実行することもできる #include iostream #include list using namespace std; // "Receiver" class// デバイスとか、出力するオブジェクトな感じclass Display {public void Action(double result, double oprnd_1st, double oprnd_2nd, string operation) { cout result " (" oprnd_1st " " operation " " oprnd_2nd ")" endl; } void UndoAction(double result) { cout "[undo] " result endl; } void RedoAction(double result, double oprnd_1st, double oprnd_2nd, string operation) { cout "[redo] " result " (" oprnd_1st " " operation " " oprnd_2nd ")" endl; }}; // "Command" abstract classclass Command {public Command(Display *disp, double operand) { m_disp = disp; m_operand = operand; } virtual double Execute(double cur_val) = 0; virtual double Undo() = 0; virtual double Redo() = 0;protected Display *m_disp; double m_org_val, m_operand, m_result;}; // "ConcreteCommand" classclass PlusCommand public Command {public PlusCommand(Display *disp, double operand) Command(disp, operand) { } double Execute(double cur_val) { m_org_val = cur_val; m_result = m_org_val + m_operand; m_disp- Action(m_result, m_org_val, m_operand, "+"); return m_result; } double Undo() { m_disp- UndoAction(m_org_val); return m_org_val; } double Redo() { m_disp- RedoAction(m_result, m_org_val, m_operand, "+"); return m_result; }}; // "ConcreteCommand" classclass MinusCommand public Command {public MinusCommand(Display *disp, double operand) Command(disp, operand) { } double Execute(double cur_val) { m_org_val = cur_val; m_result = m_org_val - m_operand; m_disp- Action(m_result, m_org_val, m_operand, "-"); return m_result; } double Undo() { m_disp- UndoAction(m_org_val); return m_org_val; } double Redo() { m_disp- RedoAction(m_result, m_org_val, m_operand, "-"); return m_result; }}; // "ConcreteCommand" classclass MultiplicationCommand public Command {public MultiplicationCommand(Display *disp, double operand) Command(disp, operand) { } double Execute(double cur_val) { m_org_val = cur_val; m_result = m_org_val * m_operand; m_disp- Action(m_result, m_org_val, m_operand, "*"); return m_result; } double Undo() { m_disp- UndoAction(m_org_val); return m_org_val; } double Redo() { m_disp- RedoAction(m_result, m_org_val, m_operand, "*"); return m_result; }}; // "ConcreteCommand" classclass DivisionCommand public Command {public DivisionCommand(Display *disp, double operand) Command(disp, operand) { } double Execute(double cur_val) { if (m_operand == 0) { cout "division error." endl; return cur_val; } else { m_org_val = cur_val; m_result = m_org_val / m_operand; m_disp- Action(m_result, m_org_val, m_operand, "/"); return m_result; } } double Undo() { m_disp- UndoAction(m_org_val); return m_org_val; } double Redo() { m_disp- RedoAction(m_result, m_org_val, m_operand, "/"); return m_result; }}; // "Invoker" classclass Calculator {public Calculator(double init_val) { m_cur_val = init_val; cout "initial value " m_cur_val endl; m_cur_cmd_it = m_history.begin(); } ~Calculator() { list Command* iterator it = m_history.begin(); while (it != m_history.end()) { delete *it; ++it; } } void Exec(Command *cmd) { if (m_cur_cmd_it != m_history.begin()) { // 戻した分を削除 m_history.erase(m_history.begin(), m_cur_cmd_it); } m_history.push_front(cmd); // 先頭に追加 m_cur_cmd_it = m_history.begin(); m_cur_val = cmd- Execute(m_cur_val); } void Undo(unsigned int num = 1) { while (num--) { if (m_cur_cmd_it == m_history.end()) { cout "could not undo." endl; break; } m_cur_val = (*m_cur_cmd_it)- Undo(); ++m_cur_cmd_it; } } void Redo(unsigned int num = 1) { while (num--) { if (m_cur_cmd_it == m_history.begin()) { cout "could not redo." endl; return; } --m_cur_cmd_it; m_cur_val = (*m_cur_cmd_it)- Redo(); } }private double m_cur_val; list Command* m_history; list Command* iterator m_cur_cmd_it;}; // clientint main() { // invoker Calculator *calc = new Calculator(0); // receiver Display *disp = new Display(); calc- Exec(new PlusCommand(disp, 10)); // 10 calc- Exec(new PlusCommand(disp, 10)); // 20 calc- Exec(new MinusCommand(disp, 5)); // 15 calc- Exec(new MultiplicationCommand(disp, 3)); // 45 calc- Exec(new DivisionCommand(disp, 10)); // 4.5 calc- Undo(3); // 45 = 15 = 20 calc- Redo(2); // 15 = 45 calc- Exec(new PlusCommand(disp, 12)); // 57 calc- Exec(new MinusCommand(disp, 2)); // 55 calc- Exec(new DivisionCommand(disp, 10)); // 5.5 calc- Undo(); // 55 calc- Redo(2); delete disp; delete calc; return 0;} 出力 initial value 0 10 (0 + 10) 20 (10 + 10) 15 (20 - 5) 45 (15 * 3) 4.5 (45 / 10) [undo] 45 [undo] 15 [undo] 20 [redo] 15 (20 - 5) [redo] 45 (15 * 3) 57 (45 + 12) 55 (57 - 2) 5.5 (55 / 10) [undo] 55 [redo] 5.5 (55 / 10) could not redo. 参考サイト デザインパターンを“喩え話”で分かり易く理解する http //www.netlaputa.ne.jp/~hijk/study/oo/designpattern.html TECHSCORE http //www.techscore.com/tech/DesignPattern/index.html/ Programing Place http //www.geocities.jp/ky_webid/index_old.html デザインパターンの骸骨たち http //www002.upp.so-net.ne.jp/ys_oota/mdp/ デザインパターンの使い方 Command http //japan.internet.com/developer/20081003/26.html
https://w.atwiki.jp/wnt0/pages/43.html
http //www.dofactory.com/Patterns/PatternInterpreter.aspx のC#コードをC++にした Structural example #include iostream #include vector using namespace std; // The Context class class Context { }; // The AbstractExpression abstract class class AbstractExpression { public virtual void Interpret(Context *context) = 0; }; // The TerminalExpression class class TerminalExpression public AbstractExpression { public virtual void Interpret(Context *context) { cout "Called Terminal.Interpret()" endl; } }; // The NonterminalExpression class class NonterminalExpression public AbstractExpression { public virtual void Interpret(Context *context) { cout "Called Nonterminal.Interpret()" endl; } }; // Entry point into console application. int main() { Context *context = new Context; // Usually a tree vector AbstractExpression* list; // Populate abstract syntax tree list.push_back(new TerminalExpression); list.push_back(new NonterminalExpression); list.push_back(new TerminalExpression); list.push_back(new TerminalExpression); vector AbstractExpression* iterator it; // Interpret it = list.begin(); while (it != list.end()) { (*it)- Interpret(context); ++it; } // end it = list.begin(); while (it != list.end()) { delete *it; ++it; } return 0; } Real World example #include iostream #include string #include list using namespace std; // The Context class class Context { private string _input; int _output; public // Constructor Context(const string input) { _input = input; _output = 0; } // Gets or sets input string getInput() { return _input; } void setInput(const string value) { _input = value; } // Gets or sets output int getOutput() { return _output; } void setOutput(int value) { _output = value; } }; // The AbstractExpression class class Expression { public void Interpret(Context *context) { if (context- getInput().length() == 0) { return; } if (context- getInput().compare(0, Nine().length(), Nine()) == 0) { context- setOutput(context- getOutput() + (9 * Multiplier())); context- setInput(context- getInput().substr(2)); } else if (context- getInput().compare(0, Four().length(), Four()) == 0) { context- setOutput(context- getOutput() + (4 * Multiplier())); context- setInput(context- getInput().substr(2)); } else if (context- getInput().compare(0, Five().length(), Five()) == 0) { context- setOutput(context- getOutput() + (5 * Multiplier())); context- setInput(context- getInput().substr(1)); } while (context- getInput().compare(0, One().length(), One()) == 0) { context- setOutput(context- getOutput() + (1 * Multiplier())); context- setInput(context- getInput().substr(1)); } } virtual string One() = 0; virtual string Four() = 0; virtual string Five() = 0; virtual string Nine() = 0; virtual int Multiplier() = 0;// multiplier 掛ける、増える }; // A TerminalExpression class // Thousand checks for the Roman Numeral M class ThousandExpression public Expression { public virtual string One() { return "M"; } virtual string Four() { return " "; } virtual string Five() { return " "; } virtual string Nine() { return " "; } virtual int Multiplier() { return 1000; } }; // A TerminalExpression class // Hundred checks C, CD, D or CM class HundredExpression public Expression { public virtual string One() { return "C"; } virtual string Four() { return "CD"; } virtual string Five() { return "D"; } virtual string Nine() { return "CM"; } virtual int Multiplier() { return 100; } }; // A TerminalExpression class // Ten checks for X, XL, L and XC class TenExpression public Expression { public virtual string One() { return "X"; } virtual string Four() { return "XL"; } virtual string Five() { return "L"; } virtual string Nine() { return "XC"; } virtual int Multiplier() { return 10; } }; // A TerminalExpression class // One checks for I, II, III, IV, V, VI,VII, VIII, IX class OneExpression public Expression { public virtual string One() { return "I"; } virtual string Four() { return "IV"; } virtual string Five() { return "V"; } virtual string Nine() { return "IX"; } virtual int Multiplier() { return 1; } }; // Entry point into console application. int main() { string roman = "MCMXXVIII"; Context *context = new Context(roman); // Build the parse tree list Expression* tree; tree.push_back(new ThousandExpression); tree.push_back(new HundredExpression); tree.push_back(new TenExpression); tree.push_back(new OneExpression); list Expression* iterator it; // Interpret it = tree.begin(); while (it != tree.end()) { (*it)- Interpret(context); ++it; } cout roman " = " context- getOutput() endl; // end it = tree.begin(); while (it != tree.end()) { delete *it; ++it; } return 0; } 参考サイト デザインパターンを“喩え話”で分かり易く理解する http //www.netlaputa.ne.jp/~hijk/study/oo/designpattern.html TECHSCORE http //www.techscore.com/tech/DesignPattern/index.html/ Programing Place http //www.geocities.jp/ky_webid/index_old.html デザインパターンの骸骨たち http //www002.upp.so-net.ne.jp/ys_oota/mdp/ デザインパターンの使い方 Interpreter http //japan.internet.com/developer/20081205/26.html
https://w.atwiki.jp/javadsge/pages/6676.html
!DOCTYPE html html head title 戦争ゲームの練習 /title meta charset="UTF-8" link rel="stylesheet" href="https //storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css" script src="https //storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js" /script link rel="stylesheet" href="https //fonts.googleapis.com/icon?family=Material+Icons" script src="sample.js" /script script src="jquery.js" /script script src="svgpaint.js" /script script src="app.js" /script /head body onload="sample()" div class="mdl-layout mdl-js-layout mdl-layout--fixed-header" header class="mdl-layout__header" div class="mdl-layout__header-row" span class="mdl-layout-title" 戦争ゲームの練習 /span /div div class="mdl-layout__tab-bar mdl-js-ripple-effect" a href="#s1" class="mdl-layout__tab is-active" メイン /a a href="#s2" class="mdl-layout__tab" ルール /a /div /header div class="mdl-layout__drawer" span class="mdl-layout-title" タイトル /span /div main class="mdl-layout__content" section class="mdl-layout__tab-panel is-active" id="s1" div class="page-content" p id="memo" /p /div /section section class="mdl-layout__tab-panel" id="s2" div class="page-content" 練習 /div /section /main footer class="mdl-mini-footer" div class="mdl-mini-footer__left-section" div class="mdl-logo" 戦争ゲームの練習 /div ul class="mdl-mini-footer__link-list" li a href="http //osomatsusan.com/" コード /a /li li a href="http //osomatsusan.com/" ルール /a /li /ul /div /footer /div /body /html var ax=new Array(); var ay=new Array(); var bx=new Array(); var by=new Array(); var a=new Array(); var b=new Array(); function sample() { for(s=1;s 11;s++){ a[s]=100; b[s]=100; ay[s]=1; ax[s]=s; by[s]=10; bx[s]=s; } var timer; var delay = 1000; var loop = function () { move_a(); move_b(); paint(); clearTimeout(timer); timer = setTimeout(loop, delay); } loop(); } function move_a(){ for(s=1;s 11;s++){ y1=ay[s]+1; if(y1 10)y1=10; ch=check_a(ax[s],y1); if(ch 50)ay[s]=y1; } } function move_b(){ for(s=1;s 11;s++){ y1=by[s]-1; if(y1 1)y1=1; ch=check_b(bx[s],y1); if(ch 50)by[s]=y1; } } function check_a(px,py){ ch=0; for(sx=1;sx 11;sx++){ h=0; if(bx[sx]==px)h=h+1; if(by[sx]==py)h=h+1; if(h==2)ch=100; } return ch; } function check_b(px,py){ ch=0; for(sx=1;sx 11;sx++){ h=0; if(ax[sx]==px)h=h+1; if(ay[sx]==py)h=h+1; if(h==2)ch=100; } return ch; } function paint(){ var sub3=new svgpaint(); str=" svg width=\"500\" height=\"500\" "; for(s=1;s 11;s++){ x1=ax[s]; y1=ay[s]; if(a[s] 50)str=str+sub3.rect(50*x1-50,500-50*y1,50,50,"red"); } for(s=1;s 11;s++){ x1=bx[s]; y1=by[s]; if(b[s] 50)str=str+sub3.rect(50*x1-50,500-50*y1,50,50,"blue"); } str=str+" /svg "; $("#memo").html(str); }
https://w.atwiki.jp/wiki6_ds2/pages/15.html
■Dungeon Siege2 MOD ■Dungeon Siege2 MOD●MODの注意点 ●MOD LINK ●MOD導入場所 Morgue Sweet Game - http //flam.hp.infoseek.co.jp/ Abstraction - http //www.dsabstraction.com Siege-Mods - http //siege-mods.com/ SpecTroMania - http //www.spectromania.dk/ AL.Place - http //zefai.sakura.ne.jp/ 无主之地 - http //hucgy.blogchina.com/ サイト名 - http //URL/ ●MODの注意点 公式エディターが発売されているDungeon Siege(1)と違い、 現在のDungeon Siege2のMODはMicrosoft公認のものではありません。 MOD導入によりセーブデータが破損したなどの報告もあるため、 MODの導入については各自、自己責任で行ってください。 また、マルチプレイでMODを使用する際には、参加者にMODという事を はっきり伝えるのが最低限のマナーです。 ●MOD LINK ファイルの直リンは作者様のご迷惑になるので、MODが公開されているサイトのURLを記述してください。 また、公式サイトが不明な物については主な配布先を掲載しています。 ●MOD導入場所 (例)C \Program Files\Microsoft Games\Dungeon Siege 2\Resources Morgue Sweet Game - http //flam.hp.infoseek.co.jp/ MOD NAME 効果 ds2resc DS1とDS2のリソースを相互変換するツール sac2 Inventory開閉をシングルクリックで出来るようにする+α pets_invote Inventory拡張(Pet用) autolv2.01 敵のステータスを主人公のレベルにより変化させる expbooster 経験値アップ skill points re-distributing スキルポイントの再分配機能を追加する skill パワーの説明文が実際の効果と食い違っているのを修正する crystal_fix Elen lu Isles(エレンルー アイルズ)で先に進めなくなってしまうバグの対策 adv_store0.01 店の品揃えを充実させる Abstraction - http //www.dsabstraction.com MOD NAME 効果 Multi Player Mod MP時のPT人数を様々に変更可能 Gold Mod 所持金限度(999万9999G)を2,147,483,640GへUPするだけ Combo Mod 4人PT以上時の獲得経験値の分配を調整するらしい Siege-Mods - http //siege-mods.com/ MOD NAME 効果 Guru s MiniGuns 5種類の性能の違うmini gunを追加する。 Super Shops v0.5 ユニーク SETアイテムや、全ての材料、魔法、回復剤等がアマルーンで店売り。 Rezzie s 6 Party Members 1.0 傭兵モードでも6人PTが組める Dungeon Siege2 Savegame Editor SAVEデータを弄られるTOOL SpecTroMania - http //www.spectromania.dk/ MOD NAME 効果 MODs1 インベントリー拡張。PLAY時の解像度ごと用意されている TankCreator2_ds2.zip DS2用Tank Creator TOOL MODs3 効果3 MODs4 効果4 AL.Place - http //zefai.sakura.ne.jp/ MOD NAME 効果 Exp Rebalance マルチプレイ用にExpを調整する 无主之地 - http //hucgy.blogchina.com/ MOD NAME 効果 ds2mosterleveledit 敵キャラのLvを調整するTOOL サイト名 - http //URL/ MOD NAME 効果 MODs1 効果1 MODs2 効果2 MODs3 効果3 MODs4 効果4