Python
Pythonらしいデータ構造といえばdict(辞書型)です。 dict型の基本 dict型の操作 (本稿はPython3系を前提とします。) dict型の基本 dict型は、「キー」から「要素」にアクセスできるのが特徴です。 Object list, tuple インデクス(i番目)から要素にアク…
「配列オブジェクト」は正確なPython用語ではありませんが、大抵のプログラミング言語には「配列」ないし、配列の機能を持つものがあります。 (VRM5以前のVRMスクリプトには配列がなかったわけですけど・・・それはさておき。) 「配列オブジェクト」とは、…
コンピュータプログラムが数値を扱う上では、「数値型」について少し意識する必要があります。 Python言語は、数値型への強い意識がなくとも、都合よく動いてくれるプログラムを書きやすいようにできてる方だと思います。しかし、思いがけないエラーに遭遇す…
Pythonに限らず、プログラミング言語を扱う上では、まず最初に知っておかなくてはいけない基本文法があります。 VRMNXでPythonスクリプトを扱う上でも必須の事項です。 本稿では形式張ったPython文法仕様は抜きにして、初心者がまず最初に知っておくべき「超…
次期撮る夫くんでは,ゲームパッド入力時にBボタンを押すとスクリーンショットを撮影して自動的にPNG保存する機能が実装されます。(というか、もう公開してあるんですけどね。) Gamebarによるネイティブ撮影よりは実行速度が遅く,まずまずの出来ではあり…
「Pythonらしさ」とは何か,という問に,簡単な答えを一つ用意するとしたら,「Python言語の利点を最大限活かした実装のやり方やコーディングスタイル」とでも言えるのではないでしょうか。本日は,「Pythonの禅」とPython標準のコーディング規約を紹介しま…
本稿では、VRMNXpyにおける名前空間、すなわちあるオブジェクトが参照されうる範囲(見える範囲=スコープともいう)がどのようになっているのかについて述べていきます。また、その結果として,どのような実装パターンが良さそうか、についても考察を与えま…
前回はatenxa.richeventを使った時限式信号機のサンプルを紹介しました。 akagi.hateblo.jp 今回はその別語として,ATENXA式イベントシステムの仕組みをもう少し詳しく書いていきます。 サンプルコード 昨日の記事からの再掲です。まずはレイアウト。 #LAYOU…
VRMNXのPythonで,時限式信号機を組み込むサンプルを紹介します。列車通過時に赤,その後所定の時間で黄,青と変化するようなギミックはATENXAを使うと簡単に実装できます。
(20216/22 修正) 普通のPythonであれば,pipというパッケージ管理ツールで,サードパーティのモジュールやパッケージを使うことができるようになりますが,VRMNXに搭載されているPythonエンジンではそういう便利なことはできません。撮る夫くん などのVRMN…
ATENXAという名前で、VRMNXpy用のパッケージを計画中です。 汎用ライブラリとしてもお使いいただける機能があるので、リファレンスマニュアルを準備したいのですが、その方法をいつも忘れては調べ直している(そして、そこそこ時間がかかる)ので、備忘録と…
Pythonのdocstringを自動でドキュメント化するときはSphinxが定番ですが,それに代わるPydoc-Markdownというのを見つけたので,備忘録がてら紹介します。 pypi.org インストール pipからインストールできます。pipxでのインストールが推奨されています。私は…
Factorioの各アイテムについて、材料として何が必要かの関係性をとりあえず図示してみました。 各アイテムの材料をExcelにデータベースのように打ち込む(手打ちしたw) NetworkXというライブラリで、アイテムをノード、依存関係をアークとするようなグラフ…
いろいろ試していますがVRMNXpyで一向にnumpyが使えません。いい加減やってられないので,リスト型をベクトルに見立てて線形代数の主要な計算ができるコードを用意しました。 vrmapiの命令で使うことが前提なので,クラスを作って演算子をオーバーライドとか…