2022年12月3日土曜日

javascriptでtableのtr表示非表示を崩れさせず切り替える方法

今後も詰まる人がいるだろうし、備忘録として
今回はtrタグにidを仕込んであります。

答えから
ck=document.getElementsByName("ck1")
row=document.getElementById("c"+(i+1));
if(ck[i].checked){
row.style.display="";
}else{
row.style.display="none";
}
たいていの要素は「display: block;」と「display: none;」切り替えですがこれをtableで行うとバグります。

blockは一つのブロック要素になって戻るので挙動的には
<tr>[戻した内容が一括り]</tr>
の様になり、見た目は戻した要素が一つ目のtdタグに詰め込まれる様になります。

・tableには初期値があり
table要素 display: table
thead要素 display: table-header-group
tbody要素 display: table-row-group;
tr 要素 display: table-row;
th 要素 display: table-cell;
td 要素 display: table-cell;
tfoot要素 display: table-footer-group;

戻す場合はこれらの初期値に戻せば正しく戻ります。
・・・で、横着した結果ですが「display="";」です。
こうする事で崩れず戻す事が可能です。

2022年11月5日土曜日

バイオショック2ダイアリーチェックリスト


ただのチェックボックスタグを並べただけなのでチェックした値を保存したりは出来ません。
ゲーム中開いておいて一時的に取り逃しがないか確認する為だけ。

■アドニス高級リゾート
1 "ビッグ"ケイト・オマリー
2 レイシェル・ジェイクス
3 Dr.ラム
4 ブリジット・テネンバウム
5 マーク・メルツァー
6 アンドリュー・ライアン
7 サミー・フレッチャー
■アトランティック急行
8 アンドリュー・ライアン
9 エレノア・ラム
10 プレンティス・ミル
11 Dr.ラム
12 マーク・メルツァー
13 Dr.ラム
14 ギル・アレクサンダー
15 ブリジット・テネンバウム
■ライアン遊園地
16 Dr.ラム
17 カールソン・フィドル
18 ニーナ・カーネギー
19 エレノア・ラム
20 Dr.ラム
21 サイラス・バンダム
22 マーク・メルツァー
23 ニーナ・カーネギー
24 カールソン・フィドル
25 アンドリュー・ライアン
26 Dr.ラム
27 ニーナ・カーネギー
28 スタンレー・プール
29 マイク・ハバック
30 アンドリュー・ライアン
31 ラヴィン・レスター
32 ギル・アレクサンダー
33 グレース・ホロウェイ
34 オーガスタス・シンクレア
■パウパードロップ
35 Dr.ラム
36 グレース・ホロウェイ
37 オーガスタス・シンクレア
38 トビアス・リーファー
39 プレンティス・ミル
40 私立探偵ロック・フラナガン
41 Dr.ラム
42 Dr.ラム
43 スタンレー・プール
44 マーク・メルツァー
45 アンドリュー・ライアン
46 ジャッキー・ロドキンス
47 グレース・ホロウェイ
48 グレース・ホロウェイ
49 オーガスタス・シンクレア
50 グロリア・パーソン
51 ギデオン・ワイボーン
52 エリオット・ネルソン
53 エレノア・ラム
54 グレース・ホロウェイ
55 レオ・ハートウィグ
■セイレーン通り
56 ウェールズ神父
57 オーガスタス・シンクレア
58 ギル・アレクサンダー
59 ジェイミー・バイアス
60 エレノア・ラム
61 ウェールズ神父
62 ダニエル・ウェールズ
63 ダスキー・ドノバン
64 ダニエル・ウェールズ
65 ダニエル・ウェールズ
66 Dr.ラム
67 ギル・アレクサンダー
68 フランク・フォンテイン
69 アンドリュー・ライアン
70 マーク・メルツァー
71 エレノア・ラム
72 Dr.ラム
73 ウェールズ神父
74 Dr.ラム
75 ウェールズ神父
■ディオニソスパーク
76 スタンレー・プール
77 ビリー・パーソン
78 アンドリュー・ライアン
79 アンドリュー・ライアン
80 "ビッグ"ケイト・オマリー
81 マーク・メルツァー
82 スタンレー・プール
83 ギル・アレクサンダー
84 Dr.ラム
85 ギル・アレクサンダー
86 Dr.ラム
87 Dr.ラム
88 フランク・フォンテイン
89 スタンレー・プール
90 スタンレー・プール
■フォンテイン未来技術社
91 アンドリュー・ライアン
92 ギル・アレクサンダー
93 Dr.ラム
94 エレノア・ラム
95 ギル・アレクサンダー
96 ギル・アレクサンダー
97 フランク・フォンテイン
98 Dr.ラム
99 ギル・アレクサンダー
100 ギル・アレクサンダー
101 ギル・アレクサンダー
102 Dr.ラム
103 Dr.ラム
104 エレノア・ラム
105 アンドリュー・ライアン
106 ギル・アレクサンダー
107 Dr.ラム
■ペルセポネ外部
108 オーガスタス・シンクレア
109 Dr.ラム
110 エレノア・ラム
111 エレノア・ラム
112 エレノア・ラム
■ペルセポネ内部
113 ナイジェル・ウィアー所長
114 トーマス
115 コナー
116 ドッジ
117 マットソン
118 パーソン
119 マーフィ
120 ナイジェル・ウィアー所長
121 ハロルド・ダービー
122 エドワード・グライムス医師
123 エレノア・ラム
124 オーガスタス・シンクレア
125 アンドリュー・ライアン
126 ウィルソン
127 ナイジェル・ウィアー所長
128 エドワード・グライムス医師
129 エドワード・グライムス医師

