変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

パソコン

[Win11]ストレージのクリーンアップ

Windows10ではディスクのプロパティのツールから一時ファイル等を「クリーンアップ」する事ができたが、今のWindows11の同じ画面には「クリーンアップ」ボタンは無い。

「設定」から「ストレージ」画面に「クリーンアップ対象候補」と云うのがあるが、大抵はずーっと処理中のままだ。

なので「ストレージセンサー」画面に進み、【今すぐストレージセンサーを実行する】ボタンを押すしかない様だ。

尚、実行する前に画面のチェックボックスの選択状態をよく確認してから実行しないと、「アプリファイル」が消えたり「ダウンロードフォルダ」が空っぽになって困るかもしれない。

処理が終わると「クリーンアップ対象候補」で一時ファイル等が選択できるようになる。

ここまでの操作で、「設定」から「システム」⇒「ストレージ」⇒「一時ファイル」の画面がWindows10の「クリーンアップ」と同じような画面になるので、要らないモノを選択して「クリーンアップ」できるようになる。

Androidのgoogleもそうだけど、OSの製作者はストレージを汚箱にしたい様だ。

もしくは、掃除はロボットの仕事と思っているのだろう。



[三国英雄の夜明け]累積勲功

面倒くさいけど領地の各設備のレベルアップしたら官邸レベルを36から39に上げられた様な気がしてますが、3か月過ぎても36のままの方もいます。

爵位条件の「領地の官邸がLv36に達成」や「県公を達成し、累積で700万戦功獲得」は毎度の事ですが、今回は久々に「累積勲功獲得」が入ってます。しかも6千万!※はい。たった今0を数えました。

履歴から最低でも累積2千万勲功はあるはずですが、

久々に復活して条件を確認してみたら

4千万足りないよ!

となったら、ちょっと絶望してしまうレベルかもしれません。

もっともレベル36でも、ボクより戦力は遥かに上の方もチラホラ見かけますけどね。

ps.2023/07/26

勲功を増やす方法

毎日の政務で増やすのが基本。

要らないアイテムがあれば以下の手段も使える。

  • 無駄に資源(木とか鉄が)が何億もあるなら、コツコツとムダな建設に励む
    • 建設する度に勲功が増える
    • うまくいけば10倍の年度報酬も夢じゃない
    • 黄金を使用して「直ちに完了」すれば早い
      • 注意:早い早いと調子に乗ると後悔しそう
  • 勲功を消費する獣霊の生門と死門のレベルアップと分解を繰り返す
    • 分解した時に勲功が増える
    • 獣霊の生門と死門がいっぱいあればサクサク進める
    • 注意:要らない獣霊の生門と死門ダケにしましょう
  • 生産(村)で報酬の選択肢がある時にデフォルトではないボタンの方も選んでみる
    • 勲功が貰えるときもある



[三国英雄の夜明け]陣法

さっぱり陣法が赤ランクにならないので、呂布(ろふ)から奪って貂蝉(ちょうせん)に付けてみた。

うまくいったので、馬超(ばちょう)、趙雲(ちょううん)、小喬(しょうきょう)も赤くしてみた結果、4人の4パラメータが+1になったので戦力がアップ、4100万台になった。

※但し、他の4人の陣法が僅かに下がってる。

でも上位陣は1英雄で1000万~1700万もあるので、本当に僅か。

ps.2023/08/01

やっと戦力4,200万。

見返してみると、趙雲や小喬が伸び悩み?

主に趙雲、甄姫、小喬の魂玉を触媒に貂蝉や馬超の魂玉のレベルアップしたせいかな。

趙雲、甄姫、小喬は更に下の英雄の魂玉を触媒にレベルアップして多少戻してるけど

小喬だけ吸われ過ぎて戦力ダウンしてたw

半月も経たずに一千万アップしたものの、

上位陣の英雄は日々戦力アップしてるのが判るくらい凄い。

その上位陣ではぶっ壊れ性能の英雄を吹っ飛ばす英雄の育成の話で盛り上がってた。

どうやら、英雄と武器と装備の組み合わせ次第でそうなる時もあるそうな。※スキル発動の確率による

初期から実装された英雄はいずれも安定した性能を求めて制約(※最大20%)が付いているが、覚醒させて神付き(神・袁尚)英雄には無いので運営も織り込み済みらしい。

