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

投稿

Links for F#

MSDN F# Language Reference Expert F# 3.0

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...