<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://w3.kuhalabo.net/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
		<id>http://w3.kuhalabo.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Langton%27s_Ant</id>
		<title>Langton's Ant - 変更履歴</title>
		<link rel="self" type="application/atom+xml" href="http://w3.kuhalabo.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Langton%27s_Ant"/>
		<link rel="alternate" type="text/html" href="http://w3.kuhalabo.net/wiki/index.php?title=Langton%27s_Ant&amp;action=history"/>
		<updated>2026-04-14T23:59:47Z</updated>
		<subtitle>このウィキのこのページに関する変更履歴</subtitle>
		<generator>MediaWiki 1.19.2</generator>

	<entry>
		<id>http://w3.kuhalabo.net/wiki/index.php?title=Langton%27s_Ant&amp;diff=2356&amp;oldid=prev</id>
		<title>Kuha：/* openFrameworks */</title>
		<link rel="alternate" type="text/html" href="http://w3.kuhalabo.net/wiki/index.php?title=Langton%27s_Ant&amp;diff=2356&amp;oldid=prev"/>
				<updated>2020-10-31T00:21:02Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;openFrameworks&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←前の版&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;2020年10月31日 (土) 00:21時点における版&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;openFrameworks &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;openFrameworksのサンプル &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Kuha</name></author>	</entry>

	<entry>
		<id>http://w3.kuhalabo.net/wiki/index.php?title=Langton%27s_Ant&amp;diff=2344&amp;oldid=prev</id>
		<title>Kuha：ページの作成：「== openFrameworks ==   *アリは以下の規則に従って移動する。 ** 色ありのマス(1)にアリがいた場合、90°右に方向転換し、そのマス...」</title>
		<link rel="alternate" type="text/html" href="http://w3.kuhalabo.net/wiki/index.php?title=Langton%27s_Ant&amp;diff=2344&amp;oldid=prev"/>
				<updated>2020-10-29T23:17:21Z</updated>
		
		<summary type="html">&lt;p&gt;ページの作成：「== openFrameworks ==   *アリは以下の規則に従って移動する。 ** 色ありのマス(1)にアリがいた場合、90°右に方向転換し、そのマス...」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== openFrameworks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*アリは以下の規則に従って移動する。&lt;br /&gt;
** 色ありのマス(1)にアリがいた場合、90°右に方向転換し、そのマスの色を反転させ、1マス前進する。&lt;br /&gt;
** 色なしのマス(0)にアリがいた場合、90°左に方向転換し、そのマスの色を反転させ、1マス前進する。&lt;br /&gt;
&lt;br /&gt;
* ofImageを使って、アリの動いた軌跡を描画している。&lt;br /&gt;
** ofImageのマニュアル http://www.openframeworks.cc/documentation/graphics/ofImage.html&lt;br /&gt;
** 教科書の3-2-7 「画像ファイルを扱う」(p172)&lt;br /&gt;
** アリの現在位置の色はアリごとに異なる色を設定&lt;br /&gt;
** アリの軌跡の色は1色に設定&lt;br /&gt;
** '''pixels = myImage.getPixels();''' はエラーになるので、&lt;br /&gt;
** '''pixels = myImage.getPixels().getData();'''　に修正&lt;br /&gt;
&lt;br /&gt;
;ofApp.h&lt;br /&gt;
* ofApp.hの中にAntクラスを記述している。&lt;br /&gt;
* Antクラスにはプロパティだけで、メソッドがない。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#pragma once&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ofMain.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Ant {  // Antクラス&lt;br /&gt;
public:&lt;br /&gt;
	int row; // アリの x座標&lt;br /&gt;
	int col; // アリの y座標&lt;br /&gt;
	ofColor bcolor; // アリの色&lt;br /&gt;
	int dir; // アリの進行方向&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
