ひとり三目並べ
練習で三目並べを作っている途中です。
そのうち対Comを実装したい…
♥0 |
Line 74 |
Modified 2009-11-30 23:02:12 |
MIT License
archived:2017-03-20 03:47:28
ActionScript3 source code
/**
* Copyright takuya1021 ( http://wonderfl.net/user/takuya1021 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/vc9j
*/
//練習で三目並べを作っている途中です。
//そのうち対Comを実装したい…
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.display.StageScaleMode;
import flash.text.TextField;
[SWF(width="400",height="400",backgroundColor="#f0f0f0")]
public class test extends Sprite {
public function test() {
// write as3 code here..
var table:Array = [[0,0,0],[0,0,0],[0,0,0]];
var x:int;
var y:int;
var turn:int = 1;
for(var i:int = 0; i<4;i++) {
graphics.beginFill(0x008000);
graphics.drawRect(i*60,0,10,190);
graphics.endFill();
}
for(i = 0; i<4;i++) {
graphics.beginFill(0x008000);
graphics.drawRect(0,i*60,180,10);
graphics.endFill();
}
var tf:TextField = new TextField();
stage.addEventListener( MouseEvent.MOUSE_DOWN, function(e :MouseEvent) :void {
x=Math.floor((mouseX-5)/60);
y=Math.floor((mouseY-5)/60);
if((x>=0) && (x<=2) && (y>=0) && (y<=2) && (table[y][x] == 0)){
table[y][x] = turn;
if(turn == 1){
graphics.lineStyle( 6, 0xEA0000 );
graphics.drawCircle(x*60+35,y*60+35,20);
} else if(turn == -1){
graphics.lineStyle( 6, 0x0000EA );
graphics.moveTo(x*60+20,y*60+20);
graphics.lineTo(x*60+50,y*60+50);
graphics.moveTo(x*60+50,y*60+20);
graphics.lineTo(x*60+20,y*60+50);
}
turn *=-1;
tf.text = "x=" + x + " y=" + y + "\n";
for(i=0;i<3;i++){
for(var j:int=0;j<3;j++){
tf.appendText(table[i][j]);
}
tf.appendText("\n");
}
tf.appendText(f(table)+"\n");
addChild(tf);
if(f(table)!=0){
tf.text = (f(table)==1?"maru":"batu") + " win!"
addChild(tf);
}
}
});
}
private function f(table:Array):int{
for(var i:int = 0;i<3;i++) {
if ((table[i][0] == table[i][1]) && (table[i][0] == table[i][2]) && table[i][0]!=0){
return table[i][0];
}
if ((table[0][i] == table[1][i]) && (table[0][i] == table[2][i]) && table[0][i]!=0){
return table[0][i];
}
}
if ((table[0][0] == table[1][1]) && (table[0][0] == table[2][2]) && table[0][0]!=0){
return table[0][0];
}
if ((table[0][2] == table[1][1]) && (table[0][2] == table[2][0]) && table[0][2]!=0){
return table[0][2];
}
return 0;
}
}
}