つまり、いっぱい課金したら良い事もあるよ。(的な

無課金でも「発現すれば美味しい神霊」が貰えるから悪くないけどね。(笑



[三国英雄の夜明け]神霊

オークションに出る神霊は先天3個だったから、最大3個だと思ってたら

4個も持ってるのが出た。(ヒラ神霊だけどね。

先天が4つもあるから

後5個追加すると9個も覚えられる。(らしい

と思ってたら伏魔戦場の景品からも出てきた。

近日他のサーバー統合が来るから設定変わったのかな?

特に「西王聖母◆尊」は美味しい気がする。

ps.2023/07/30

課金のみと思ってた先天5が普通に出ました。

使っている神霊と差し替えたいけど黄金が足りないので暫くお預け。

ps.2023/08/01

黄金が溜まったので強化。

ブロック発生率が少しアップしたけど、ブロック触発時の【仕返す】はまだ見れない。

神霊はFF14のアーマーチェストみたいに国戦の攻城や国戦守城とか状況に合わせた攻法(スキルみたいなもの)のセットを組み立て着替えて使うものの様な気がするけど、荒野の試練の5分毎のランダムドロップ(しかもたったの1枚)に頼るのは心もとないとは云え、功法を崑崙商店で買いそろえるためのチップを伏魔戦場で地味に集めるのもやはりとても気が長いシステムになっている。



[三国英雄の夜明け]第六回統合大型アップデート

やっと来る。

でも、告知日の明後日に統合するとは・・・告知?あ、忘れてたw(なのかな?

  • 爵位追加
  • 官邸レベル上限解放(+3)
  • 新英雄
  • 新覚醒
  • 新補助スキル
  • 新宝物

後は、ほとんど課金系だから関係無し。

新ゲーム設置予想場所

崑崙仙境が何なのか判らない。

新たな課金ミニゲームの様な気がするけどね。

そして、これらは40枚揃わないまま統合しそう。

なお、ただのアップデートなので、サーバーは統合されませんでした。

ps.2023/4/21

今現在、官邸レベルアップは郡公への爵位上昇条件が後日公開となっているため不可。

4/25(火)にサーバー統合されるので、「サーバー統合直前大型アップデート」だった様です。

なお今回のサーバー統合の対象はS5_1~6らしい。「同勢力に所属となります」の文面があるのでシャフル(バラバラに再配置)ではなさそう。

また統合後、爵位名の変更、英雄の天賦や宝物や戦計等の効果調整、英雄の戦力スーパーインフレで弱体(ゴミ)化した護国軍(NPC)の強化が含まれるとのこと。

ps.2023/4/24

明日サーバー統合する様です。

その影響でシーズンイベントも短縮。



「EXCEL」Lambda関数

謎が多いLambda関数。

外部からの参照時にパラメータを貰い、Lambda関数の処理に引き渡せる点が光っている。

=LAMBDA(a,b,SQRT(a*b))

と書くと

#CALC!

になってしまう。

これはパラメータを指定していないためで、パラメータを追加すると

=LAMBDA(a,b,SQRT(a*b))(10,10) ⇒ 10

となるけど、こうなってしまっては使い道が全くない。

そこで、セル名の参照範囲が=で始まるのを利用し、(10,10)抜きでLAMBDA式を適当なセル名で登録すれば・・・

セル名:あああ
参照範囲:=LAMBDA(a,b,SQRT(a*b))

どこかのセルの式:あああ(10,10)⇒10

と云う感じでVBAマクロを使わなくてもユーザ関数(今風にはカスタム関数と云うらしい)を作ることができる。

但し、処理が1行に収まる様に纏められるならないが

そこはLET関数を使って、1行に纏められるなら

ワークシートに散乱している=LET(・・・な計算式を一纏めにできるので

後々の修正もセル名の計算式を治すだけでうまくいく(かもしれない

好感度やランキングの様なその時々で評価式を一斉に変えないといけない案件には非常に有効な気がする。

尚、このLAMBDA関数はループができるらしい。

式:=REDUCE(0,A1:C2, LAMBDA(a,b,a+b^2))

ちょっと見、訳が判らないけど、A1からC2の2乗値を合算する式となっている

LAMBDAの第1パラメータは多分、初期値か前回のLAMBDA関数の計算結果

LAMBDAの第2パラメータは計算して欲しいセルの値

つまり、LAMBDA関数はA1:C2の6セル分のループ中に6回も計算させられる。

1回目:LAMBDA(0,1,0+1^2)
2回目:LAMBDA(1,2,1+2^2)
3回目:LAMBDA(5,3,5+3^2)
4回目:LAMBDA(14,4,14+4^2)
5回目:LAMBDA(30,5,30+5^2)
6回目:LAMBDA(55,6,55+6^2)
最後:91

な感じになるので、LAMBDAのパラメータが2つあるようだ。

セル単位で処理が済むならMAP関数でループする方が簡単かも、

下図は範囲の値を2倍した範囲を作るだけ

式:=MAP(A1:C2,LAMBDA(a, a*2))

計算式はMAP関数のパラメータに範囲があるので自動的にスピルされるのでD3のみに書けばよい。

さらにMAP関数には範囲を複数指定できるらしいので、A範囲+B範囲な計算結果もつくれるっぽい。

式:=MAP(A1:C2,A4:C5,LAMBDA(x, y, x + y ))

再びLAMBDAのパラメータが2つになったけど、扱う範囲が2つなんだから仕方が無い。

同様に、BYROWやBYCOL関数もあるが、動きは(多分)予想できると思う。

SEQUENCE関数が引き渡した数だけ連番(つまり配列)を出力してくれる。

これを使うとLEN関数を組み合わせ、文字列の長さ分の連番を作ることができるから・・・

それをMAP関数に食わせると、1文字づつ何かの処理をやってくれる。

式:=LET(セル, A1, MAP(SEQUENCE(LEN(セル)), LAMBDA(x, MID(セル, x, 1))))

しかし、具体的な使い道となると、1文字コマンドなプロトコルの場合かな?

ロボットのコマンドとかで、

“1422”: “1”:右折、”4″:後退、”2″:左折

⇒ 右折、後退、後退、左折 とかかな?

更に、自己再帰処理が可能らしい。

式:下参照
=LET(対象セル,A1,
  Z,  LAMBDA(f, LET(g, LAMBDA(x, f(LAMBDA(v, LET(w, x(x), w(v) )))), g(g))),
  myfact, Z(LAMBDA(myfact, LAMBDA(x, IF(x=0, 1, x * myfact(x-1))))),
  myfact(対象セル)
)

元ネタ

元ネタの元ネタ。※リンク切れの可能性あり

再帰して欲しいと思って直行ルートで書くと

=LET(対象セル,$A$1,
  myfact,  LAMBDA(x, IF(x=0, 1, x * myfact(x-1))),
  myfact(対象セル)
)
⇒ #NAME?

そう、LET関数でのmyfact変数宣言中は「myfactの宣言が確定していない」ので、

myfact(x – 1)のmyfactなんて知らないがな?エラーが発生する。

注意1:LET文は直書きな再帰処理は不可能。

なので、事前作業として何か変数宣言して、ここを経由して名前の確定を遅延させてしまえばよい。

しかしmyfactを直接引き渡せないことに変わりは無いので、

LAMBDA関数を使って仮引数仮引数を含む処理の形で一旦処理中で参照するmyfactの実体の確定を保留しつつmyfactの宣言を先に完了させる。

=LET(対象セル,$A$1,
  Z, ・・・(検討中)・・・
  myfact, Z(LAMBDA(myfact, LAMBDA(x, IF(x=0, 1, x * myfact(x-1))))),
  IF( 対象セル=0, 0, myfact(対象セル))
) ⇒ #CALC!

LAMBDA(LAMBDA())な感じになって見苦しいなぁ・・・(泣き

さて・・・

Zは不動点コンビネータで書けばいいらしいけど、

Z = lambda f: (lambda x: f(lambda *y: x(x)(*y)))(lambda x: f(lambda *y: x(x)(*y)))

他の言語の例は無名再帰にあるらしいがEXCELは載ってない。

不動点コンビネータの1例にYコンビネータというのがあるらしく、

これをEXCELの計算式にすると

LAMBDA(f, LET(g, LAMBDA(x, f(x(x)), g(g))))

しかし式を確定しようとすると

LAMBDA関数の宣言中なのに『f(x(x))』の『x(x)』部分を直ぐに計算しようとしてバグった

つまり、今のLAMBDA関数の処理部で関数の引数の式に関数が含まれていると

即評価してしまうのではないか?(ちょっと有り得ないけどね!

そんな気がした。

『x(x)』なら、直ぐに計算しようとは思わない。(ハズ

EXCELの為に少し難易度を下げてみる。

f(x(x))をfとx(x)に分離し

x(x)の処理を一旦wとして定義してから、

x(x)を計算する様にしてみると

LAMBDA(v, LET(w, x(x), w(v) ))

となる。

この仮引数vには外側のLAMBDA関数『LAMBDA(x, f(x(x))』の仮引数xが引き渡されるハズなので、『f(x(x))』と等価になるハズだ。

これで調整しなおして

LAMBDA(f, LET(g, LAMBDA(x, f(LAMBDA(v, LET(w, x(x), w(v) )))), g(g)))

になった。

・・・

元ネタ記事では「今風」に詳しく説明されているので、間違いなくそちらの方が理解しやすいだろう。

僕はよーく読んだ末にやっぱりイミフになってしまった。※頭悪いなぁボクは!

EXCELの式の処理の都合をイメージしながら

僕なりに考察してみるしかなかった。※頭悪いなぁボクは!

だから、やはりあのゴニョゴニョなZの式

「EXCEL風Yコンビーネータ」

の様に思えた。



「EXCEL]LET関数

javascriptでも最近よく使うLET ※予約語

javascriptでは、var同様に変数宣言として使うけど・・・

EXCELでは、やはりBASICでのLET文である。

Rem LET 変数 = 計算式
LET X = SQRT(13)
=LET (変数名1, 計算式1, 変数名2, 計算式2, ・・・, セルの計算式  )

最後のセルの計算式は、この式の結果を計算するための計算式なので、

セルに何も表示しないなら、” ” でも良いかもしれない。

変数名n (n=1,2,・・・)は、このLETでのローカル変数らしくセル名リストに載らない。

なんだか使い道がさっぱり思いつかないが

=LET(範囲,A1:G1,合計,SUM(範囲), 平均, 合計/COLUMNS(範囲), "平均:" & 平均)

と書ける。改行してみると

=LET(
範囲,A1:G1,
合計,SUM(範囲),
平均, 合計/COLUMNS(範囲),
"平均:" & 平均)

つまり、LET関数は複数のセルに分けていた計算式を1つにまとめることができる。(コトもある

パっと見やすいのも高得点。

ワークシートに処理の破片みたいな計算式をバラまいてしまうとシートの端々までチェックしないと動きが読めないので大変。

そんな時はとても重宝するかもしれない。

なんたってEXCELの列は256個しかないしね。(笑



[三国英雄の夜明け]久々・・・

アップデートのおかげでずいぶんと戦力は強化できてるけど、

上を見上げるとキリがない

上を見れば三分の1くらいなので寧ろ後退している。

下位英雄を充実させているだけで先頭は500万目前のまま。

もう少しなんだけど打つ手がない

鎮魂の塔の王の魂もなかなかLv40になってくれない。

40になれば40になれば・・・

砂盤演義は31章に進んだけど入口で停滞中。

全く勝てる気がしない

※朱雀が全回復技を使ってるけどどう対処したら良いのか全く判らないので力押し。

ま、サボってるせいなんだけどね。(笑

サボってる間に自動的に資源が溜まるので遊ぶのは楽なんだけど

イベントの褒章が貰えないし、

強化が進まなかったりする。

洗練で少し上げようとしたら1万下がった。orz



[Javascript]漢字読み仮名辞書とローマ字変換

VBAではバリバリと日本語の変数を使うけど

JavaScriptでは日本語変数は使えないので、よく打ち間違えるからVisualStudioCodeのヘルプは大助かり

しかし、Excelで仕様書を書く時は何もヘルプ機能が無いのでAll JavaScriptで作ってみた。これならダウンロードすれば安心。(なハズ。

漢字読み仮名辞書とローマ字変換

  • ローマ字変換と漢字読み仮名変換はほぼ似てるのでクラス化
    • 対象テキストと辞書のエントリィ(ひらかなとか漢字とか)の両方の先頭部分を比較し一致箇所が一番長いものを拾い出し、辞書の読み(ローマ字とかひらがな)に差し替える。
    • 基本的に辞書はJSONのまま使用。
  • ローマ字変換と漢字ひら仮名変換の2オブジェクトを作成。
    • 辞書はそれぞれ別途用意。
    • 変数名で使うセパレータ(_)は、漢字読み仮名変換のみ指定。
    • 接頭語、接尾語指定は、漢字読み仮名変換のみ指定。
    • 例外的な記述の仕方はtralsrateAfterをオーバーロード。

使い方1:漢字の読みを登録しよう。

  1. 漢字欄に「新幹線」と入力
  2. ひらかな欄に「しんかんせん」と
  3. 【単語の読みを辞書に登録】ボタンを押す

使い方2:辞書に登録されたか確認しよう。

  1. 【辞書⇒クリップボード】ボタンを押す
  2. テキストエディタで貼り付け
  3. 多分、「新幹線\tしんかんせん\r\n」と出るハズ

使い方3:辞書を更新しよう

  1. テキストエディタを「新幹線\tしんかんせんwwww\r\n」に書き換える
  2. 全文をコピー
  3. 【クリップボード⇒辞書差替】ボタンを押す
  4. 漢字欄が「新幹線」なのを確認する
  5. 【漢字⇒ひらかな】ボタンを押す
  6. ひらがな欄に「しんかんせんwwww」と出るハズ

使い方4:ローマ字に変換しよう。

  1. ひらがな欄が「しんかんせんwwww」なのを確認する
  2. 【ひらがな⇒ローマ字】ボタンを押す
  3. ローマ字(スネークケース)欄に「shinkansenwww」と出るハズ
    • ※ローマ字変換処理は「知らない文字はそのまま出力する様になっている」

使い方5:辞書に登録した漢字を組み合わせて使ってみよう

  1. 漢字欄を「新幹線新幹線」と書き換える
  2. 【漢字⇒ひらかな】ボタンを押す
  3. ひらがな欄が「しんかんせん_しんかんせん」になる。
  4. 【ひらがな⇒ローマ字】ボタンを押す
  5. ローマ字(スネークケース)欄に「shinkansen_shinkansen」と出るハズ
    • ※登録した漢字と登録した漢字の間に_が入る。(仕様
  6. キャメルケース欄に「shinkansenShinkansen」と出るハズ
  7. コンスタントケース欄に「SHINKANSEN_SHINKANSEN」と出るハズ
  8. パスカルケース欄に「ShinkansenShinkansen」と出るハズ
  9. チェインケース欄に「shinkansen-shinkansen」と出るハズ

使い方6:「~1」とか「~2」とか、ありがちな変数名がどう変換されるかな?

  1. 漢字欄を「新幹線1」と書き換える
  2. 【漢字⇒ひらかな】ボタンを押す
  3. ひらがな欄が「しんかんせん1」になる。※辞書に未登録な文字の前後に[ _ ]は入らない。
  4. 【ひらがな⇒ローマ字】ボタンを押す
  5. ローマ字(大文字)欄に「SHINKANSEN1」、ローマ字(小文字)欄に「shinkansen1」と出るハズ
    • ※登録した漢字と登録した漢字の間に_が入る。(仕様

使い方7:辞書の登録

  1. 辞書ファイルを用意
  2. 全文をコピー
  3. 【クリップボード⇒辞書差替】ボタンをクリック

使い方8:複数の辞書を登録

  1. 1つ目の辞書は使い方7の通りに【クリップボード⇒辞書差替】ボタンで取込む
  2. 2つ目以降は【クリップボード⇒辞書追加】ボタンで取込む

使い方9:辞書を消そう。※ここ重要。

  1. F12でDevTools画面を開く
  2. 画面上の「アプリケーション」タグを選択
  3. 画面左の「ストレージ」の中の「LocalStrage」をクリックする
  4. 画面中央の「キー」の一覧に「kanjiYomi」を選択
  5. 右クリックして「削除」を選択

使い方は以上です。

ひらがな欄にカタカナを入力してもローマ字に変換できる。(ハズ

変数名中の「ロック」や「ファイル」等の英単語にするものは変則的な使い方ですが・・・

  • 漢字:「ロック」
  • ひらかな:「lock」

の様にして【単語の読みを辞書に登録】して【ひらかな⇒ローマ字】すると良いでしょう。

ローマ字にしたくない変数名中の「の」は

  • 漢字:「の」
  • ひらかな:「」

とすると出来るけど、「のはら」が「はら」になったり予想外のことが起きるでしょう。

新XXXXは「shinXXXX」にしたい場合は

  • 漢字:「新」
  • ひらかな:「しん@」

と読みに@を付けると読み仮名変換時に[ _ ]が付かない様にしたから

ローマ字にするとshinxxxxになるはず。

xxx年はxxxNenにしたい場合

  • 漢字:「年」
  • ひらかな:「@ねん」

と読みの先頭に@を付けると読み仮名変換時に[ _ ]が付かない様にしたから

◇◆◇◆◇◆◇◆

【単語の読みを辞書に登録】や【クリップボード⇒辞書差替】を登録するとLocalStrageに取り合えず保存するので

適当に【辞書⇒クリップボード】して辞書をバックアップすれば安全だろう。

LocalStrageはJSON式データで保存してるけど、

クリップボードは「漢字1\t読み仮名1\r\n」「漢字2\t読み仮名2\r\n」「漢字3\t読み仮名3\r\n」・・・形式なので、

多分、EXCEL⇔クリッップボード⇔画面で利用もできる。(知らんけど

なんでこんなのを作ったのかと云えば

Excelに日本語名とローマ字の対応表を作りXLOOKUPで引けばできることですが、

「xx処理yy関連zz対応www2」の様な日本語名がいっぱいあると登録するのに疲れてくるので

「xx処理」「yy部」「zz対応」「www」を一度登録すれば、

「aa処理yy関連zz関連www2」なら「aa処理」だけ登録すればいいものが欲しかった。(ダケ

それにしても・・・

3人居れば皆ローマ字はバラバラになるのは・・・(実に恐ろしい

試しに

IME用辞書のTEXT形式のものを見つけたので

置換前:^([^\t]+)\t([^\t]+)\t([^\t]+)$

置換後:\2\t\1

で正規表現ONで置換させて、うまく取り込める様だ。

しかし、LocalStrageの制約があるので、5MBを越える様な漢字の読みは登録できない。

ps.TEXTAREAタグに変えた

変数名の列を範囲指定して貼ってみると楽しいかもしれない。

  1. とりあえず、単漢読み仮名だけでも自動的にしたいなら
  2. 文化庁の「常用漢字一覧表」のPDFをダウンロード
  3. MS-WORDに強引に読ませる
  4. 全文をクリップボードに入れる
  5. テキストエディタに貼り付ける
  6. 雰囲気を見ながら
  7. 「^[\r\n]+」で、空行を削除 ※114行減る
  8. 「^\s(\S)\(\s+\)\s+」「\1\t」で、103行調整。
  9. 「^\s.*\r\n」で、タブや空白等で始まる行を削除 ※2249行減る
  10. 「^(\S+)\s+(\S+)\s+(.*)$」「\1\t\2」で、漢字と読みだけ残す ※1958行更新
  11. 「\(\S\)」で、(惡)などの旧字を削除 ※251行更新
  12. 「^漢字\t音訓\r\n」で、表タイトルを削除 ※115行削除
  13. 「^←→[^\r]*\r\n」で、削除 ※8行削除
  14. 微調整が必要なのが以下の14行。
    • 梅雨(つゆ),部屋(へや),今年(ことし), 昨日(きのう), お母(かあ)さん
    • 勺 シャク尺 シャク, 升 ショウ少 ショウ, 昭 ショウ宵 ショウ, 畝 せ瀬 せ, 浦 ホ補 ホ, 匁 もんめ夜 ヤ
    • 「人数」は, 陳 チン 陳列
    • 弁(/辨/瓣/辯/) ベン
  15. 全文コピって【クリップボード⇒辞書】ボタンを押す

と、してみたら良いかもしれない。

常用漢字⇒ジョウヨウカン_ジ⇒jou_you_kan_ji な具合

多分うまくできたと思うので、単漢字変換表サンプルのリンクをサンプルの画面に貼っておく。




top