げれげれ
リアクションスコア
307

タイムライン 新着アクティビティ 投稿 プロフィール

  • いやどうでもいいことだとは思うんですがね、なんかね。
    Uniteのシンボルがグレースケールの3Dダンジョン風で妙に親しみを覚えるんだ・・・
    とんび@鳶嶋工房
    とんび@鳶嶋工房
    しっかり読んで確認したいという気持ちもあるんですが、いまドット絵モードで、スクリプトが頭に入ってこない…なにこの文字列的な。ドットでドットで教えてくれ(無理)
    げれげれ
    げれげれ
    いまドット絵モードで
    もし気が向いたら目を通したってください~

    ドットでドットで教えてくれ(無理)
    ---- ・・- ・-・-- ・・ ---・- ・-・・
    【ゆるぼ】
    nodeのreadline.questionで同期的に入力を受け取る方法。
    全体をasyncで非同期化してawaitで処理を止めるという方法は見つけたんだけど、
    ただ一度の入力を行うためだけにメイン処理全体を非同期化するのはちょっと。
    fspace
    fspace
    え~と、まずasync/awaitはPromiseを書きやすくするための構文なので実体は同じです。awaitがthenに、try-catchがcatchに変換されて、return時に自動的にresolveされる感じです。

    で、Promiseは複数の処理を同時に実行する仕組みではなく、処理する権利をうまく譲りあうための仕組みです。「通信が終わるまで他のことしてていいよ」とか「ユーザが入力するまで他のことしてていいよ」みたいな感じです。なので、権利を譲らずにひたすら探索処理をしていると、他の処理は一切行われません(シングルスレッド)。これだと同期的にやっているのと何も変わりません。
    fspace
    fspace
    権利を譲るためには、少し処理してはsetTimeout等で続きを実行するようにして、一瞬だけ別の処理を挟むことができるタイミングをつくる必要があります。

    あるいは、同時に複数の処理を行う仕組みであるWebWorkerを使います(マルチスレッド)。
    げれげれ
    げれげれ
    一つしかないスレッドを占有したまま他に処理が移らないイメージですよね。
    ので、関数を小分けして、処理が切り替わるタイミングを用意してあげる、と。
    たぶんイメージは掴めたと思います、ありがとうございます。

    同時に複数の処理を行う仕組みであるWebWorkerを使います(マルチスレッド)
    JSでマルチスレッド処理ができるとは思ってもみませんでした。
    すごいな、JS。

    となると、探索部を独立したスレッドでフルパワーで稼働させ、
    PCを冬の暖房器具にしてしまうのも乙な気がしてきました。

    が、現状、αβ探索がどうにか動くところまでは来ましたが、
    あからさまに不自然な挙動でちょっと手間取りそうです。
    探索部の非同期処理化の壁に行き当たった時点でまたご相談させていただくかもしれませんが
    どうぞよろしくお願いいたします。
    • Like
    Reactions: fspace
    リプ受けない設定のようなのでこちらで。

    >Split-Classes-1-1-0

    海外フォーラムですね。

    どういうことか少し興味が湧いたので記事および中身を軽く覗いてみたところ、
    クラスの継承関係(クラスツリー)を何か変更するものではなく、
    見やすいようにファイル分割したもののようです。
    munokura
    munokura
    >とんび氏
    それは理解しているのですが、海外フォーラムで分割されているのがv1.0.0とv1.1.0のもののようです。

    はどはど氏のツールはムノクラが使えそうもないと感じていて(今調べたら、そこまで難しくは無さそうですが)、まだv1.2.0の分割されたものが手元にないということになります。

    でnode.jsをインストールしてコマンドプロンプトで開けば良い?ということなんですかね?
    とんび@鳶嶋工房
    とんび@鳶嶋工房
    使い方はjsのコメントに書いてあるですよ。
    munokura
    munokura
    折を見て挑戦します。
    C
    chronicle
    すいません、最初からStrictモードでの即時関数とStrictモードでのブロックスコープでの差異として捉えていました。
    (非Strictは考慮していません)
    Strictモードには関数のみに適用される規則があるので、
    即時関数は関数なので、コード全体に関数の規則も適用された状態でのStrictモードになるという文脈です。
    それ故にthisの解釈も違ってくるので。

    varと未宣言変数は、thisの違いを検証出来るように説明できるよう、MDNをベースにやむを得ず例に出しただけで、他に意味はありません。
    C
    chronicle
    プラグインの場合に起こりうるであろう想定例です。
    JavaScript:
    {
      //プラグインコマンドを定義
      PluginManager.registerCommand('myPlugin', 'command', (args) => {
          this.foo = args.foo; //アロー関数なので定義されたスコープでのthisになる
      });
    }
    アロー関数を使用しているのでブロックで書いた場合と同じくグローバルオブジェクトになってしまい、スコープ汚染しながら動作してしまいます。
    なので挙動の違いは知っておくと、うっかりミスした場合にも特定しやすくなります。
    げれげれ
    げれげれ
    根気よくご説明くださりありがとうございます。
    また、きちんと意図を汲み取れておらず失礼しました。

    ブロックとアロー関数のコンボという具体的な懸念を仰ってたわけですね。
    たしかにありそうです!
    上記を踏まえて修正いたしました。
    「一週間でゲームを作ろうの会」のやつ、でけましたよ。
    テーマ:受験
    タイトル:動く点P

    イベント作成の練習も兼ねて、今回はプラグイン無し縛り。
    • Like
    Reactions: Ganmo and ワタベ
    げれげれ
    げれげれ
    イベントとじっくり向き合ってつくづく思ったのだが、やはりイベントのセルフ変数は要る。
    そういう機能のプラグインが存在していることは知っているけど、そうでなくてデフォ機能として必要だと思った。
    OOP的発想でイベントを構築しようとすると、各オブジェクト(つまりイベント)が自身の状態をプロパティとして保持する必要が出てくるわけだが、それがセルフスイッチだけだとすんごく不便。
    ちょっと、提案としてまとめて投げてみるかな…
    げれげれ
    げれげれ
    引き続きありがとうございます。
    修正いたしました。

    本年もよろしくお願いいたします!
    fspace
    fspace
    お疲れ様です。今年もよろしくお願いします。

    記事を確認しましたが、Object.createについて少し誤解がありそうな気がします。Object.createはオブジェクトを複製するものではなく、指定したオブジェクトを[[prototype]]とする新しいオブジェクトを生成するものです。これに基底クラスのprototypeを指定することで、コンストラクタのprototype同士が繋がり、継承階層を成すようになります。継承という概念と、プロトタイプによる実装は分けて考えた方がいいと思います。
    げれげれ
    げれげれ
    ありがとうございます、思いっきり「プロパティが丸ごと複製されている(ついでに[[prototype]]も設定されている)」と勘違いしていました。

    修正いたしました!
    • Like
    Reactions: fspace
    #一週間でゲームを作ろうの会 、初参加~:kaopride:
    突貫工事のためクリア後にバグが残ってるけど、 キニ (゚ε゚) シナイ!
    スレッドの主旨から外れるのでこちらでこそっと聞いちゃうのだけど、
    ES5で記述されたコードに対して後からES20XX(ES6以降)の記述でパッチをあてるのって
    世間一般的にどう捉えられてるんだろう?

    1)問題ないよ、最新のイケてる書き方をした方がいいよ
    2)あまりおすすめしないよ、混在させない方がいいよ
    3)開発現場のルールやプロダクトの対象環境に依るよ、一概に言えないよ
    4)いいから全部ES20XXで書き直せ

    今のところ、自分としてはなんとなく2)の方針なのだけど結局は3)なのかなぁ、という気もする。
    げれげれ
    げれげれ
    ふむー、総じて「新旧記法の混在も少しは気になるけど、そこまで重要度は上ではない。可能ならなるべくES20XXで」という感じでしょうか。
    私の認識もそちらに寄せて行こうと思います。
    くろうど
    くろうど
    正常に動いているコードを書き換えてはいけない環境で育ったので、少なくとも4はないかなーと。再試験やる気があるなら4でもどうぞですかね。
    げれげれ
    げれげれ
    4は労力的に無理だよなとは自分でも思いつつ、半ばオチ的に書いてました。

    とにかく止めてはいけない、可動率が最優先されるシステム開発系の方面では
    「動いてるコードは触るな」という文化が強いと聞いたことはありますねぇ(´ω`)
    RPGアツマールのHTML構造を軽く見てみようかと思ったら、謎の生物がいた・・・
    リードくんが勇者でなく剣士であることに今頃きづいた!!
    munokura
    munokura
    自分もこの記事を読むまで気づきませんでした:kaohi:
    げれげれ
    げれげれ
    >Aceのエリックも勇者じゃなくて「戦士」 でした
    意外と勇者ばっかりではないんですね…
    リードくんの場合、青を基調に真っ赤なマントで
    思いっきり勇者勇者してる印象だったので特に意外でした。

    >記事
    気付いた時のリアクションは自分もこんな感じでしたねー。
    あとギャラクティカビッグバンブレード つよそう。
    リンクス
    リンクス
    勇者が無いのは海外展開したからでしょうね。XPから『勇者』いなくなって(日本語版)VXだけ復活、それ以降は見た目だけそれっぽいのがいるので自分で作ってね! というスタンスじゃないかと。XPは職業(クラス)どころかエディタのあらゆる単語がカタカナ語になってますが。
    記事書いた見てー:kaojoy:

    「RPGツクールMZでイベントコマンド「スクリプト」からプラグインコマンドを呼び出す方法
     あるいは、RPGツクールMZのプラグインコマンド周りをざっと調べてみた」

    既にすごいプラグインをたくさん発表してるすごい人たちには分かり切った話ですが、
    「これからMZのプラグインについて調べていきたい」
    という人の参考になればー。
  • ロード中…
  • ロード中…
  • ロード中…
トップ