砂ゲー2!
forked from 砂ゲー (diff: 523)
ActionScript3 source code
/**
* Copyright akamario ( http://wonderfl.net/user/akamario )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/1eui
*/
// forked from kuma360's 砂ゲー
//vertion 1.0(?)
package
{
import com.bit101.components.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.net.navigateToURL;
import flash.net.URLRequest;
import flash.net.URLVariables;
[SWF ( width = 465, height = 465, frameRate = 60 )];
public class Main extends Sprite
{
private var _CANVAS:BitmapData = new BitmapData ( stage.stageWidth , stage.stageHeight , false , 0 ) ;
//宣伝用//////////////////////
private var _S0:PushButton ;
/////////////////////////////
private var _E0:PushButton ;
private var _E1:PushButton ;
private var _E2:PushButton ;
private var _E3:PushButton ;
private var _B0:PushButton ;
private var _B1:PushButton ;
private var _B2:PushButton ;
private var _B3:PushButton ;
private var _B4:PushButton ;
private var _B5:PushButton ;
private var _B6:PushButton ;
private var _B7:PushButton ;
private var _B8:PushButton ;
private var _B9:PushButton ;
private var _B10:PushButton ;
private var _B11:PushButton ;
private var _B12:PushButton ;
private var _CLICK:Boolean = false ;
private var _COLOR:uint = 0x836034;
private var _CSWIT:int
private var _DSWIT:int
private var _BX:int = 0 ;
private var _BY:int = 0 ;
public function Main():void {
addChild ( new Bitmap ( _CANVAS ) ) ;
//宣伝用////////////////////////////////////////////////////
// _S0 = new PushButton ( this, 465-100 , 0, "Ad:kuma-flashgame" ) ;
// _S0.addEventListener ( MouseEvent.CLICK , function ():void { var url:URLRequest = new URLRequest ( "http://kuma-flashgame.blogspot.com/" ) ; navigateToURL( url ); } ) ;
//////////////////////////////////////////////////////////
_E0 = new PushButton ( this, 25 , 0, "RESET" ) ;
_E1 = new PushButton ( this, 125 , 0, "SAND OFF" ) ;
_E2 = new PushButton ( this, 225 , 0, "RAIN OFF" ) ;
_E3 = new PushButton ( this, 325 , 0, "ON" ) ;
_B0 = new PushButton ( this, 25 , 25, "METAL" ) ;
_B1 = new PushButton ( this, 125 , 25, "WALL" ) ;
_B2 = new PushButton ( this, 225 , 25, "SAND" ) ;
_B3 = new PushButton ( this, 325 , 25, "WATER" ) ;
_B4 = new PushButton ( this, 25 , 45, "LAVA" ) ;
_B5 = new PushButton ( this, 125 , 45, "Wood" ) ;
_B6 = new PushButton ( this, 225 , 45, "SAND2" ) ;
_B7 = new PushButton ( this, 325 , 45, "ICE" ) ;
_B8 = new PushButton ( this, 25 , 65, "FIRE" ) ;
_B9 = new PushButton ( this, 125 , 65, "AIR" ) ;
_B10 = new PushButton ( this, 225 , 65, "THUNDER" ) ;
_B11 = new PushButton ( this, 325 , 65, "PAPER" ) ;
_B12 = new PushButton ( this, 25 , 85, "BOMB" ) ;
_B1.enabled = false ;
_E0.addEventListener ( MouseEvent.CLICK , function ():void { _CSWIT = 1 ; _E0.enabled = false ; } ) ;
_E1.addEventListener ( MouseEvent.CLICK , function ():void { _CSWIT = 2 ; _E1.enabled = false ; _E3.enabled = true ; } ) ;
_E2.addEventListener ( MouseEvent.CLICK , function ():void { _DSWIT = 1 ; _E2.enabled = false ; _E3.enabled = true ; } ) ;
_E3.addEventListener ( MouseEvent.CLICK , function ():void { _CSWIT = 0 ; _DSWIT = 0 ; _E3.enabled = true ; } ) ;
_B0.addEventListener ( MouseEvent.CLICK , function ():void { _COLOR = 0x808080 ; _B0.enabled = false ; _B1.enabled = true ; _B2.enabled = true ; _B3.enabled = true ; _B4.enabled = true ; _B5.enabled = true ; _B6.enabled = true ; _B7.enabled = true ; _B8.enabled = true ; _B9.enabled = true ; _B10.enabled = true ; _B11.enabled = true ; _B12.enabled = true ; } ) ;
_B1.addEventListener ( MouseEvent.CLICK , function ():void { _COLOR = 0x836034 ; _B0.enabled = true ; _B1.enabled = false ; _B2.enabled = true ; _B3.enabled = true ; _B4.enabled = true ; _B5.enabled = true ; _B6.enabled = true ; _B7.enabled = true ; _B8.enabled = true ; _B9.enabled = true ; _B10.enabled = true ; _B11.enabled = true ; _B12.enabled = true ; } ) ;
_B2.addEventListener ( MouseEvent.CLICK , function ():void { _COLOR = 0xF7E779 ; _B0.enabled = true ; _B1.enabled = true ; _B2.enabled = false ; _B3.enabled = true ; _B4.enabled = true ; _B5.enabled = true ; _B6.enabled = true ; _B7.enabled = true ; _B8.enabled = true ; _B9.enabled = true ; _B10.enabled = true ; _B11.enabled = true ; _B12.enabled = true ; } ) ;
_B3.addEventListener ( MouseEvent.CLICK , function ():void { _COLOR = 0x80A2F0 ; _B0.enabled = true ; _B1.enabled = true ; _B2.enabled = true ; _B3.enabled = false ; _B4.enabled = true ; _B5.enabled = true ; _B6.enabled = true ; _B7.enabled = true ; _B8.enabled = true ; _B9.enabled = true ; _B10.enabled = true ; _B11.enabled = true ; _B12.enabled = true ; } ) ;
_B4.addEventListener ( MouseEvent.CLICK , function ():void { _COLOR = 0xF08280 ; _B0.enabled = true ; _B1.enabled = true ; _B2.enabled = true ; _B3.enabled = true ; _B4.enabled = false ; _B5.enabled = true ; _B6.enabled = true ; _B7.enabled = true ; _B8.enabled = true ; _B9.enabled = true ; _B10.enabled = true ; _B11.enabled = true ; _B12.enabled = true ; } ) ;
_B5.addEventListener ( MouseEvent.CLICK , function ():void { _COLOR = 0x10F270 ; _B0.enabled = true ; _B1.enabled = true ; _B2.enabled = true ; _B3.enabled = true ; _B4.enabled = true ; _B5.enabled = false ; _B6.enabled = true ; _B7.enabled = true ; _B8.enabled = true ; _B9.enabled = true ; _B10.enabled = true ; _B11.enabled = true ; _B12.enabled = true ; } ) ;
_B6.addEventListener ( MouseEvent.CLICK , function ():void { _COLOR = 0xF0A200 ; _B0.enabled = true ; _B1.enabled = true ; _B2.enabled = true ; _B3.enabled = true ; _B4.enabled = true ; _B5.enabled = true ; _B6.enabled = false ; _B7.enabled = true ; _B8.enabled = true ; _B9.enabled = true ; _B10.enabled = true ; _B11.enabled = true ; _B12.enabled = true ; } ) ;
_B7.addEventListener ( MouseEvent.CLICK , function ():void { _COLOR = 0xD0F2F0 ; _B0.enabled = true ; _B1.enabled = true ; _B2.enabled = true ; _B3.enabled = true ; _B4.enabled = true ; _B5.enabled = true ; _B6.enabled = true ; _B7.enabled = false ; _B8.enabled = true ; _B9.enabled = true ; _B10.enabled = true ; _B11.enabled = true ; _B12.enabled = true ; } ) ;
_B8.addEventListener ( MouseEvent.CLICK , function ():void { _COLOR = 0xF02220 ; _B0.enabled = true ; _B1.enabled = true ; _B2.enabled = true ; _B3.enabled = true ; _B4.enabled = true ; _B5.enabled = true ; _B6.enabled = true ; _B7.enabled = true ; _B8.enabled = false ; _B9.enabled = true ; _B10.enabled = true ; _B11.enabled = true ; _B12.enabled = true ; } ) ;
_B9.addEventListener ( MouseEvent.CLICK , function ():void { _COLOR = 0x404450 ; _B0.enabled = true ; _B1.enabled = true ; _B2.enabled = true ; _B3.enabled = true ; _B4.enabled = true ; _B5.enabled = true ; _B6.enabled = true ; _B7.enabled = true ; _B8.enabled = true ; _B9.enabled = false ; _B10.enabled = true ; _B11.enabled = true ; _B12.enabled = true ; } ) ;
_B10.addEventListener ( MouseEvent.CLICK , function ():void { _COLOR = 0xE0E034 ; _B0.enabled = true ; _B1.enabled = true ; _B2.enabled = true ; _B3.enabled = true ; _B4.enabled = true ; _B5.enabled = true ; _B6.enabled = true ; _B7.enabled = true ; _B8.enabled = true ; _B9.enabled = true ; _B10.enabled = false ; _B11.enabled = true ; _B12.enabled = true ; } ) ;
_B11.addEventListener ( MouseEvent.CLICK , function ():void { _COLOR = 0xEEEEEE ; _B0.enabled = true ; _B1.enabled = true ; _B2.enabled = true ; _B3.enabled = true ; _B4.enabled = true ; _B5.enabled = true ; _B6.enabled = true ; _B7.enabled = true ; _B8.enabled = true ; _B9.enabled = true ; _B10.enabled = true ; _B11.enabled = false ; _B12.enabled = true ; } ) ;
_B12.addEventListener ( MouseEvent.CLICK , function ():void { _COLOR = 0x3580A3 ; _B0.enabled = true ; _B1.enabled = true ; _B2.enabled = true ; _B3.enabled = true ; _B4.enabled = true ; _B5.enabled = true ; _B6.enabled = true ; _B7.enabled = true ; _B8.enabled = true ; _B9.enabled = true ; _B10.enabled = true ; _B11.enabled = true ; _B12.enabled = false ; } ) ;
stage.addEventListener ( MouseEvent.MOUSE_DOWN , function ():void { _CLICK = true ; } ) ;
stage.addEventListener ( MouseEvent.MOUSE_UP , function ():void { _CLICK = false; } ) ;
addEventListener ( Event.ENTER_FRAME , RUN ) ;
}
public function RUN ( e:Event ):void {
_CANVAS.lock() ;
if (_CSWIT == 1){
_CANVAS.fillRect ( new Rectangle ( 0 , 0 , 500 , 500 ) , 0 ) ;
_CSWIT = 0 ;
_E0.enabled = true ;
}
if ( _CSWIT != 2 ){
var CF:int;
////////////////////////////////////
for ( var I:int = 150 ; I < 325 ; ++ I ) {
if ( Math.random() < .1 ) {
_CANVAS.setPixel ( I , 30 , 0xF7E779 ) ;
}
}
_E1.enabled = true ;
}
if (_DSWIT != 1){
for ( var IX:int = 0 ; IX < 450 ; ++ IX ) {
if ( Math.random() < .1/2 ) {
_CANVAS.setPixel ( IX , 30 , 0x80A2F0 ) ;
}
}
_E2.enabled = true ;
}
////////////////////////////////////
if ( _CLICK && 60 < mouseY && 60 < _BY ) {
for ( var J:int = 0 ; J < 20 ; ++ J ) {
var R:Number = J / 20 ;
_CANVAS.fillRect ( new Rectangle ( _BX * R + mouseX * ( 1 - R ) , _BY * R + mouseY * ( 1 - R ) , 5 , 5 ) , _COLOR ) ;
}
}
_BX = mouseX ;
_BY = mouseY ;
////////////////////////////////////
for ( var X:int = 0 ; X < _CANVAS.width ; ++ X ) {
for ( var Y:int = _CANVAS.height - 1 ; Y >= 0 ; -- Y ) {
var C:uint = _CANVAS.getPixel ( X , Y ) ;
if ( C == 0 ) {
continue ;
}
if ( C == 0x808080 ) {
T = _CANVAS.getPixel ( X , Y + 1) ;
if ( T == 0xF02220 && Math.random() < .03 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X , Y + 1 , T ) ;
continue ;
}
}
if ( C == 0xF7E779 ) {
var T:uint ;
var T3:uint ;
var T4:uint ;
var T5:uint ;
var TX:int ;
var TY:int ;
var TY2:int ;
var TC:int ;
{//落下
T = _CANVAS.getPixel ( X , Y + 1 ) ;
if ( T == 0 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X , Y + 1 , C ) ;
continue ;
}
T = _CANVAS.getPixel ( X , Y + 1 ) ;
//水より砂の方が重い,適当な確率で場所の置換を許す。
if ( T == 0x80A2F0 && Math.random() < .5 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X , Y + 1 , C ) ;
continue ;
}
}
{//左右移動
TX = X + Math.floor ( Math.random() * 7 ) - 3 ;
TY = Y + Math.floor ( Math.random() * 7 ) - 3 ;
T = _CANVAS.getPixel ( TX , Y ) ;
if ( T == 0 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( TX , Y , C ) ;
continue ;
}
//水より砂の方が重い,適当な確率で場所の置換を許す。
if ( T == 0x80A2F0 && Math.random() < .8 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( TX , Y , C ) ;
continue ;
}
if ( T == 0x80f2F0 && Math.random() < .8 ) {
_CANVAS.setPixel ( X , Y , T) ;
_CANVAS.setPixel ( TX , Y , C) ;
continue ;
}
if ( T == 0x10F270 && Math.random() < .8 ) {
_CANVAS.setPixel ( X , Y+1 , T) ;
_CANVAS.setPixel ( X , Y , C) ;
continue ;
}
}
}
if ( C == 0x80A2F0 ) {
//80a2f0 : 通常の水
{//落下
T = _CANVAS.getPixel ( X , Y + 1 ) ;
if ( T == 0 || T == 0x404450 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X ,Y + 1 , C ) ;
continue ;
}
}
if ( T == 0xF02220) {
_CANVAS.setPixel ( X , Y , 0x404450 ) ;
_CANVAS.setPixel ( X ,Y + 1 , 0 ) ;
continue ;
}
{//左右移動
TX = X + Math.floor ( Math.random() * 7 ) - 3 ;
TY = Y + Math.floor ( Math.random() * 7 ) - 3 ;
T = _CANVAS.getPixel ( TX , Y ) ;
if ( T == 0 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( TX , Y , C ) ;
continue ;
}
}
if ( T == 0x80f2F0 && Math.random() < .8 ) {
_CANVAS.setPixel ( X , Y , T) ;
_CANVAS.setPixel ( X ,TY , C ) ;
continue ;
}
if ( T == 0 || T == 0xF02220) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X ,Y + 1 , C ) ;
continue ;
}
if ( T == 0x10F270 && Math.random() < .8 ) {
_CANVAS.setPixel ( X , Y+1 , T) ;
_CANVAS.setPixel ( X , Y , C) ;
continue ;
}
if ( T == 0x808080 && Math.random() * 7 < 0.1 ) {
TC = 0xF7E779
_CANVAS.setPixel ( X , Y , TC ) ;
_CANVAS.setPixel ( X , Y+1 , C ) ;
continue ;
}
if ( T == 0x202220 && Math.random() * 7 < 0.1 ) {
_CANVAS.setPixel ( X , Y , C ) ;
_CANVAS.setPixel ( X , Y+1 , C ) ;
continue ;
}
T = _CANVAS.getPixel ( X , Y + 1 ) ;
if ( T == 0xD0F2F0 && Math.random() * 7 < 0.1 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X , Y+1 , T ) ;
continue ;
}
T = _CANVAS.getPixel ( X + 1 , Y ) ;
if ( T == 0xD0F2F0 && Math.random() * 7 < 0.1 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X+1 , Y , T ) ;
continue ;
}
T = _CANVAS.getPixel ( X , Y - 1 ) ;
if ( T == 0xD0F2F0 && Math.random() * 7 < 0.1 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X , Y-1 , T ) ;
continue ;
}
T = _CANVAS.getPixel ( X - 1 , Y ) ;
if ( T == 0xD0F2F0 && Math.random() * 7 < 0.1 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X-1 , Y , T ) ;
continue ;
}
}
if ( C == 0x80F2F0 ) {
//{//左右移動
//TX = X + Math.floor ( Math.random() * 7 ) - 3 ;
//T = _CANVAS.getPixel ( TX , Y ) ;
//if ( T == 0 ) {
//_CANVAS.setPixel ( X , Y , T ) ;
//_CANVAS.setPixel ( TX , Y , C ) ;
//continue ;
//}
//}
}
if ( C == 0xF08280 ) {
{//落下
T = _CANVAS.getPixel ( X , Y + 1 ) ;
if ( T == 0 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X ,Y + 1 , C ) ;
continue ;
}
}
{//左右移動
TX = X + Math.floor ( Math.random() * 7 ) - 3 ;
TY = Y + Math.floor ( Math.random() * 7 ) - 3 ;
T = _CANVAS.getPixel ( TX , Y ) ;
if ( T == 0 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( TX , Y , C ) ;
continue ;
}
}
T = _CANVAS.getPixel ( X , Y + 1 ) ;
if ( T == 0xF7E779 && Math.random() * 7 < 0.7 ) {
_CANVAS.setPixel ( X , Y , C ) ;
_CANVAS.setPixel ( X , Y+1 , 0 ) ;
continue ;
}
if ( T == 0x808080 && Math.random() * 7 < 0.1 ) {
_CANVAS.setPixel ( X , Y , C ) ;
_CANVAS.setPixel ( X , Y+1 , 0 ) ;
continue ;
}
if ( T == 0x80A2F0 ) {
TC = 0xEEEEEE
_CANVAS.setPixel ( X , Y , TC ) ;
_CANVAS.setPixel ( X , Y+1 ,TC ) ;
continue ;
}
if ( T == 0xD0F2F0 ) {
TC = 0x80A2F1
_CANVAS.setPixel ( X , Y , TC ) ;
_CANVAS.setPixel ( X , Y+1 ,TC ) ;
continue ;
}
if ( T == 0xEEEEEE ) {
_CANVAS.setPixel ( X , Y , C ) ;
_CANVAS.setPixel ( X , Y+1 , 0 ) ;
continue ;
}
T = _CANVAS.getPixel ( X , Y - 1 ) ;
if ( T == 0xF7E779 && Math.random() * 7 < 0.7 ) {
_CANVAS.setPixel ( X , Y , C ) ;
_CANVAS.setPixel ( X , Y -1, 0 ) ;
continue ;
}
if ( T == 0x80A2F0 ) {
TC = 0xEEEEEE
_CANVAS.setPixel ( X , Y , TC ) ;
_CANVAS.setPixel ( X , Y-1 ,TC ) ;
continue ;
}
}
if ( C == 0xEEEEEE ) {
T = _CANVAS.getPixel ( X , Y + 1 ) ;
if ( T == 0x80A2F0 || T == 0xCCCCCC ) {
_CANVAS.setPixel ( X , Y , 0xCCCCCC ) ;
_CANVAS.setPixel ( X , Y + 1 , 0xCCCCCC ) ;
continue ;
}
T = _CANVAS.getPixel ( X , Y - 1 ) ;
if ( T == 0x80A2F0 || T == 0xCCCCCC ) {
_CANVAS.setPixel ( X , Y , 0xCCCCCC ) ;
_CANVAS.setPixel ( X , Y + 1 , 0xCCCCCC ) ;
continue ;
}
}
if ( C == 0xCCCCCC ) {
TX = X + Math.floor ( Math.random() * 3 ) - 1 ;
T = _CANVAS.getPixel ( X , Y + 1 ) ;
if ( T == 0 ) {
_CANVAS.setPixel ( X , Y , 0 ) ;
if (Math.random() * 1 < .1) {
_CANVAS.setPixel ( TX , Y + 1 , C ) ;
}else{
_CANVAS.setPixel ( X , Y + 1 , C ) ;
}
continue ;
}
if ( T == 0xF08280 ) {
_CANVAS.setPixel ( X , Y , 0 ) ;
_CANVAS.setPixel ( TX , Y + 1 , C ) ;
continue ;
}
if ( T == 0xF02220 ) {
_CANVAS.setPixel ( X , Y , 0 ) ;
_CANVAS.setPixel ( X , Y + 1 , C ) ;
continue ;
}
if ( T == 0x80A2F0 && Math.random() < .8 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( TX , Y+1 , C ) ;
continue ;
}
}
if ( C == 0xE0E034 ) {
var TX2:int ;
var T2:int ;
TX = X + Math.floor ( Math.random() * 7 ) - 3 ;
T = _CANVAS.getPixel ( TX , Y + 1 ) ;
T2 = _CANVAS.getPixel ( TX , Y + 2 ) ;
if ( T == 0 || T == 0x80A2F0 && T2 == 0 || T2 == 0x80A2f0 ) {
_CANVAS.setPixel ( X , Y , 0 ) ;
_CANVAS.setPixel ( TX , Y+2 , C ) ;
continue ;
}
if ( T == 0x808080 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X , Y+1 , C ) ;
continue ;
}
if ( T != 0 || T != 0x80A2F0) {
if (Math.random() < 0.5 ) {
_CANVAS.setPixel ( TX , Y , 0 ) ;
}
// _CANVAS.setPixel ( X+Math.random()*5-2 , Y+2 , C ) ;
continue ;
}
}
if ( C == 0x80A2F1 ) {
//80a2f1 : 融けた氷
{//落下
T = _CANVAS.getPixel ( X , Y + 1 ) ;
if ( T == 0 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X ,Y + 1 , C ) ;
continue ;
}
}
if ( T == 0xD0F2F0 && Math.random() < .01 ) {
_CANVAS.setPixel ( X , Y+1 , C) ;
_CANVAS.setPixel ( X , Y , C) ;
continue ;
}
{//左右移動
TX = X + Math.floor ( Math.random() * 7 ) - 3 ;
TY = Y + Math.floor ( Math.random() * 7 ) - 3 ;
T = _CANVAS.getPixel ( TX , Y ) ;
if ( T == 0 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( TX , Y , C ) ;
continue ;
}
}
if ( T == 0x80f2F0 && Math.random() < .8 ) {
_CANVAS.setPixel ( X , Y , T) ;
_CANVAS.setPixel ( X ,TY , C ) ;
continue ;
}
if ( T == 0x10F270 && Math.random() < .8 ) {
_CANVAS.setPixel ( X , Y+1 , T) ;
_CANVAS.setPixel ( X , Y , C) ;
continue ;
}
if ( T == 0x808080 && Math.random() * 7 < 0.1 ) {
TC = 0xF7E779
_CANVAS.setPixel ( X , Y , TC ) ;
_CANVAS.setPixel ( X , Y+1 , C ) ;
continue ;
}
} if ( C == 0xF0A200 ) {
{//落下
T = _CANVAS.getPixel ( X , Y + 2 ) ;
if ( T == 0 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X , Y + 2 , C ) ;
continue ;
}
}
{//左右移動
TX = X + Math.floor ( Math.random() * 7 ) - 3 ;
T = _CANVAS.getPixel ( TX , Y ) ;
if ( T == 0 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( TX , Y , C ) ;
continue ;
}
T = _CANVAS.getPixel ( X , Y + 1) ;
if ( T == 0x80A2F0 && Math.random() < .8 ) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X , Y+1 , C ) ;
continue ;
}
}
}
if ( C == 0xd0f2f0 ) {
{//落下
T = _CANVAS.getPixel ( X , Y + 1 ) ;
if ( T == 0xF02220 ) {
_CANVAS.setPixel ( X , Y , 0x80A2F0 ) ;
_CANVAS.setPixel ( X , Y + 1 , 0 ) ;
continue ;
}
}
}
if ( C == 0x3580A3 ) {
{//落下
T = _CANVAS.getPixel ( X , Y + 1 ) ;
if ( T == 0 || T == 0xF02220 || T == 0x404450) {
_CANVAS.setPixel ( X , Y , T ) ;
_CANVAS.setPixel ( X , Y + 1 , C ) ;
continue ;
}else{
T2 = _CANVAS.getPixel ( X - 1 , Y) ;
T3 = _CANVAS.getPixel ( X + 1 , Y) ;
T4 = _CANVAS.getPixel ( X , Y - 1 ) ;
TX = X + Math.floor ( Math.random() * 7 ) - 3 ;
TY = Y + Math.floor ( Math.random() * 7 ) - 3 ;
T5 = _CANVAS.getPixel ( TX , TY ) ;
_CANVAS.setPixel ( TX , TY , T ) ;
_CANVAS.setPixel ( X , Y , T5 ) ;
TX = X + Math.floor ( Math.random() * 7 ) - 3 ;
TY = Y + Math.floor ( Math.random() * 7 ) - 3 ;
T5 = _CANVAS.getPixel ( TX , TY ) ;
_CANVAS.setPixel ( TX , TY , T2 ) ;
_CANVAS.setPixel ( X , Y , T5 ) ;
TX = X + Math.floor ( Math.random() * 7 ) - 3 ;
TY = Y + Math.floor ( Math.random() * 7 ) - 3 ;
T5 = _CANVAS.getPixel ( TX , TY ) ;
_CANVAS.setPixel ( TX , TY , T3 ) ;
_CANVAS.setPixel ( X , Y , T5 ) ;
TX = X + Math.floor ( Math.random() * 7 ) - 3 ;
TY = Y + Math.floor ( Math.random() * 7 ) - 3 ;
T5 = _CANVAS.getPixel ( TX , TY ) ;
_CANVAS.setPixel ( TX , TY , T4 ) ;
_CANVAS.setPixel ( X , Y , T5 ) ;
}
}
}
}
}
for ( X = 0 ; X < _CANVAS.width ; ++ X ) {
for ( Y = 30 ; Y < _CANVAS.height ; ++ Y ) {
C = _CANVAS.getPixel( X, Y ) ;
if ( C == 0xF02220 ) {
var DX:int;
{//浮上
T = _CANVAS.getPixel ( X, Y - 1) ;X
if ( T == 0 || T == C ) {
DX = Math.round ( Math.random() * 2 - 1 );
_CANVAS.setPixel ( X, Y , 0 ) ;
_CANVAS.setPixel ( X + DX, Y - 1, C ) ;
continue;
}
//
if ( T == 0xF7E779 || T == 0x836034 || T == 0xEEEEEE || T == 0x10F270 ) {
_CANVAS.setPixel ( X, Y, 0 ) ;
_CANVAS.setPixel ( X, Y - 1, C) ;
}
}
}
if ( C == 0x404450 ) {
{//浮上
T = _CANVAS.getPixel ( X, Y - 1) ;X
if ( Math.random() > .5 ) {
if ( T == 0 || T == C ) {
DX = Math.round ( Math.random() * 2 - 1 );
_CANVAS.setPixel ( X, Y , 0 ) ;
if ( Math.random() > .25 ) {
_CANVAS.setPixel ( X + DX, Y - 1, C ) ;
_CANVAS.setPixel ( X - DX, Y - 1, C ) ;
}
continue;
}
}
if ( T == 0x836034 || T == 0xD0F2F0 ) {
_CANVAS.setPixel ( X, Y , 0x80A2F0 ) ;
}
//
}
}
}
}
for ( X = 0 ; X < _CANVAS.width ; ++ X ) {
_CANVAS.setPixel ( X, 30, 0 ) ;
}
_CANVAS.unlock() ;
}
}
}