19 using System.Collections.Generic;
    56         public int[,] mMasuSts
    59             set { _mMasuSts = value; }
    61         public int[,] mMasuStsOld
    64             set { _mMasuStsOld = value; }
    66         public int[,] mMasuStsEnaB
    69             set { _mMasuStsEnaB = value; }
    71         public int[,] mMasuStsCntB
    74             set { _mMasuStsCntB = value; }
    76         public int[,] mMasuStsPassB
    79             set { _mMasuStsPassB = value; }
    84             set { _mMasuStsAnzB = value; }
    89             set { _mMasuPointB = value; }
    91         public int mMasuPointCntB
    94             set { _mMasuPointCntB = value; }
    96         public int mMasuBetCntB
    99             set { _mMasuBetCntB = value; }
   101         public int[,] mMasuStsEnaW
   104             set { _mMasuStsEnaW = value; }
   106         public int[,] mMasuStsCntW
   109             set { _mMasuStsCntW = value; }
   111         public int[,] mMasuStsPassW
   114             set { _mMasuStsPassW = value; }
   119             set { _mMasuStsAnzW = value; }
   124             set { _mMasuPointW = value; }
   126         public int mMasuPointCntW
   129             set { _mMasuPointCntW = value; }
   131         public int mMasuBetCntW
   134             set { _mMasuBetCntW = value; }
   139             set { _mMasuCnt = value; }
   141         public int mMasuCntMax
   144             set { _mMasuCntMax = value; }
   146         public int mMasuHistCur
   149             set { _mMasuHistCur = value; }
   154             set { _mMasuHist = value; }
   170             this.mMasuCnt = masuCnt;
   171             this.mMasuCntMax = masuMax;
   186             for (var i = 0; i < this.mMasuCntMax; i++) {
   187                 for (var j = 0; j < this.mMasuCntMax; j++) {
   203             for (var i = 0; i < (this.mMasuCntMax * this.mMasuCntMax); i++) {
   207             this.mMasuPointCntB = 0;
   208             this.mMasuPointCntW = 0;
   210             this.mMasuBetCntB = 0;
   211             this.mMasuBetCntW = 0;
   214             for (var i = 0; i < (this.mMasuCntMax * this.mMasuCntMax); i++) {
   217             this.mMasuHistCur = 0;
   218             Array.Copy(this.mMasuSts, this.mMasuStsOld, this.mMasuSts.Length);
   245             for (var i = 0; i < this.mMasuCnt; i++) {
   246                 for (var j = 0; j < this.mMasuCnt; j++) {
   248                     this.mMasuStsPassB[i,j] = 0;
   249                     this.mMasuStsAnzB[i,j].
reset();
   250                     this.mMasuStsPassW[i,j] = 0;
   251                     this.mMasuStsAnzW[i,j].
reset();
   260             this.mMasuHistCur = 0;
   261             Array.Copy(this.mMasuSts, this.mMasuStsOld, this.mMasuSts.Length);
   285             for (var i = 0; i < this.mMasuCnt; i++) {                               
   286                 for (var j = 0; j < this.mMasuCnt; j++) {
   288                         this.mMasuStsEnaB[i,j] = 0;
   289                         this.mMasuStsCntB[i,j] = 0;
   291                         this.mMasuStsEnaW[i,j] = 0;
   292                         this.mMasuStsCntW[i,j] = 0;
   297             loop = this.mMasuCnt * this.mMasuCnt;
   298             for (var i = 0; i < loop; i++) {                                        
   300                     this.mMasuPointB[i].x = 0;
   301                     this.mMasuPointB[i].y = 0;
   303                     this.mMasuPointW[i].x = 0;
   304                     this.mMasuPointW[i].y = 0;
   308                 this.mMasuPointCntB = 0;
   310                 this.mMasuPointCntW = 0;
   312             this.mMasuBetCntB = 0;
   313             this.mMasuBetCntW = 0;
   315             for (var i = 0; i < this.mMasuCnt; i++) {
   316                 for (var j = 0; j < this.mMasuCnt; j++) {
   328                         if ((cnt1 > 0) && (flg == 1) && (this.mMasuSts[cnt1 - 1,j] == color)) {
   335                         while ((cnt1 < (this.mMasuCnt - 1)) && (this.mMasuSts[cnt1 + 1,j] != 
ReversiConst.
REVERSI_STS_NONE && 
this.mMasuSts[cnt1 + 1,j] != color)) {
   340                         if ((cnt1 < (this.mMasuCnt - 1)) && (flg == 1) && (this.mMasuSts[cnt1 + 1,j] == color)) {
   347                         while ((cnt2 < (this.mMasuCnt - 1)) && (this.mMasuSts[i,cnt2 + 1] != 
ReversiConst.
REVERSI_STS_NONE && 
this.mMasuSts[i,cnt2 + 1] != color)) {
   352                         if ((cnt2 < (this.mMasuCnt - 1)) && (flg == 1) && (this.mMasuSts[i,cnt2 + 1] == color)) {
   364                         if ((cnt2 > 0) && (flg == 1) && (this.mMasuSts[i,cnt2 - 1] == color)) {
   372                         while (((cnt2 < (this.mMasuCnt - 1)) && (cnt1 > 0)) && (this.mMasuSts[cnt1 - 1,cnt2 + 1] != 
ReversiConst.
REVERSI_STS_NONE && 
this.mMasuSts[cnt1 - 1,cnt2 + 1] != color)) {
   378                         if (((cnt2 < (this.mMasuCnt - 1)) && (cnt1 > 0)) && (flg == 1) && (this.mMasuSts[cnt1 - 1,cnt2 + 1] == color)) {
   386                         while (((cnt2 > 0) && (cnt1 > 0)) && (this.mMasuSts[cnt1 - 1,cnt2 - 1] != 
ReversiConst.
REVERSI_STS_NONE && 
this.mMasuSts[cnt1 - 1,cnt2 - 1] != color)) {
   392                         if (((cnt2 > 0) && (cnt1 > 0)) && (flg == 1) && (this.mMasuSts[cnt1 - 1,cnt2 - 1] == color)) {
   400                         while (((cnt2 < (this.mMasuCnt - 1)) && (cnt1 < (this.mMasuCnt - 1))) && (this.mMasuSts[cnt1 + 1,cnt2 + 1] != 
ReversiConst.
REVERSI_STS_NONE && 
this.mMasuSts[cnt1 + 1,cnt2 + 1] != color)) {
   406                         if (((cnt2 < (this.mMasuCnt - 1)) && (cnt1 < (this.mMasuCnt - 1))) && (flg == 1) && (this.mMasuSts[cnt1 + 1,cnt2 + 1] == color)) {
   414                         while (((cnt2 > 0) && (cnt1 < (this.mMasuCnt - 1))) && (this.mMasuSts[cnt1 + 1,cnt2 - 1] != 
ReversiConst.
REVERSI_STS_NONE && 
this.mMasuSts[cnt1 + 1,cnt2 - 1] != color)) {
   420                         if (((cnt2 > 0) && (cnt1 < (this.mMasuCnt - 1))) && (flg == 1) && (this.mMasuSts[cnt1 + 1,cnt2 - 1] == color)) {
   426                                 this.mMasuStsEnaB[i,j] = 1;
   427                                 this.mMasuStsCntB[i,j] = count2;
   429                                 this.mMasuPointB[this.mMasuPointCntB].y = i;
   430                                 this.mMasuPointB[this.mMasuPointCntB].x = j;
   431                                 this.mMasuPointCntB++;
   433                                 this.mMasuStsEnaW[i,j] = 1;
   434                                 this.mMasuStsCntW[i,j] = count2;
   436                                 this.mMasuPointW[this.mMasuPointCntW].y = i;
   437                                 this.mMasuPointW[this.mMasuPointCntW].x = j;
   438                                 this.mMasuPointCntW++;
   441                             if (countMax < count2) countMax = count2;
   452             for (var i = 0; i < this.mMasuCnt; i++) {
   453                 for (var j = 0; j < this.mMasuCnt; j++) {
   455                         if (this.mMasuStsEnaB[i,j] != 0 && this.mMasuStsCntB[i,j] == countMax) {
   456                             this.mMasuStsEnaB[i,j] = 2;
   459                         if (this.mMasuStsEnaW[i,j] != 0 && this.mMasuStsCntW[i,j] == countMax) {
   460                             this.mMasuStsEnaW[i,j] = 2;
   488             for (flg = 0, cnt1 = x, cnt2 = y; cnt1 > 0;) {
   492                 } 
else if (this.mMasuSts[cnt2,cnt1 - 1] == color) {
   501                 for (rcnt1 = cnt1; rcnt1 < x; rcnt1++) {
   502                     this.mMasuSts[cnt2,rcnt1] = color;
   507             for (flg = 0, cnt1 = x, cnt2 = y; cnt1 < (this.mMasuCnt - 1);) {
   511                 } 
else if (this.mMasuSts[cnt2,cnt1 + 1] == color) {
   520                 for (rcnt1 = cnt1; rcnt1 > x; rcnt1--) {
   521                     this.mMasuSts[cnt2,rcnt1] = color;
   526             for (flg = 0, cnt1 = x, cnt2 = y; cnt2 > 0;) {
   530                 } 
else if (this.mMasuSts[cnt2 - 1,cnt1] == color) {
   539                 for (rcnt1 = cnt2; rcnt1 < y; rcnt1++) {
   540                     this.mMasuSts[rcnt1,cnt1] = color;
   545             for (flg = 0, cnt1 = x, cnt2 = y; cnt2 < (this.mMasuCnt - 1);) {
   549                 } 
else if (this.mMasuSts[cnt2 + 1,cnt1] == color) {
   558                 for (rcnt1 = cnt2; rcnt1 > y; rcnt1--) {
   559                     this.mMasuSts[rcnt1,cnt1] = color;
   564             for (flg = 0, cnt1 = x, cnt2 = y; cnt2 > 0 && cnt1 > 0;) {
   569                 } 
else if (this.mMasuSts[cnt2 - 1,cnt1 - 1] == color) {
   578                 for (rcnt1 = cnt2, rcnt2 = cnt1; (rcnt1 < y) && (rcnt2 < x); rcnt1++ , rcnt2++) {
   579                     this.mMasuSts[rcnt1,rcnt2] = color;
   584             for (flg = 0, cnt1 = x, cnt2 = y; cnt2 < (this.mMasuCnt - 1) && cnt1 > 0;) {
   589                 } 
else if (this.mMasuSts[cnt2 + 1,cnt1 - 1] == color) {
   598                 for (rcnt1 = cnt2, rcnt2 = cnt1; (rcnt1 > y) && (rcnt2 < x); rcnt1-- , rcnt2++) {
   599                     this.mMasuSts[rcnt1,rcnt2] = color;
   604             for (flg = 0, cnt1 = x, cnt2 = y; cnt2 > 0 && cnt1 < (this.mMasuCnt - 1);) {
   609                 } 
else if (this.mMasuSts[cnt2 - 1,cnt1 + 1] == color) {
   618                 for (rcnt1 = cnt2, rcnt2 = cnt1; (rcnt1 < y) && (rcnt2 > x); rcnt1++ , rcnt2--) {
   619                     this.mMasuSts[rcnt1,rcnt2] = color;
   624             for (flg = 0, cnt1 = x, cnt2 = y; cnt2 < (this.mMasuCnt - 1) && cnt1 < (this.mMasuCnt - 1);) {
   629                 } 
else if (this.mMasuSts[cnt2 + 1,cnt1 + 1] == color) {
   638                 for (rcnt1 = cnt2, rcnt2 = cnt1; (rcnt1 > y) && (rcnt2 > x); rcnt1-- , rcnt2--) {
   639                     this.mMasuSts[rcnt1,rcnt2] = color;
   658             if (min <= para && para <= max) ret = 0;
   680             for (var cnt = 0; cnt < this.mMasuPointCntB; cnt++) {
   685                 Array.Copy(this.mMasuSts, tmpMasu, this.mMasuSts.Length);
   686                 Array.Copy(this.mMasuStsEnaB, tmpMasuEnaB, this.mMasuStsEnaB.Length);
   687                 Array.Copy(this.mMasuStsEnaW, tmpMasuEnaW, this.mMasuStsEnaW.Length);
   689                 tmpY = this.mMasuPointB[cnt].y;
   690                 tmpX = this.mMasuPointB[cnt].x;
   697                     this.mMasuStsPassB[tmpY,tmpX] = 1;
   700                     this.mMasuStsAnzB[tmpY,tmpX].ownEdgeCnt++;
   701                     this.mMasuStsAnzB[tmpY,tmpX].goodPoint += 10000 * this.mMasuStsCntB[tmpY,tmpX];
   703                     this.mMasuStsAnzB[tmpY,tmpX].ownEdgeSideOneCnt++;
   705                         this.mMasuStsAnzB[tmpY,tmpX].goodPoint += 10 * this.mMasuStsCntB[tmpY,tmpX];
   707                         this.mMasuStsAnzB[tmpY,tmpX].badPoint += 100000;
   710                     this.mMasuStsAnzB[tmpY,tmpX].ownEdgeSideTwoCnt++;
   711                     this.mMasuStsAnzB[tmpY,tmpX].goodPoint += 1000 * this.mMasuStsCntB[tmpY,tmpX];
   713                     this.mMasuStsAnzB[tmpY,tmpX].ownEdgeSideThreeCnt++;
   714                     this.mMasuStsAnzB[tmpY,tmpX].goodPoint += 100 * this.mMasuStsCntB[tmpY,tmpX];
   716                     this.mMasuStsAnzB[tmpY,tmpX].ownEdgeSideOtherCnt++;
   717                     this.mMasuStsAnzB[tmpY,tmpX].goodPoint += 10 * this.mMasuStsCntB[tmpY,tmpX];
   721                 for (var i = 0; i < this.mMasuCnt; i++) {
   722                     for (var j = 0; j < this.mMasuCnt; j++) {
   726                             sum += this.mMasuStsCntW[i,j];                                  
   728                             if (this.mMasuStsAnzB[tmpY,tmpX].max < this.mMasuStsCntW[i,j]) this.mMasuStsAnzB[tmpY,tmpX].max = this.mMasuStsCntW[i,j];
   730                             if (this.mMasuStsCntW[i,j] < this.mMasuStsAnzB[tmpY,tmpX].min) this.mMasuStsAnzB[tmpY,tmpX].min = this.mMasuStsCntW[i,j];
   731                             this.mMasuStsAnzB[tmpY,tmpX].pointCnt++;                        
   733                                 this.mMasuStsAnzB[tmpY,tmpX].edgeCnt++;
   734                                 tmpBadPoint = 100000 * this.mMasuStsCntW[i,j];
   736                                 this.mMasuStsAnzB[tmpY,tmpX].edgeSideOneCnt++;
   739                                 this.mMasuStsAnzB[tmpY,tmpX].edgeSideTwoCnt++;
   740                                 tmpBadPoint = 1 * this.mMasuStsCntW[i,j];
   742                                 this.mMasuStsAnzB[tmpY,tmpX].edgeSideThreeCnt++;
   743                                 tmpBadPoint = 1 * this.mMasuStsCntW[i,j];
   745                                 this.mMasuStsAnzB[tmpY,tmpX].edgeSideOtherCnt++;
   746                                 tmpBadPoint = 1 * this.mMasuStsCntW[i,j];
   748                             if (tmpMasuEnaW[i,j] != 0) tmpBadPoint = 0;                 
   751                             sumOwn += this.mMasuStsCntB[i,j];                               
   753                             if (this.mMasuStsAnzB[tmpY,tmpX].ownMax < this.mMasuStsCntB[i,j]) this.mMasuStsAnzB[tmpY,tmpX].ownMax = this.mMasuStsCntB[i,j];
   755                             if (this.mMasuStsCntB[i,j] < this.mMasuStsAnzB[tmpY,tmpX].ownMin) this.mMasuStsAnzB[tmpY,tmpX].ownMin = this.mMasuStsCntB[i,j];
   756                             this.mMasuStsAnzB[tmpY,tmpX].ownPointCnt++;                 
   758                                 this.mMasuStsAnzB[tmpY,tmpX].ownEdgeCnt++;
   759                                 tmpGoodPoint = 100 * this.mMasuStsCntB[i,j];
   761                                 this.mMasuStsAnzB[tmpY,tmpX].ownEdgeSideOneCnt++;
   764                                 this.mMasuStsAnzB[tmpY,tmpX].ownEdgeSideTwoCnt++;
   765                                 tmpGoodPoint = 3 * this.mMasuStsCntB[i,j];
   767                                 this.mMasuStsAnzB[tmpY,tmpX].ownEdgeSideThreeCnt++;
   768                                 tmpGoodPoint = 2 * this.mMasuStsCntB[i,j];
   770                                 this.mMasuStsAnzB[tmpY,tmpX].ownEdgeSideOtherCnt++;
   771                                 tmpGoodPoint = 1 * this.mMasuStsCntB[i,j];
   773                             if (tmpMasuEnaB[i,j] != 0) tmpGoodPoint = 0;                    
   775                         if (tmpBadPoint != 0) this.mMasuStsAnzB[tmpY,tmpX].badPoint += tmpBadPoint;
   776                         if (tmpGoodPoint != 0) this.mMasuStsAnzB[tmpY,tmpX].goodPoint += tmpGoodPoint;
   783                     this.mMasuStsAnzB[tmpY,tmpX].avg = tmpD1 / tmpD2;
   790                     this.mMasuStsAnzB[tmpY,tmpX].ownAvg = tmpD1 / tmpD2;
   794                 Array.Copy(tmpMasu, this.mMasuSts, tmpMasu.Length);
   818             for (var cnt = 0; cnt < this.mMasuPointCntW; cnt++) {
   823                 Array.Copy(this.mMasuSts, tmpMasu, this.mMasuSts.Length);
   824                 Array.Copy(this.mMasuStsEnaB, tmpMasuEnaB, this.mMasuStsEnaB.Length);
   825                 Array.Copy(this.mMasuStsEnaW, tmpMasuEnaW, this.mMasuStsEnaW.Length);
   827                 tmpY = this.mMasuPointW[cnt].y;
   828                 tmpX = this.mMasuPointW[cnt].x;
   835                     this.mMasuStsPassW[tmpY,tmpX] = 1;
   838                     this.mMasuStsAnzW[tmpY,tmpX].ownEdgeCnt++;
   839                     this.mMasuStsAnzW[tmpY,tmpX].goodPoint += 10000 * this.mMasuStsCntW[tmpY,tmpX];
   841                     this.mMasuStsAnzW[tmpY,tmpX].ownEdgeSideOneCnt++;
   843                         this.mMasuStsAnzW[tmpY,tmpX].goodPoint += 10 * this.mMasuStsCntW[tmpY,tmpX];
   845                         this.mMasuStsAnzW[tmpY,tmpX].badPoint += 100000;
   848                     this.mMasuStsAnzW[tmpY,tmpX].ownEdgeSideTwoCnt++;
   849                     this.mMasuStsAnzW[tmpY,tmpX].goodPoint += 1000 * this.mMasuStsCntW[tmpY,tmpX];
   851                     this.mMasuStsAnzW[tmpY,tmpX].ownEdgeSideThreeCnt++;
   852                     this.mMasuStsAnzW[tmpY,tmpX].goodPoint += 100 * this.mMasuStsCntW[tmpY,tmpX];
   854                     this.mMasuStsAnzW[tmpY,tmpX].ownEdgeSideOtherCnt++;
   855                     this.mMasuStsAnzW[tmpY,tmpX].goodPoint += 10 * this.mMasuStsCntW[tmpY,tmpX];
   859                 for (var i = 0; i < this.mMasuCnt; i++) {
   860                     for (var j = 0; j < this.mMasuCnt; j++) {
   864                             sum += this.mMasuStsCntB[i,j];                                  
   866                             if (this.mMasuStsAnzW[tmpY,tmpX].max < this.mMasuStsCntB[i,j]) this.mMasuStsAnzW[tmpY,tmpX].max = this.mMasuStsCntB[i,j];
   868                             if (this.mMasuStsCntB[i,j] < this.mMasuStsAnzW[tmpY,tmpX].min) this.mMasuStsAnzW[tmpY,tmpX].min = this.mMasuStsCntB[i,j];
   869                             this.mMasuStsAnzW[tmpY,tmpX].pointCnt++;                        
   871                                 this.mMasuStsAnzW[tmpY,tmpX].edgeCnt++;
   872                                 tmpBadPoint = 100000 * this.mMasuStsCntB[i,j];
   874                                 this.mMasuStsAnzW[tmpY,tmpX].edgeSideOneCnt++;
   877                                 this.mMasuStsAnzW[tmpY,tmpX].edgeSideTwoCnt++;
   878                                 tmpBadPoint = 1 * this.mMasuStsCntB[i,j];
   880                                 this.mMasuStsAnzW[tmpY,tmpX].edgeSideThreeCnt++;
   881                                 tmpBadPoint = 1 * this.mMasuStsCntB[i,j];
   883                                 this.mMasuStsAnzW[tmpY,tmpX].edgeSideOtherCnt++;
   884                                 tmpBadPoint = 1 * this.mMasuStsCntB[i,j];
   886                             if (tmpMasuEnaB[i,j] != 0) tmpBadPoint = 0;                 
   889                             sumOwn += this.mMasuStsCntW[i,j];                               
   891                             if (this.mMasuStsAnzW[tmpY,tmpX].ownMax < this.mMasuStsCntW[i,j]) this.mMasuStsAnzW[tmpY,tmpX].ownMax = this.mMasuStsCntW[i,j];
   893                             if (this.mMasuStsCntW[i,j] < this.mMasuStsAnzW[tmpY,tmpX].ownMin) this.mMasuStsAnzW[tmpY,tmpX].ownMin = this.mMasuStsCntW[i,j];
   894                             this.mMasuStsAnzW[tmpY,tmpX].ownPointCnt++;                 
   896                                 this.mMasuStsAnzW[tmpY,tmpX].ownEdgeCnt++;
   897                                 tmpGoodPoint = 100 * this.mMasuStsCntW[i,j];
   899                                 this.mMasuStsAnzW[tmpY,tmpX].ownEdgeSideOneCnt++;
   902                                 this.mMasuStsAnzW[tmpY,tmpX].ownEdgeSideTwoCnt++;
   903                                 tmpGoodPoint = 3 * this.mMasuStsCntW[i,j];
   905                                 this.mMasuStsAnzW[tmpY,tmpX].ownEdgeSideThreeCnt++;
   906                                 tmpGoodPoint = 2 * this.mMasuStsCntW[i,j];
   908                                 this.mMasuStsAnzW[tmpY,tmpX].ownEdgeSideOtherCnt++;
   909                                 tmpGoodPoint = 1 * this.mMasuStsCntW[i,j];
   911                             if (tmpMasuEnaW[i,j] != 0) tmpGoodPoint = 0;                    
   913                         if (tmpBadPoint != 0) this.mMasuStsAnzW[tmpY,tmpX].badPoint += tmpBadPoint;
   914                         if (tmpGoodPoint != 0) this.mMasuStsAnzW[tmpY,tmpX].goodPoint += tmpGoodPoint;
   921                     this.mMasuStsAnzW[tmpY,tmpX].avg = tmpD1 / tmpD2;
   928                     this.mMasuStsAnzW[tmpY,tmpX].ownAvg = tmpD1 / tmpD2;
   932                 Array.Copy(tmpMasu, this.mMasuSts, tmpMasu.Length);
   951             for (var i = 0; i < this.mMasuCnt; i++) {                   
   952                 for (var j = 0; j < this.mMasuCnt; j++) {
   953                     this.mMasuStsPassB[i,j] = 0;
   954                     this.mMasuStsAnzB[i,j].
reset();
   955                     this.mMasuStsPassW[i,j] = 0;
   956                     this.mMasuStsAnzW[i,j].
reset();
   966             for (var i = 0; i < this.mMasuCnt; i++) {
   967                 for (var j = 0; j < this.mMasuCnt; j++) {
   968                     if (this.mMasuStsPassB[i,j] != 0) {
   969                         if (bPassEna != 0) this.mMasuStsEnaB[i,j] = 3;
   971                     if (this.mMasuStsPassW[i,j] != 0) {
   972                         if (wPassEna != 0) this.mMasuStsEnaW[i,j] = 3;
   991             if (this.
checkPara(y, 0, this.mMasuCnt) == 0 && this.
checkPara(x, 0, this.mMasuCnt) == 0) ret = this.mMasuSts[y,x];
  1008             if (this.
checkPara(y, 0, this.mMasuCnt) == 0 && this.
checkPara(x, 0, this.mMasuCnt) == 0) ret = this.mMasuStsOld[y,x];
  1026             if (this.
checkPara(y, 0, this.mMasuCnt) == 0 && this.
checkPara(x, 0, this.mMasuCnt) == 0) {
  1028                 else ret = this.mMasuStsEnaW[y,x];
  1047             if (this.
checkPara(y, 0, this.mMasuCnt) == 0 && this.
checkPara(x, 0, this.mMasuCnt) == 0) {
  1049                 else ret = this.mMasuStsCntW[y,x];
  1066             for (var i = 0; i < this.mMasuCnt; i++) {
  1067                 for (var j = 0; j < this.mMasuCnt; j++) {
  1109                 Array.Copy(this.mMasuSts, this.mMasuStsOld, this.mMasuSts.Length);
  1110                 this.mMasuSts[y,x] = color;
  1115                 if (this.mMasuHistCur < (this.mMasuCntMax * this.mMasuCntMax)) {
  1116                     this.mMasuHist[this.mMasuHistCur].color = color;
  1117                     this.mMasuHist[this.mMasuHistCur].point.y = y;
  1118                     this.mMasuHist[this.mMasuHistCur].point.x = x;
  1119                     this.mMasuHistCur++;
  1140             Array.Copy(this.mMasuSts, this.mMasuStsOld, this.mMasuSts.Length);
  1141             this.mMasuSts[y,x] = color;
  1159             if (this.
checkPara(cnt, 0, this.mMasuCntMax) == 0) {
  1160                 if (this.mMasuCnt != cnt) chg = 1;
  1161                 this.mMasuCnt = cnt;
  1163                 if (chg == 1) this.
reset();
  1182             if (this.
checkPara(num, 0, (this.mMasuCnt * this.mMasuCnt)) == 0) {
  1184                 else ret = this.mMasuPointW[num];
  1202             else ret = this.mMasuPointCntW;
  1219             else ret = this.mMasuBetCntW;
  1240             if (this.
checkPara(y, 0, this.mMasuCnt) == 0 && this.
checkPara(x, 0, this.mMasuCnt) == 0) {
  1242                 else ret = this.mMasuStsPassW[y,x];
  1259             if (this.
checkPara(num, 0, (this.mMasuCnt * this.mMasuCnt)) == 0) {
  1260                 ret = this.mMasuHist[num];
  1276             ret = this.mMasuHistCur;
  1294             if (this.
checkPara(y, 0, this.mMasuCnt) == 0 && this.
checkPara(x, 0, this.mMasuCnt) == 0) {
  1296                 else ret = this.mMasuStsAnzW[y,x];
  1320             if (y == 0 && x == 1) {
  1321                 for (loop = x, flg1 = 0, flg2 = 0; loop < this.mMasuCnt; loop++) {
  1322                     if (this.
getMasuSts(y, loop) == color) flg1 = 1;
  1326                 if ((flg1 == 1) && (flg2 == 0)) style = 1;
  1328             if (y == 1 && x == 0) {
  1329                 for (loop = y, flg1 = 0, flg2 = 0; loop < this.mMasuCnt; loop++) {
  1330                     if (this.
getMasuSts(loop, x) == color) flg1 = 1;
  1334                 if ((flg1 == 1) && (flg2 == 0)) style = 1;
  1336             if (y == 1 && x == 1) {
  1337                 for (loop = y, flg1 = 0, flg2 = 0; loop < this.mMasuCnt; loop++) {
  1338                     if (this.
getMasuSts(loop, loop) == color) flg1 = 1;
  1342                 if ((flg1 == 1) && (flg2 == 0)) style = 1;
  1344             if (y == 0 && x == (this.mMasuCnt - 2)) {
  1345                 for (loop = x, flg1 = 0, flg2 = 0; loop > 0; loop--) {
  1346                     if (this.
getMasuSts(y, loop) == color) flg1 = 1;
  1350                 if ((flg1 == 1) && (flg2 == 0)) style = 1;
  1352             if (y == 1 && x == (this.mMasuCnt - 1)) {
  1353                 for (loop = y, flg1 = 0, flg2 = 0; loop < this.mMasuCnt; loop++) {
  1354                     if (this.
getMasuSts(loop, x) == color) flg1 = 1;
  1358                 if ((flg1 == 1) && (flg2 == 0)) style = 1;
  1360             if (y == 1 && x == (this.mMasuCnt - 2)) {
  1361                 for (loop = y, loop2 = x, flg1 = 0, flg2 = 0; loop < this.mMasuCnt; loop++ , loop2--) {
  1362                     if (this.
getMasuSts(loop, loop2) == color) flg1 = 1;
  1366                 if ((flg1 == 1) && (flg2 == 0)) style = 1;
  1368             if (y == (this.mMasuCnt - 2) && x == 0) {
  1369                 for (loop = y, flg1 = 0, flg2 = 0; loop > 0; loop--) {
  1370                     if (this.
getMasuSts(loop, x) == color) flg1 = 1;
  1374                 if ((flg1 == 1) && (flg2 == 0)) style = 1;
  1376             if (y == (this.mMasuCnt - 1) && x == 1) {
  1377                 for (loop = x, flg1 = 0, flg2 = 0; loop < this.mMasuCnt; loop++) {
  1378                     if (this.
getMasuSts(y, loop) == color) flg1 = 1;
  1382                 if ((flg1 == 1) && (flg2 == 0)) style = 1;
  1384             if (y == (this.mMasuCnt - 2) && x == 1) {
  1385                 for (loop = y, loop2 = x, flg1 = 0, flg2 = 0; loop > 0; loop-- , loop2++) {
  1386                     if (this.
getMasuSts(loop, loop2) == color) flg1 = 1;
  1390                 if ((flg1 == 1) && (flg2 == 0)) style = 1;
  1392             if (y == (this.mMasuCnt - 2) && x == (this.mMasuCnt - 1)) {
  1393                 for (loop = y, flg1 = 0, flg2 = 0; loop > 0; loop--) {
  1394                     if (this.
getMasuSts(loop, x) == color) flg1 = 1;
  1398                 if ((flg1 == 1) && (flg2 == 0)) style = 1;
  1400             if (y == (this.mMasuCnt - 1) && x == (this.mMasuCnt - 2)) {
  1401                 for (loop = x, flg1 = 0, flg2 = 0; loop > 0; loop--) {
  1402                     if (this.
getMasuSts(y, loop) == color) flg1 = 1;
  1406                 if ((flg1 == 1) && (flg2 == 0)) style = 1;
  1408             if (y == (this.mMasuCnt - 2) && x == (this.mMasuCnt - 2)) {
  1409                 for (loop = y, loop2 = x, flg1 = 0, flg2 = 0; loop > 0; loop-- , loop2--) {
  1410                     if (this.
getMasuSts(loop, loop2) == color) flg1 = 1;
  1414                 if ((flg1 == 1) && (flg2 == 0)) style = 1;
  1435                 || (y == 0 && x == (this.mMasuCnt - 1))
  1436                 || (y == (this.mMasuCnt - 1) && x == 0)
  1437                 || (y == (this.mMasuCnt - 1) && x == (this.mMasuCnt - 1))
  1459                 || (y == 0 && x == (this.mMasuCnt - 2))
  1460                 || (y == 1 && x == 0)
  1461                 || (y == 1 && x == 1)
  1462                 || (y == 1 && x == (this.mMasuCnt - 2))
  1463                 || (y == 1 && x == (this.mMasuCnt - 1))
  1464                 || (y == (this.mMasuCnt - 2) && x == 0)
  1465                 || (y == (this.mMasuCnt - 2) && x == 1)
  1466                 || (y == (this.mMasuCnt - 2) && x == (this.mMasuCnt - 2))
  1467                 || (y == (this.mMasuCnt - 2) && x == (this.mMasuCnt - 1))
  1468                 || (y == (this.mMasuCnt - 1) && x == 1)
  1469                 || (y == (this.mMasuCnt - 1) && x == (this.mMasuCnt - 2))
  1491                 || (y == 0 && x == (this.mMasuCnt - 3))
  1492                 || (y == 2 && x == 0)
  1493                 || (y == 2 && x == 2)
  1494                 || (y == 2 && x == (this.mMasuCnt - 3))
  1495                 || (y == 2 && x == (this.mMasuCnt - 1))
  1496                 || (y == (this.mMasuCnt - 3) && x == 0)
  1497                 || (y == (this.mMasuCnt - 3) && x == 2)
  1498                 || (y == (this.mMasuCnt - 3) && x == (this.mMasuCnt - 3))
  1499                 || (y == (this.mMasuCnt - 3) && x == (this.mMasuCnt - 1))
  1500                 || (y == (this.mMasuCnt - 1) && x == 2)
  1501                 || (y == (this.mMasuCnt - 1) && x == (this.mMasuCnt - 3))
  1522                 (y == 0 && (3 <= x && x <= (this.mMasuCnt - 4)))
  1523                 || ((3 <= y && y <= (this.mMasuCnt - 4)) && x == 0)
  1524                 || (y == (this.mMasuCnt - 1) && (3 <= x && x <= (this.mMasuCnt - 4)))
  1525                 || ((3 <= y && y <= (this.mMasuCnt - 4)) && x == (this.mMasuCnt - 1))