2022年9月17日土曜日

アンチャーテッドコレクション。「ステルスたのしい!」

 内容としては

・アンチャーテッド エル・ドラドの秘宝
・アンチャーテッド 黄金刀と消えた船団
・アンチャーテッド -砂漠に眠るアトランティス-

の上記3作品が入っています。

簡単に言えば「そうはならんやろ」という感じの大冒険をするゲームでしょうか。
ドンパチなどがあるもののけっこうコミカルにもしてあり、とても面白かったです。


ステルスの部分が面白かったのですが別にステルスゲームではない為、ステルス不可な箇所もあります。
ただここにちょっと不満があって、「ステルス状態で開始する」のにステルス不可の箇所が不明の戦闘というのがあって、自身の行動が悪かったのでステルスが解除されたのか分からないという問題。

おそらくでしか言えませんが、開発陣的には「最初の数人を削って戦闘の負荷を下げれますよ」みたいな事をしたいんだと思います。
そこまぁ理解できなくもないんですが、「セリグマンの犬を使った実験」を知っているでしょうか?

主に「学習性無力感」などの説明でよくみる内容です。
たとえば、不快を与える程度の微量な電気を回避可能な状態と回避不能な状態の2パターン用意します。
先に回避不能状態を味わった後に回避可能状態に置かれた場合回避行動をするかどうか。
という感じの内容です。
結果からいうと、電気ショックを回避できないと学習してる為、電気ショック回避を取らなくなります。

これと同じでステルス開始なのにどうしても100%見つかるという場合が何度かあると、ノーアラートが可能なエリアでもどうせ見つかるし、ステルス行動せずに最初からドンパチすればよくね?とう事になります。

いやまぁたぶん、アンチャーテッドの映画みたいなゲームの空気感を考えるとドンパチして欲しいって事なんでしょうが、「ここからは隠れられそうにない」とか「強襲するしかないか」みたいな言葉を入れたり、ムービーで強制戦闘に切り替わるとかしてくれればこんな手探りしなくていいのに・・・!っていうストレスがやばかったです。

もしも、開発陣はステルスを望んで無いんだ!!って場合はステルス戦闘機能なんてつけるなよ。っていう感じ。

コレクションをやって思ったことはなんかこうステルスの微妙感。
あくまでも面白かったっていう事を前提にちょっとこう足りないなぁという事を述べると、死体を隠せるようにするといった行動、死体を移動させる方法などが欲しかったです。


コレクションの古いほうは死体が落ちてても敵は反応しないので問題ないのですが、3のアトランティスなどは敵が死体を見つけると警戒かアクティブになります。

