このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Archives Details

TypeScriptでStateMachine

AI・Bot・algorithm

2021.05.16

どもです。

最近は、立場も変わりコーディングする機会もめっきり減っちゃってりして、プライベートでもGolang、Rust、C++、Dart,アセンブリ、etc..と、所謂フロントエンドの言語を触る機会も減って来ている今日このごろでありまして、久々TypeScriptを書こうとしたら「あれ、どう書くんだっけ」状態になっちゃたりする訳なんですよ。(そこまでないが)

という事で、今回は、こちらのゲームAIの書籍から(ちょっと古めですが)抜粋しC++の言語からTypeScriptに変換しつつ、コンソールログやコメントをすべて日本語化してみました。といったものです。

 

実例で学ぶゲームAIプログラミング

created by Rinker
¥4,180 (2021/10/22 02:51:33時点 Amazon調べ-詳細)

 

ソースに関しては、すべてGitHubにアップしております。

WestWorld project

題2章はStateMachineと言うことなんですが、3部構成になっております。

まず最初はシンプルなFSM(Finite State Machine 有限状態機械)で、登場人物も一人となっております。

 

StateMachineクラスもない状態のFSMで、ボブの状態が変化していきます。

 

GitHub

https://github.com/webcyou-org/FSM-ts-west-world

WestWorld With Woman project

続いて、主役のボブの奥さんエルザも登場し2人構成のStateMachineとなっております。

 

奥さんの行動(状態)もランダムに変化し、2人の状態それぞれ変化していきます。

 

 

GitHub

https://github.com/webcyou-org/FSM-ts-west-world-with-woman

WestWorld With Message project

最後はボブと奥さんのStateMachineに加え、2人間のメッセージパッシングが含まれたプログラムとなっております。

Telegramクラスも登場し、UML状態クラス図も複雑となってきます。

 

2人の状態がそれぞれ変化していくのに加え、お互いメッセージを送信し、受信したら状態が変化するプログラムとなっています。

 

GitHub

https://github.com/webcyou-org/FSM-ts-west-world-with-messaging

すべて、

$ node ./dist/index.js

でプログラム実行となっております。

という訳で、プログラム言語を覚える際にも、存在するプログラムを別言語で書き直すのもありかもしれないですね。

 

ではではぁ。

Comment

Related Article

TypeScriptでStateMachine

2021.05.16

パックマン 解析プログラム動画から見る 追跡アルゴリズム

2020.09.23

5分で覚えるAI Minimax(ミニマックス)法とalpha-beta法

2016.05.14

JavaScriptでユークリッド距離とピアソン相関係数

2016.05.03

LINE BOT API Trial で WordPress + LINE BOT の Web帳BOT を作ってみました。

2016.04.30

CATEGORY LIST

LATEST NEWS

【M1 Mac】dotnet ef ツールで、MySQLを scaffoldする。

C#

2021.10.17

『2Dスマホゲームにおける圧縮テクスチャ』『膨大になったDBを何とかする』9月30日(木)【オンライン開催イベント】

イベント

2021.09.24

バキバキ画面割れ、バッテリー膨張している iPhoneXを修理した話

iPhone

2021.09.05

Macのデータ復旧を簡単に! EaseUS Data Recovery Wizard for Mac Pro を使用してみた。

tool

2021.08.24

パーティション管理ソフト「MiniTool Partition Wizard」を使ってみた。

tool

2021.08.18

【2021】ゲオのサマーセール 980円以下のゲームソフトが半額!8月16日(月)まで。で購入したもの。

Game

2021.08.08

M1 Macで始める「ゼロからのOS自作入門」- 第1章

自作OS

2021.07.24

2021年6月 Amazonプライムデーで購入したもの。(今更)

イベント

2021.06.30

Go言語開発者、Unity開発者必見!! 【Golang】「クソコードをシンプルにする」,【Unity】「Singletonを使わないUnityを用いたApplication開発」

イベント

2021.05.23

TypeScriptでStateMachine

AI・Bot・algorithm

2021.05.16

iPad Air で、Web開発環境構築(iSH Alpine使用)

mac

2021.04.11

【Qt】Mac開発 ソートダイアログ (拡張するダイアログ)を作成

C++

2021.04.01

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。

FOLLOW US