パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

CODE VS 5.0 テスト環境作成

2016-03-08 | コンピュータ
CODE VS 5.0の標準入力のテキストとRubyを使って簡単な動作確認をしてみました。
テキストの入力データをAIの実行ファイルに送り、出力内容を表示しています。

Windows7環境で作成していますがMacも動きました。

(1) CODE VS 5.0で対戦させます。


(2) 標準入力からどこでもいいので1ターン分のデータを取り出し保存します。

ここではinput.txtとしてAIの実行ファイルのあるフォルダに保存しました。
(最後の改行はあってもなくても動きました)


(3)Rubyのプログラムを書きます。
base.rbというファイル名で同じフォルダに保存します。


(4)テストを実行します。
ruby base.rb AIの実行ファイル名 入力データファイル名

MacだとAIの実行ファイル名の前に./が必要です。
ruby base.rb ./field3v5.exe input.txt

ソースコードです。
----------------------------------------------
require "open3"

stdin, stdout, stderr = *Open3.popen3(ARGV[0])

# こちらから書く
Thread.fork {
File.foreach(ARGV[1]) do |line|
stdin.print line
end
stdin.close # または close_write
}
# こちらから読む
stdout.each do |line|
print line
end
----------------------------------------------

もうちょっと遊んでみました。

おお! ルビーでもいけますね。

マシンとサマリタンの間ではひそかに「詰めCODEVS 5.0」がはやっているかもしれません。(失礼しました。)

ruby 1.9.1 少し古いバージョンで実施してます。

実際のデバッグはログファイル使ってます。
文字列一個と数字4個の2つ関数があればなんとかなるだろうというざっくりしたものです。


翌日、もっといい環境、Javaですがつかっていたことを思い出しました。
Eclipse gcc c++のデバッグ環境の起動まで



参考文献
Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > open3ライブラリ > Open3モジュール
C++でテキストに書き出す方法




最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。