なので、ステルスキルをする場合も壁角や低遮蔽の引き込みキルが重要になります。
しかし、引き込みキルが難しいところや無理な場所(死体を隠せない)場所などがあり難易度がぐっと上がります。

まぁ、ステルス難易度が上がるだけならまぁ良いんですが、それによるステルス不可になるとむむむむむって感じになります。

ステルスの面白いところは敵の行動の観察、敵の感知範囲やなんの行動に反応するか、NPCを手探りで解析していく所・・つまりはシステムの作り込まれた部分を楽しめる所でしょうか。


まとめ

・ストーリーも面白かったですがステルス戦闘が特に面白かったです。
・開発はステルスさせたいの?させたくないの?どっちもさせたいの?
├ステルスさせたくないならそもそもそんな機能つけないで・・・
├どっちもやらせたいならステルス不可に入る箇所で何か合図が欲しい
└あと、NPCに死体発見動作をつけるなら死体を移動する方法を付けて・・・


2022年6月21日火曜日

javascript備忘録その2

 聖剣伝説の攻撃力シミュレーターを作ってその状態をURLで保存するページを作ってみました。
ただ、ツイートする際に現在のURLでツイートするから現在のURLをリアルタイムで変更したいなぁって思ったので少し調べてみた。

ページ遷移動作は
location.href = 'URL';
ようはページリンクと変わらない。

現在のページパラメーター変更は
location.search = '?param=abc';
パラメーター更新という意味ではこれが正しい。
ただ、パラメーター変更はページの更新処理が走る。

現在のハッシュ値の変更
 location.hash = '#hash';
こちらは更新は走らない。
というのもハッシュはページ内の位置を記憶する為のものだから。

他に
History.pushState()
こちらもリアルタイムに変更できる
ただパラメーターというよりはハッシュみたいな扱いな気がする

最終的な悟り
そもそもツイートボタンのリンクを書き換えればよいのでは?
それはそう。

公式のシェアボタン生成から中身を見てみる。
<a href="https://twitter.com/share?ref_src=twsrc%5Etfw"
class="twitter-share-button"
data-size="large"
data-text="聖剣伝説 Legend Of Mana リマスター 攻撃力シミュレーター"
data-url="http://blackstraycat.nobody.jp/lom/lom-savechart.htm"
data-hashtags="聖剣伝説LoM"
data-show-count="false">Tweet</a>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
なるほど。

2022年5月23日月曜日

オススメのソシャゲの音ゲー

無課金で遊んでるゲームの紹介

無料でゆるく遊べるゲームなので課金すれば当然もっと楽に楽しめるとは思う。
(有料で欲しいカードが揃うのは当たり前で、例えばSSRスカウトで推しが直接選べるとか有償誕生日ガシャで100%とか)



 アイドルマスターシンデレラガールズ

■推しの集めやすさ:◎
・定期的な無料ガシャ、同時にフェス(確率2倍)など無料でもSSRが貯まる。この期間に推しが被っている場合もある。

・石の配布やイベントで入手出来る石が多い

・キャラ数が多く推しのガチャのスパンがかなり長いその為、推しが登場するまでに天井を回すだけの石が順分入手出来る

・復刻も定期的に行っており取り逃しや後から始めてもお目当てのカードを引きやすい

・誕生日限定カードはなく、有料ガシャでしか引けないカード等は存在しない為、推しの所持一覧部分は全て埋める事が出来る

・過去イベントSRもイベントで手に入るイベントSRスカウトチケットやライブパーティーで入手出来る。

■イベント:◎
・基本は
イベント曲、スコアで50、30回で50、フルコンで50の150
マスプラで更に150いけるがそこそこ音ゲーできる程度じゃフルコンは正直無理
proで25個

・放置編成で回せる時が多い。まじ助かる
・スシローなどはオートチケットの意味がある。助かる。
・営業だけで結構なイベントptが貯まる。なんなら営業だけで良い時すらある
・プロデュース方針で営業が超便利になる

■育成のし易さ:◎

総評

