スキップしてメイン コンテンツに移動

投稿

3月, 2010の投稿を表示しています

PDP11: Sengoku Battle Game

I wrote sengoku battle game in PDP11 (assembler language) a few years back. Not sure how many people are interested in the source code but I put it below. ;;;game program for PDP-11, battle in the Sengoku period ;;;programed by Duke Software, 2003 CHIN = 172020 SETCOLOR = 172060 DRAWLINE = 172074 FILLRECT = 172104 FILLARCT = 172114 CLRSCREEN = 172130 VRAM = 160000 ENDVRAM = 167636 FIRSTMESVRAM = 163430 INFNAMEVRAM = 165000 CHADATVRAM = 165240 OTHERCHADATVRAM = 165400 SHIFTNAMEVRAM = 2 SHIFTABVRAM = 46 SHIFTSOLVRAM = 56 SHIFTMORVRAM = 64 SHIFTTYPVRAM = 72 MESVRAM = 167500 TURNVRAM = 167524 WINMESVRAM = 167526 TURNNUMBERVRAM = 165110 VRAMLOOP = 240 ;one loop of the VRAM number INFAREAYVRAM = 256. INFTEAM0XVRAM = 0. INFTEAM1XVRAM = 480. TEAM0FACEXADRESS= 320. TEAM1FACEXADRESS= 415. FACEYADRESS = 256. MAXCHARANUMBER = 30. MAXTEAM0NUMBER = 14. MAXMORALE = 120. MAPSIZE = 1280. TWICEMAPSIZE = 2560. MAXXPOS = 79. MAXYPOS = 15. MINXPOS = 0

ActionScript 3.0 Garbage Collectionのテスト

Duke Software: ActionScript 3.0 でのSoundのメモリリーク解消方法 の投稿にブックマークをして下さっている方がいるのに、自分で何もテストしないのはお恥ずかしいので、Flashのメモリ管理、特にガーベッジコレクションについてその挙動を調べてみました! 結論から書きますと、 Array を使うのが最も安全なようです。(あくまで私がテストした環境においてです。保証はできません。)System.gc();を明示的に呼び出せば、下記でテストしたすべての場合でメモリが開放されますが、System.gc();はデバッグ版のFlash Playerでしか呼びさせなかったはずなので、止めておいた方が無難だと思います。 テスト環境 Flex :Flex 3.5 (build 12683) Flash Player:WIN 10,0,42,34 (Capabilities.versionから取得) 方法: 1) クラスにフィールド(1. Array, 2. Object, 3. 自作のdynamicクラス)を定義 2) 画面をクリックするごとに、Vector. オブジェクトを生成して1)で定義したフィールドに代入 3) クリック直後とクリックイベント検知1秒後のメモリ使用量をSystem.totalMemoryで取得 1. Array - すぐに開放される package test { /** * The most safe way... * * @author Duke */ public class GarbageCollectorArrayPropertyTest extends GarbageCollectorTestBase { private var a:Array = new Array(1); public function GarbageCollectorArrayPropertyTest() { } protected override function createObject():void { // Yeah garbage collection is triggerd and works properly :) a[0] = new

SWF内のクラスを抽出するライブラリ

最近、SWFファイルを解析してそのSWF内に含まれるクラスの一覧を取得する方法を考えていました。ちょっとGoogle先生で調べていたところ、まさしく「SWF内のクラスを抽出するライブラリ」そのものを公開しているblogを見つけました! Swf Class Explorer for AS3 公開されている方法は、SWFのバイナリを解析して、クラス情報を抽出するという方法をとっています。SWCファイルとライブラリの使い方のサンプルだけでなく、ソースコードそのものも公開されています!こういうものをサクッと公開できるセンスには脱帽です・・・。 私なりにサンプルを書いてみました。 package utils.tool { import com.flassari.swfclassexplorer.SwfClassExplorer; import flash.display.Loader; import flash.display.LoaderInfo; import flash.events.Event; import flash.system.LoaderContext; import flash.utils.ByteArray; /** * ... * @author Duke */ public class SWFLoadHelper { public static function loadClasses(swf:ByteArray, start:Function, inLoop:Function, finish:Function):void { var complete:Function = function complete(e:Event):void { start(); var loaderInfo:LoaderInfo = (e.currentTarget) as LoaderInfo; var classNames:Array = SwfClassExplorer.getClasses(swf); loaderInfo.removeEventListener(Event.COMPLETE, complete); for each(var className:String

Windows上で開発する際のちょっとした便利ツール

画像編集 GLab Bumy Paint Gimp AzPainter : かなり高機能な画像処理ソフトウェアです。 2011/12/25 追記: 作者様のサイトによると開発は中止したようです。残念。ソフトの公開(ダウンロード)は続けるようです。 JTrim : フリーでこれだけ対応しているソフトウェアは珍しいと思います。すばらしい! Logo Shader : 様々な質感のロゴを作成できるソフトウェアです。お勧め! Tex TeX Wiki 日本語のTexの解説サイトと言ったらここしかないでしょう! デバッグ DebugView テキスト系ファイルの差分表示 WinMerge Rekisa Vim にも差分の表示機能があります。 Not classified yet http://www.deepamehta.de/ CCFinder FREE PDF Printer : 高機能PDFライターソフトウェア http://www.metaseq.net/ : 3D Modeling Software 自動ブロック化・通信最適化ライブラリ ABCLib FFMpeg http://www.fraps.com/ : Direct X Capture SVG Viewer (Adobe)

Emacs Tag jump

Example: Generate tag file all c and header files under current directory. etags ./*.c ./*.h After tag file is generated, if you type M-. , you can quickly jump to the definition of function on your cursor. If you type M-* , you can go back to the previous position.

特定の文字列のみを取り除く正規表現

特定の文字列のみを取り除く正規表現は、以下のように表現します。 ^(?:(?!ABCD|XYZ)).)[A-Z]+ 上記のパターンは、ABCDとXYZのみを除く、任意のAからZの一文字以上の組み合わせにマッチします。 マッチしない文字列を新たに追加する場合、例えばIJKをマッチさせたくない場合は、 ^(?:(?!ABCD|XYZ|IJK)).)[A-Z]+ のようにすればOKです。