Changeset 14253
- Timestamp:
- 06/19/08 16:05:24 (5 years ago)
- Location:
- lang/actionscript/FPazzle/trunk/src
- Files:
-
- 2 added
- 3 modified
-
FPazzle.mxml (modified) (1 diff)
-
net/suztomo/FPazzle/FBoard.as (modified) (4 diffs)
-
net/suztomo/FPazzle/FPiece.as (modified) (6 diffs)
-
net/suztomo/FPazzle/PazzleGroup.as (added)
-
net/suztomo/FPazzle/PazzleMap.as (added)
Legend:
- Unmodified
- Added
- Removed
-
lang/actionscript/FPazzle/trunk/src/FPazzle.mxml
r14240 r14253 14 14 } 15 15 16 17 16 ]]> 18 17 </mx:Script> -
lang/actionscript/FPazzle/trunk/src/net/suztomo/FPazzle/FBoard.as
r14240 r14253 12 12 private var x_num:uint, y_num:uint; 13 13 private var p_width:Number, p_height:Number; 14 private static var answerDiff:Number =5; 14 15 15 public var pieces: Array;16 public var pieces:PazzleMap; 16 17 17 18 public function FBoard(_x_num:uint, _y_num:uint) … … 24 25 super(); 25 26 26 pieces = new Array();27 pieces = new PazzleMap(x_num, y_num); 27 28 } 28 29 … … 44 45 } 45 46 46 pieces. push(piece);47 pieces.setElement(_x_index, _y_index, piece); 47 48 } 48 49 … … 50 51 { 51 52 var min_x:Number = p_width, min_y:Number = p_height; 52 var range:Number = 600;53 var range:Number = 400; 53 54 for (var i:uint=0; i < x_num; i++) { 54 55 for (var j:uint=0; j < y_num; j++) { 55 putPiece(min_x + range*Math.random(), min_y + range*Math.random(), i, j);56 putPiece(min_x + range*Math.random(), min_y + range*Math.random(), j, i); 56 57 } 57 58 } 58 59 } 59 60 61 public function isAnswer():Boolean 62 { 63 var tmp1:FPiece, tmp2:FPiece; 64 65 for (var i:uint = 0; i<y_num; i++) { 66 for (var j:uint = 0; j<x_num; j++) { 67 tmp1 = pieces.getElement(j, i) as FPiece; 68 if (tmp1.rotation != 0) return false; 69 70 if (j != x_num-1) { 71 tmp2 = pieces.getElement(j+1, i) as FPiece; 72 if (Math.abs(tmp1.x + p_width - tmp2.x) > answerDiff 73 || Math.abs(tmp1.y - tmp2.y) > answerDiff){ 74 return false; 75 } 76 } 77 78 if (i != y_num-1) { 79 tmp2 = pieces.getElement(j, i+1) as FPiece; 80 if (Math.abs(tmp1.x - tmp2.x) > answerDiff 81 || Math.abs(tmp1.y + p_height - tmp2.y) > answerDiff){ 82 return false; 83 } 84 } 85 } 86 } 87 return true; 88 } 60 89 } 61 90 } -
lang/actionscript/FPazzle/trunk/src/net/suztomo/FPazzle/FPiece.as
r14240 r14253 1 1 package net.suztomo.FPazzle 2 2 { 3 import mx.controls.*; 3 4 import flash.display.*; 4 5 import flash.events.*; … … 13 14 private var p_width:Number, p_height:Number; 14 15 private var x_index:uint, y_index:uint; 15 16 private var board:FBoard; 16 17 17 18 public function FPiece(_pieceImage:BitmapData, _p_width:Number, _p_height:Number, _x_index:uint = 0, _y_index:uint = 0) … … 25 26 y_index = _y_index; 26 27 27 this.addEventListener(MouseEvent.MOUSE_DOWN, onClick); 28 this.addEventListener(MouseEvent.MOUSE_UP, onRelese); 28 addEventListener(MouseEvent.MOUSE_DOWN, onClick); 29 addEventListener(MouseEvent.MOUSE_UP, onRelese); 30 addEventListener(Event.ADDED, onAdded); 31 /* 29 32 graphics.beginFill(0x551199, 1); 30 graphics.drawRect(- p_width/2, - p_height/2, p_width, p_height); 33 graphics.drawRect(- p_width/2, - p_height/2, p_width, p_height);*/ 31 34 //addChild(new RotateController(this)); 35 setPazzleImage(); 32 36 33 setPazzleImage();34 37 } 35 38 … … 48 51 } 49 52 53 private function onAdded(event:Event):void 54 { 55 board = parent as FBoard; 56 } 57 50 58 private function onClick(event:Event):void 51 59 { … … 57 65 this.stopDrag(); 58 66 snap(); 67 if (board.isAnswer()) { 68 Alert.show("Completed"); 69 } 59 70 } 60 71 … … 71 82 var y_snap:Number; 72 83 73 for (i=0; i< parent.numChildren; i++) {84 for (i=0; i<board.numChildren; i++) { 74 85 tmp = parent.getChildAt(i); 75 86 x_snap = 0;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)