ファン層が厚い事や長年培ってきたノウハウがあり他のキャラ音ゲーとしてはかなり完成度が高い。
キャラクターは多いが育成やその他でのフィルタ機能が多彩でスキルやキャラ名での絞り込みに加え身長や体重といった絞り込み等も出来るのは強い。


アイドルマスターミリオンライブ

■推しの集めやすさ:○
(集めやすさはぶっちゃけほぼデレステと同じくらいだが・・・)

・定期的な無料ガシャ、同時にフェス(確率2倍)など無料でもSSRが貯まる。この期間に推しが被っている場合もある。

・石の配布やイベントで入手出来る石が多い

・キャラ数が多く推しのガチャのスパンがかなり長いその為、推しが登場するまでに天井を回すだけの石が順分入手出来る

・復刻も定期的に行っており取り逃しや後から始めてもお目当てのカードを引きやすい

・イベントアイテム交換所から過去イベントSRなどの入手可能


@デレステと違う所
・誕生日ガシャが有料。無課金の場合取得不可能!(集めやすさ「○」の理由)
・現状誕生日カードの復刻はない

総評



バンドリガールズバンドパーティ

■推しの引きやすさ:▲
・デレステ・ミリシタに比べ、メンバーが数が少ない為推しがガシャカードになる率が高い
・ガシャスパンが短いので推しガシャが来るまでに石を天井分まで貯めるのはかなり厳しい
・あまりに厳しかったのか最近は天井シール100枚までは補助出来るシステムが追加
・取り敢えず無課金で推しのカードを揃えるのはほぼ不可能

■推しがストーリーに絡む率が高い
人数が限られるということはそれだけストーリーの出演率が高い為一長一短。

総評

ゲームやシステムとしてはまぁまぁ。ただ、無課金では推しのカードのみでさえ揃えることはほぼ無理。カードにメインストーリーのサイドストーリーが付くためシナリオを全部みるには全カードを集める必要があるが毎回集めるのは課金してても無理。

あらゆる事を諦めさせて、できる範囲で満喫できればいいんじゃない?といった感じ。
ある意味諦めさせるのがうまいシステムな気がする(?)
現状ログイン時にロゼリアの新曲リリースを知るためのゲームみたいになっている。


SHOW BY ROCK!! Fes A Live

■推しの集めやすさ:○
・めちゃくちゃ石配ってくれるのでガチャは引きやすい
・デイリー分を回しているだけで推しの天井まで分石が貯まる
・回数限定固定SSRで取り逃した推しが現状一生入手出来ない

■育成のし易さ:▲
・デレステのスターランクとか違い能力値の問題で完凸させる必要がある。必要素材も多すぎる
・キャラクターの潜在能力解放のアイテム必要数が多い

・覚醒前後がよく分からない問題
このゲーム覚醒前後で絵柄もレアリティもカード名も変わる(どうしてこうなった…)。
低レベルカードは同じ名称に「+」がつくだけかつ絵も変わらないので強化済みかわかるのだが、それ以降のカードは絵柄も変わる。
カードの種類が多く、素材としてもカードが貯まり、その上どのカードが育成済みなのかわからなくなる悪循環。


■所持上限・拡張:X
・初期上限500
・有料石でしか拡張出来ない
ミリシタ・ガルパのように所持部分にカード重複がないゲームならまだしもこのゲーム低カードを食わせる形で限界突破を延々と繰り返していくゲームなのでカードが貯まる。
だが所持上限が低いし拡張も出来ない。
旧作でさえ無料石で拡張出来たのに…。

■課金優遇:◎
実質課金ゲー。ショップのお得パック、課金者のみ復刻、パスチケット等
なによりも上で上げた所持上限拡張が課金必須の為、育成システムと相まって課金しないとまともに遊ぶのもなかなか厳しい。


総評

課金ゲーに近い何か。一番優先度の高い課金要素はカード所持上限の拡張。
無料で遊んでいる限りはUR以外は邪魔。
何なら推しと優先するキャラスキル・サポートスキル以外のカードは全部邪魔になる。
倍率の変わるイベントカードはイベント後は全て処分するしか無い。
カードの所持上限以外で言えば他ゲーよりかなり石は集めやすく欲しいカードの入手は容易なので推しを愛でるだけならそこそこ平和。
個人的にはキャラ愛などでかろうじてプレイしているがデレステなどのシステム等と比べるとまともに遊ぶゲームじゃない。

