﻿
スクリプト名:AI_ichirin@yuni ver0.27b

このtxtはmain.rb,yuni_lib.rb,yuni_lib_CCm.rb　に関してのものです
th135_ai.exeに関しては同梱のReadme.txtをお読みください

main.rb および yuni_lib.rb と yuni_lib_CCm.rb はth135_ai.exe用のスクリプトです
AIで遊ぶには上記ファイルをth135_ai.exeと同じﾌｫﾙﾀﾞに入れてth135_aiを起動してください


＊本ＡＩは東方心綺楼th135_Ver1.34b用に調整されておりそれ以外のバージョンではうまく動作しないかもしれません

＊AIが操作するプレイヤーはキーボード操作に設定する必要があります
　　詳しくはth135_ai.exeのReadme.txtを読んでください

----------------------------------------------------------------------
●AIについて ver0.27b

　従来のAIVer0.27が心綺楼のVer1.34bへのバージョンアップでうまく動作しなくなっていたのを修正しました
それ以外はVer0.27とほぼ同じです。

　～AIの現状～
　フリーの状態ならば、スペカを除くほぼ全ての攻撃に対して適当な防御対応を取ることが出来る
　基本的なコンボを完走し魔方陣をとることが出来る
　霊力残量の考慮は完全ではなく霊力切れでよく隙をさらす
　起き攻め未実装(微妙にそれっぽい行動だけする)
　スペルには完全未対応でぶっぱが刺さる上に一部スペルに対しては処理落ちを起こす場合もある

　一輪、神子のﾚｰｻﾞｰ撃ち分けを検出する方法が見つけられないので、撃ち分け可能な範囲を
　全て撃たれているように認識してます。格好悪いのでレーザーを外さないようにしてあげてください

　相変わらずラストワードも使えません
　
 ～予定～
 前宣言系スペルに適当に対応させたら次のバージョンになるでしょう
 神立ち使わせたい、起き攻めちゃんとしたい。といった所
----------------------------------------------------------------------
免責事項
 main.rb,yuni_lib.rb,yuni_lib_CCm.rbを使用した事で生じた一切の事態について
 スクリプト作者は関知しません、全て自己責任でご使用ください
 スクリプトの改変や再配布も自由です

2014/11/14	:ver.0.27b
2014/1/19	:ver.0.27
2013/11/25	:ver.0.1











東方心綺楼で独自AI

◆AI_ichirin@yuni_ver0.27
	AI起動
		├require("yuni_lib.rb");
		├require("yuni_lib_CCm.rb");		#ｷｬﾗ個別データクラス群
	main()
		├初期化処理
		|	├Yunilib.new();
		|	└Yunilib.crsResetCheck;			#ｷｬﾗの装備変更と装備の情報を記録
		|		└Yunlib.character_equipment;
	┌main_loop>>
		│
		├Yunilib.manager;					#Yunilibがこのﾌﾚｰﾑ中に提供するデータを出力,ラウンドの監視
		│
	  　<AI_control>-				┐			#AIの戦い方は<AI_control>内で決める
			│
			├main_loop_tiral;				#一輪用反射型AI試作型
				│							#上から順に条件分岐していき、どこかで条件がhitしたらそれ以下の条件分岐を飛ばしてcommand_streamへoderを出す
				├┬trial_set;					#セットプレイ、起き攻め連携、リバサ行動など
				├┼trial_combo;					#コンボ操作、固め
				├┼trial_guard;					#ガード
				├┼trial_graze;					#ｸﾞﾚｲｽﾞ
				├┼trial_attack;					#攻撃
				├┴trial_move;					#移動
				│
		Yunilib.command_stream(oder);		#条件分岐から出されたoderをYunilib.@command_arrayに入力する
	  　<AI_control>-				┘
		│
		├Yunilib.command_operation;			#操作ｷｬﾗの状態を監視しながら@command_arrayに積み上げられた行動を発動させていく。このAIのキー操作処理は全てここで行われる
		│
		├sleep;								#次のﾌﾚｰﾑまで待機
	└<<main_loop							#最初の main_loop>> へ戻る
	
	end
	
	
	
	