class ofApp : public ofBaseApp{&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
	void setup();&lt;br /&gt;
	void update();&lt;br /&gt;
	void draw();&lt;br /&gt;
&lt;br /&gt;
	void keyPressed(int key);&lt;br /&gt;
	void keyReleased(int key);&lt;br /&gt;
	void mouseMoved(int x, int y );&lt;br /&gt;
	void mouseDragged(int x, int y, int button);&lt;br /&gt;
	void mousePressed(int x, int y, int button);&lt;br /&gt;
	void mouseReleased(int x, int y, int button);&lt;br /&gt;
	void windowResized(int w, int h);&lt;br /&gt;
	void dragEvent(ofDragInfo dragInfo);&lt;br /&gt;
	void gotMessage(ofMessage msg);&lt;br /&gt;
&lt;br /&gt;
	static const int FIELD_RATE = 4; // マス目の大きさ&lt;br /&gt;
	static const int DRAW_RATE = 10; // 描画を間引く間隔&lt;br /&gt;
&lt;br /&gt;
	static const int WIDTH = 1024 / FIELD_RATE;&lt;br /&gt;
	static const int HEIGHT = 768 / FIELD_RATE;&lt;br /&gt;
&lt;br /&gt;
	int field[WIDTH][HEIGHT]; // アリが動くマス目 色あり 1 色なし 0&lt;br /&gt;
&lt;br /&gt;
	static const int ANTS_NUM = 3; // アリの数&lt;br /&gt;
	Ant ants[ANTS_NUM];&lt;br /&gt;
&lt;br /&gt;
	ofImage myImage;  //マス目（アリの歩いた跡）の描画用&lt;br /&gt;
	unsigned char * pixels;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;ofApp.cpp&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;ofApp.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//--------------------------------------------------------------&lt;br /&gt;
void ofApp::setup(){&lt;br /&gt;
	ofBackground(0, 0, 0);&lt;br /&gt;
	ofSetFrameRate(30);&lt;br /&gt;
&lt;br /&gt;
	myImage.allocate(WIDTH, HEIGHT, OF_IMAGE_GRAYSCALE);  //&lt;br /&gt;
	pixels = myImage.getPixels().getData();&lt;br /&gt;
	for (int i = 0; i &amp;lt; WIDTH * HEIGHT; i++) {&lt;br /&gt;
		pixels[i] = 0;&lt;br /&gt;
	}&lt;br /&gt;
	for (int i = 0; i &amp;lt; WIDTH; i++) {&lt;br /&gt;
		for (int j = 0; j &amp;lt; HEIGHT; j++) {&lt;br /&gt;
			field[i][j] = 0;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	myImage.update();&lt;br /&gt;
&lt;br /&gt;
	for (int i = 0; i &amp;lt; ANTS_NUM; i++) {&lt;br /&gt;
		ants[i].row = int(ofRandom(WIDTH));&lt;br /&gt;
		ants[i].col = int(ofRandom(HEIGHT));&lt;br /&gt;
		ants[i].bcolor = ofColor(ofRandom(200,255), ofRandom(0,255), ofRandom(0,200), 255);&lt;br /&gt;
		ants[i].dir = i % 4;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//--------------------------------------------------------------&lt;br /&gt;
void ofApp::update(){&lt;br /&gt;
	for (int i = 0; i &amp;lt; ANTS_NUM; i++) { //アリの個体&lt;br /&gt;
		for(int j = 0; j &amp;lt; DRAW_RATE; j++){ // 描画間隔&lt;br /&gt;
			if(field[ants[i].row][ants[i].col] == 1){ //fieldに色があるとき&lt;br /&gt;
				ants[i].dir = ( ants[i].dir + 1 ) % 4;  // 右に90度方向転換&lt;br /&gt;
				field[ants[i].row][ants[i].col] = 0;&lt;br /&gt;
				pixels[ants[i].col * WIDTH + ants[i].row] = 0;&lt;br /&gt;
			} else { //fieldに色がないとき&lt;br /&gt;
				ants[i].dir = ( ants[i].dir + 3 ) % 4;  // 左に90度方向転換&lt;br /&gt;
				field[ants[i].row][ants[i].col] = 1;&lt;br /&gt;
				pixels[ants[i].col * WIDTH + ants[i].row] = 255;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			switch(ants[i].dir)&lt;br /&gt;
			{&lt;br /&gt;
			case 0:  // 東（X軸の正)へ進む&lt;br /&gt;
				ants[i].row += 1;&lt;br /&gt;
				break;&lt;br /&gt;
			case 1:  // 南（Y軸の正)へ進む&lt;br /&gt;
				ants[i].col += 1;&lt;br /&gt;
				break;&lt;br /&gt;
			case 2:  // 西（X軸の負)へ進む&lt;br /&gt;
				ants[i].row -= 1;&lt;br /&gt;
				break;&lt;br /&gt;
			case 3:  // 北（Y軸の負)へ進む&lt;br /&gt;
				ants[i].col -= 1;&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
			ants[i].row = (ants[i].row + WIDTH) % WIDTH; // X方向境界処理&lt;br /&gt;
			ants[i].col = (ants[i].col + HEIGHT) % HEIGHT; // Y方向境界処理&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	myImage.update();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//--------------------------------------------------------------&lt;br /&gt;
void ofApp::draw(){&lt;br /&gt;
	ofSetColor(0, 0, 255);&lt;br /&gt;
	myImage.draw(0, 0, WIDTH * FIELD_RATE, HEIGHT * FIELD_RATE); // fieldの描画&lt;br /&gt;
	for (int i = 0; i &amp;lt; ANTS_NUM; i++) { // antの描画&lt;br /&gt;
		ofSetColor(ants[i].bcolor);&lt;br /&gt;
		ofRect(ants[i].row * FIELD_RATE, ants[i].col * FIELD_RATE, FIELD_RATE, FIELD_RATE);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== アリごとに異なる軌跡色を設定 ==&lt;br /&gt;
* Antクラスのプロパティに 歩いた軌跡の色である '''tcolor'''を設定&lt;br /&gt;
* ofImageを'''OF_IMAGE_COLOR'''に設定する。&lt;br /&gt;
** myImageは　RGBの3プレーンで構成される。&lt;br /&gt;
&lt;br /&gt;
;Antクラス&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Ant {&lt;br /&gt;
public:&lt;br /&gt;
	int row;&lt;br /&gt;
	int col;&lt;br /&gt;
	ofColor bcolor; // antの現在位置の色&lt;br /&gt;
	ofColor tcolor;  // antの軌跡の色&lt;br /&gt;
	int dir;&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; ofApp.cpp&lt;br /&gt;
* アリは、色のないフィールドにいると、自分の軌跡色をmyImageにセルに設定する。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//--------------------------------------------------------------&lt;br /&gt;
void ofApp::setup(){&lt;br /&gt;
	ofBackground(0, 0, 0);&lt;br /&gt;
	ofSetFrameRate(30);&lt;br /&gt;
&lt;br /&gt;
	myImage.allocate(WIDTH, HEIGHT, OF_IMAGE_COLOR); //ofImageをカラーモードで割当&lt;br /&gt;
	pixels = myImage.getPixels().getData();&lt;br /&gt;
	for (int i = 0; i &amp;lt; WIDTH * HEIGHT * 3 ; i++) { //RGB 3 planeのピクセル&lt;br /&gt;
		pixels[i] = 0;&lt;br /&gt;
	}&lt;br /&gt;
	for (int i = 0; i &amp;lt; WIDTH; i++) {&lt;br /&gt;
		for (int j = 0; j &amp;lt; HEIGHT; j++) {&lt;br /&gt;
			field[i][j] = 0;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	myImage.update();&lt;br /&gt;
&lt;br /&gt;
	for (int i = 0; i &amp;lt; ANTS_NUM; i++) {&lt;br /&gt;
		ants[i].row = int(ofRandom(WIDTH));&lt;br /&gt;
		ants[i].col = int(ofRandom(HEIGHT));&lt;br /&gt;
		ants[i].bcolor = ofColor(ofRandom(0, 255), ofRandom(0, 255), ofRandom(0, 255) );&lt;br /&gt;
		ants[i].tcolor = ofColor(ofRandom(0, 255) , ofRandom(0, 255) , ofRandom(0, 255) );&lt;br /&gt;
		ants[i].dir = i % 4;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//--------------------------------------------------------------&lt;br /&gt;
void ofApp::update(){&lt;br /&gt;
	for (int i = 0; i &amp;lt; ANTS_NUM; i++) { //アリの個体&lt;br /&gt;
		for(int j = 0; j &amp;lt; DRAW_RATE; j++){ // 描画間隔&lt;br /&gt;
			if(field[ants[i].row][ants[i].col] == 1){ //fieldに色があるとき&lt;br /&gt;
				ants[i].dir = ( ants[i].dir + 1 ) % 4; &lt;br /&gt;
				field[ants[i].row][ants[i].col] = 0;&lt;br /&gt;
				pixels[ants[i].col * 3 * WIDTH + ants[i].row * 3] = 0; // R値&lt;br /&gt;
				pixels[ants[i].col * 3 * WIDTH + ants[i].row * 3 + 1] = 0; // G値&lt;br /&gt;
				pixels[ants[i].col * 3 * WIDTH + ants[i].row * 3 + 2] = 0; // B値&lt;br /&gt;
			} else { //fieldに色がないとき&lt;br /&gt;
				ants[i].dir = ( ants[i].dir + 3 ) % 4;&lt;br /&gt;
				field[ants[i].row][ants[i].col] = 1;&lt;br /&gt;
				pixels[ants[i].col * 3 * WIDTH + ants[i].row * 3] = ants[i].tcolor.r; // R値&lt;br /&gt;
				pixels[ants[i].col * 3 * WIDTH + ants[i].row * 3 + 1] = ants[i].tcolor.g; // G値&lt;br /&gt;
				pixels[ants[i].col * 3 * WIDTH + ants[i].row * 3 + 2] = ants[i].tcolor.b; // B値&lt;br /&gt;
			}&lt;br /&gt;
			switch(ants[i].dir)&lt;br /&gt;
			{&lt;br /&gt;
			case 0:  // 東（X軸の正)へ進む&lt;br /&gt;
				ants[i].row += 1;&lt;br /&gt;
				break;&lt;br /&gt;
			case 1:  // 南（Y軸の正)へ進む&lt;br /&gt;
				ants[i].col += 1;&lt;br /&gt;
				break;&lt;br /&gt;
			case 2:  // 西（X軸の負)へ進む&lt;br /&gt;
				ants[i].row -= 1;&lt;br /&gt;
				break;&lt;br /&gt;
			case 3:  // 北（Y軸の負)へ進む&lt;br /&gt;
				ants[i].col -= 1;&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
			ants[i].row = (ants[i].row + WIDTH) % WIDTH; // X方向境界処理&lt;br /&gt;
			ants[i].col = (ants[i].col + HEIGHT) % HEIGHT; // Y方向境界処理&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	myImage.update();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//--------------------------------------------------------------&lt;br /&gt;
void ofApp::draw(){&lt;br /&gt;
	ofSetColor(255, 255, 255); // 描画色をリセット&lt;br /&gt;
	ofSetRectMode(OF_RECTMODE_CORNER);&lt;br /&gt;
	myImage.draw(0, 0, WIDTH * FIELD_RATE, HEIGHT * FIELD_RATE); // fieldの描画&lt;br /&gt;
	ofSetRectMode(OF_RECTMODE_CENTER);&lt;br /&gt;
	for (int i = 0; i &amp;lt; ANTS_NUM; i++) {// antの描画&lt;br /&gt;
		ofSetColor(ants[i].bcolor);&lt;br /&gt;
		ofRect(ants[i].row * FIELD_RATE, ants[i].col * FIELD_RATE, FIELD_RATE, FIELD_RATE);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 動的配列vectorの利用 ==&lt;br /&gt;
アリは、初めはいないが、マウスクリックした場所にAntインスタンスが動的に現れる。&lt;br /&gt;
&lt;br /&gt;
*動的配列（vector）は、定義時に、配列の要素数を決めなくてもよい。プログラム実行中に動的に追加や削除ができる。&lt;br /&gt;
従来は、予め配列数を決めて、例えば&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
クラス名 インスタンス名[100]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
と宣言していたが、vectorでは。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vector &amp;lt;クラス名&amp;gt; インスタンス名 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
と宣言し、配列の個数は、動的に追加、削除できる。&lt;br /&gt;
&lt;br /&gt;
今回の例では、&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ant ants[100];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
とするところを&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vector &amp;lt;Ant&amp;gt; ants;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
とすると、アリを後から追加できる。&lt;br /&gt;
配列の個数（大きさは）&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ants.size()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
で参照できる。&lt;br /&gt;
&lt;br /&gt;
＃define文を使って、文字列を一気に置き換えることができる。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define ANTS_NUM ants.size()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
インスタンスを追加するには、&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ants.push_back()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
を使う。&lt;br /&gt;
&lt;br /&gt;
マウスクリックした位置に新しいアリを生成する部分は以下のとおり。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oid ofApp::mouseReleased(int x, int y, int button){&lt;br /&gt;
	Ant a; //新しくアリのインスタンスを作成&lt;br /&gt;
	a.row = mouseX * WIDTH / ofGetWidth(); //マウスの位置に配置&lt;br /&gt;
	a.col = mouseY * HEIGHT / ofGetHeight();&lt;br /&gt;
	a.bcolor = ofColor(ofRandom(0, 255), ofRandom(0, 255), ofRandom(0, 255) ); //色をランダムに選ぶ&lt;br /&gt;
	a.tcolor = ofColor(ofRandom(0, 255) , ofRandom(0, 255) , ofRandom(0, 255) );&lt;br /&gt;
	a.dir = mouseX % 4; //方向を決める&lt;br /&gt;
	ants.push_back(a); // 生成したaをantsに追加&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
すべての要素を削除するには、&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ants.clear()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
とする。&lt;br /&gt;
&lt;br /&gt;
Cを押すと、アリと画面をクリアする場合&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void ofApp::keyReleased(int key){&lt;br /&gt;
	if( key == 'C'){&lt;br /&gt;
		ants.clear();&lt;br /&gt;
		for (int i = 0; i &amp;lt; WIDTH * HEIGHT * 3 ; i++) { //RGB 3 planeのピクセル&lt;br /&gt;
			pixels[i] = 0;&lt;br /&gt;
		}&lt;br /&gt;
		for (int i = 0; i &amp;lt; WIDTH; i++) {&lt;br /&gt;
			for (int j = 0; j &amp;lt; HEIGHT; j++) {&lt;br /&gt;
				field[i][j] = 0;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		myImage.update();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kuha</name></author>	</entry>

	</feed>