逆に言えば、ある程度課金が自由なら課金者への恩恵は多め。
というか、根本的に所持上限が開放できないと編成や強化の管理に差し支える上にコレクションなんて出来ない。
課金者のみ復刻ガチャ&セレクト、パスチケットなど。

まとめ

個人的にゆるく遊ぶゲームとしては単純にデレステの完成度が高いと思っているのでオススメ。推しのカードは全部揃うのは幸せ。

ミリシタも同様にゲームの出来がよく遊びやすい。ただ推しの誕生日カードだけは入手出来ないの点だけが悲しい。

ガルパはほぼロゼリアの為に遊んでいると言っても過言ではないレベル。
毎回ロゼリアはDVD付きの高い方のCDを発売日に購入してるのでゲーム内課金は・・・ちょっと出来ないけど許して。

ショバフェスはアイレーンの為に遊んでいる(過言ではない)。
ゲームはちょっとあれだけどアイレーンのみを愛でるゲームとしてはカード入手は容易なので悪くはない。
BVLの楽曲は購入するから許して。

2021年9月21日火曜日

BioShockシリーズ感想的な何か

PS4のサマーセールでバイオショックコレクションが千円ちょいという激安だったので購入。
プレイ動画とかをみて面白そうだなと思ってたゲームで、内容的には完全初見ではないけども初プレイ。
3種類全部ノーマルでプレイ。どれも面白かったです。
ただ、決定とかのボタン配置がそれぞれ違うでちょっと面倒でした。


バイオショック

最初に言っておくことがあります。
「とにかくフリーズします!!!」たぶん1時間・3時間・2時間・1時間くらいで戻し作業したので本当にこまめにセーブした方が良いです。油断すると数時間一気に戻ります。

・ターゲットダミー
ダミーが強すぎるくらいに聞いてたのにダミーないと厳しかったですね。
カメラやタレットを電撃不要でハックしに近づけるので確かに強いとは思いましたが。

・天然カモフラージュ
そして透明化の天然カモフラージュが超絶便利でした。
移動は当然駄目ですが、透明化中武器のリロードやハック作業にカメラの動作は透明解除されない。
ハックで警報が鳴っても攻撃されませのでいくらでもやり直しができます。
ただし、透明化でカメラを使ってトニック入れ替えが発生すると透明化が解除されるのは注意。

最大の利点はアイテム取得等の後に奇襲されるパターンを無力化できる事。


バイオショック2

3つやって唯一フリーズなど戻し作業がなかったのでゲームとしては一番安定してる気がする。ただ、日本語音声がなく字幕なのだけがちょっと惜しいですね。

・ターゲットダミー
個人的にはダミー無いとやっぱり辛いんですけど、ダミーの強化はさすがにぶっ壊れ性能だと思いました。本当に最終救済のプラスミドですね


・カメレオンDNA
名称は変わっていますが無印の「天然カモフラージュ」と同じくその場で止まれば透過。
透明化はやはり便利でみんながどのように戦っていたかわからないけども、ビッグシスターの強制戦闘を透過とダミーでダディに押し付ける等をやっていました。

カメラがビデオ撮影みたいになってしまって透明化してこっそりパシャパシャポイントを稼ぐのがほぼ無理になり、わりと頑張って戦って気がします。


ミネルバズ・デン

コレクションにデフォルトで入ってたけどたぶんDLC
武器にビームがあったりボットに種類があったりで本編とは違うことが色々あって面白い。
内容も満足する長さなので面白かった。


バイオショックインフィニット

なんというか基本的に前作2つに比べて突発奇襲で囲まれるって感じはほぼなかったのでなんとかなりましたね。
あと、相手が普通の人間なので恐怖的要素は少なめ、フィールドも全体的に明るめ。

バグは点々と発生したのですがまぁ思ったより戻し作業はなかったです。
オートセーブのみになったのはなかなか思い切りが良いんですが中断したいなぁってときにすぐに止めれないのでそこはちょっと大変かも(?)

ヴィタチャンバーがなくなっていますがすぐに復帰できるシステムは健在。

システムはかなり前作2つより変わっていてファーストエイド・ソルト等回復アイテムを所持する概念がなく、マップの確認もできないので少し苦労しました。

あとしゃがむボタンなどの配置が変わっていたり、ダッシュできるようになっていたり。
それと武器が二種類しか持てないのはなかなか辛みありました。

回復アイテム系を所持できない代わりに不足してる弾薬やソルトをエリザベスがくれるので「これは無理ー!」みたいな絶望的なピンチにはならなかった気がします。

それはそれとして、ラプチャーの世界が壊れてて何を拾っても問題ない感じあるけど、世界観が違うのでほぼ主人公が部屋に入り込んでものを盗む泥棒感が強いですね、しかも財布等の場合は店員と戦闘になるなんて(´・ω・`)。


・ポゼッション
ダミーは無いけど敵を人間機械関係なく味方につけるので便利でした。
ほとんど場合は敵は主人公よりポゼッションに掛かった敵を優先で攻撃してくれるので強いです。

パトリオット等味方の時間が短いですが、後半敵が多いところでは味方にして敵を倒してもらうというよりは、味方にして敵にパトリオット等を削ってもらうまたは破壊して貰うのにも有効でした。

それ以外は基本的に先に出して味方にしてそれを援護しつつ明滅が始まったら次の対象へポゼッションをかける感じで対多数戦も比較的楽でした。
背後など手薄になるので周囲に電撃系トラップを置いておくと安心できます。


・マシンガン
前作2つ比べるとかなりまっすぐ飛ぶので連射力もありかなり強かったです。
ゲーム内の金銭的に結局武器はマシンガンとRPGしか強化しなかったです。


・RPG
真っ直ぐ飛ぶし敵に爆発で大ダメージできるので手放せなかったです。
パトリオットや能力系の敵など硬い敵使うだけでしたがかなり有用でした。

DLC

DLCの3つ目?かな。エリザベスが主人公なのは面白かった。
ステルスゲームになっているのも面白かったですね。
また、生きているラプチャーを見れたのもとても良かった。

---

全部面白かったですが、総合的には無印バイオショック、つまりは初代が一番ストーリーも設定も内容も戦闘も面白かったですね。

2021年9月5日日曜日

javascriptの備忘録という忘却録

 javascriptを触る間がどんどん長くなっていて備忘というか、また見るときにはまぁほぼ確実に忘却してるだろうと思う記録。


■テキストエリア
<textarea  rows="30" cols="70" value="Loading parameters..." name="setlist" onChange="callfunctionname()" ></textarea>
テキストエリアは「input type=""」系じゃないの思い出して。

■input系
<input type="text"size="1" value="" name="ma1" style="width:50px;text-align:right" readonly="readonly"  >
<input onChange="apc()" type="number"size="1" value="0" min="0" max="120" name="el-total" style="width:60px;text-align:right" disabled="disabled" >

■セレクトボックス
<select onChange="apc()" name="el4"><option value=0>0</option>


■IDとNAMEがある
HTA+VBSだと「name.value=」でアクセス出来るけどウェブのjavascriptの場合は

ID  (唯一定義) document.getElementById("IdName")
name(複数定義可) document.getElementsByName("Name")[0]
name属性アクセスは基本0しか使わないけど複数回使えるのでその場合はforとかで探す。

■ラジオボックス
 <input onChange="apc()" checked="checked" name="putlv" type="radio" value=1>
アクセスは
document.getElementsByName("putlv")[0]
document.getElementsByName("putlv")[1]
nameが同じならグループに出来る。当然グループ要素値も「1以上」使う。

ーーーーーーーーーー

■処理・記述
【vbsと違ってjavascriptは関数も大文字小文字が正確である必要がある】

■置換
【str】.replace(置換対象,置換後値)
ただし最初にヒットする1つだけ置換全体置換は「/値/g」などを使う。

【str】.replaceAll(置換対象,置換後値)
普通に全置換する

■動的書き換え。とりまこれで良い。
html側:<span id="result">ここに出力</span>
script側:document.getElementById("result").innerHTML