返回列表 發帖

下次內容-如何使用亂數開出不重複之樂透球

如果使用rand()%45 + 1,第2顆球必須還要判斷與第1顆球有沒有重複。
第3顆球必須還要判斷與第1、2顆球有沒有重複。
第4顆球必須還要判斷與第1、2、3顆球有沒有重複。
...
第n顆球必須還要判斷與第1、2、3...、n-2、n-1顆球有沒有重複。

本帖最後由 buy 於 2010-11-19 11:45 編輯
  1.     void showNearBombnumber(int i,int j)
  2.     {
  3.         int I = i+1;
  4.         int J = j+1;

  5.         if(ButtonArr[i][j].getText().equals("-"))
  6.         {
  7.             try{
  8.                 if(i-1>=0 && j-1 >=0) //左上角,判斷邊界
  9.                 {
  10.                     if(CountBombArr[I-1][J-1] == 0 )
  11.                     {
  12.                         if(ButtonArr[i-1][j-1].isEnabled() == true)
  13.                         {
  14.                             ButtonArr[i-1][j-1].setEnabled(false);
  15.                             ButtonArr[i-1][j-1].setText("-");
  16.                             showNearBombnumber(i-1,j-1);
  17.                         }
  18.                     }
  19.                     else
  20.                     {
  21.                         if(ButtonArr[i-1][j-1].isEnabled() == true)
  22.                         {
  23.                             ButtonArr[i-1][j-1].setText(String.valueOf(CountBombArr[I-1][J-1]));
  24.                             ButtonArr[i-1][j-1].setEnabled(false);
  25.                         }
  26.                     }
  27.                 } //上方
  28.                 if(j-1>=0)
  29.                 {
  30.                     if(CountBombArr[I][J-1] ==0)
  31.                     {
  32.                         if( ButtonArr[i][j-1].isEnabled() == true)
  33.                         {
  34.                             ButtonArr[i][j-1].setEnabled(false);
  35.                             ButtonArr[i][j-1].setText("-");
  36.                             showNearBombnumber(i,j-1);
  37.                         }
  38.                     }else{
  39.                             if( ButtonArr[i][j-1].isEnabled() == true)
  40.                             ButtonArr[i][j-1].setText(String.valueOf(CountBombArr[I][J-1]));
  41.                     }
  42.                 } //右上角
  43.                 if(i+1 <  ButtonArr.length && j-1 >=0 )
  44.                 {
  45.                     if(CountBombArr[I+1][J-1]==0)
  46.                     {
  47.                         if( ButtonArr[i+1][j-1].isEnabled() == true)
  48.                         {
  49.                              ButtonArr[i+1][j-1].setEnabled(false);
  50.                              ButtonArr[i+1][j-1].setText("-");
  51.                              showNearBombnumber(i+1,j-1);
  52.                         }

  53.                     }else{
  54.                         if( ButtonArr[i+1][j-1].isEnabled() == true)
  55.                             ButtonArr[i+1][j-1].setText(String.valueOf(CountBombArr[I+1][J-1]));
  56.                     }
  57.                 }
  58.                 if(i-1 >=0) //左方
  59.                 {
  60.                     if(CountBombArr[I-1][J]==0 )
  61.                     {
  62.                         if(ButtonArr[i-1][j].isEnabled() == true)
  63.                         {
  64.                             ButtonArr[i-1][j].setEnabled(false);
  65.                             ButtonArr[i-1][j].setText("-");
  66.                             showNearBombnumber(i-1,j);
  67.                         }
  68.                     }else{
  69.                         if(ButtonArr[i-1][j].isEnabled() == true)
  70.                             ButtonArr[i-1][j].setText(String.valueOf(CountBombArr[I-1][J]));
  71.                     }
  72.                 }
  73.                 //右方
  74.                 if(i+1 < ButtonArr.length )
  75.                 {
  76.                     if(CountBombArr[I+1][J] == 0)
  77.                     {
  78.                         if(ButtonArr[i+1][j].isEnabled() == true)
  79.                         {
  80.                             ButtonArr[i+1][j].setEnabled(false);
  81.                             ButtonArr[i+1][j].setText("-");
  82.                             showNearBombnumber(i+1,j);
  83.                         }
  84.                     }else{
  85.                         if(ButtonArr[i+1][j].isEnabled() == true)
  86.                             ButtonArr[i+1][j].setText(String.valueOf(CountBombArr[I+1][J]));
  87.                     }
  88.                 }
  89.                 //左下角
  90.                 if(i-1 >=0 && j+1 < ButtonArr.length )
  91.                 {
  92.                     if(CountBombArr[I-1][J+1] == 0)
  93.                     {
  94.                         if(ButtonArr[i-1][j+1].isEnabled() == true)
  95.                         {
  96.                             ButtonArr[i-1][j+1].setEnabled(false);
  97.                             ButtonArr[i-1][j+1].setText("-");
  98.                             showNearBombnumber(i-1,j+1);
  99.                         }
  100.                     }else{
  101.                         if(ButtonArr[i-1][j+1].isEnabled() == true)
  102.                              ButtonArr[i-1][j+1].setText(String.valueOf(CountBombArr[I-1][J+1]));
  103.                     }
  104.                 }

  105.                 //下方
  106.                 if(j+1 < ButtonArr.length )
  107.                 {
  108.                     if(CountBombArr[I][J+1]==0)
  109.                     {
  110.                         if(ButtonArr[i][j+1].isEnabled() == true)
  111.                         {
  112.                             ButtonArr[i][j+1].setEnabled(false);
  113.                             ButtonArr[i][j+1].setText("-");
  114.                             showNearBombnumber(i,j+1);
  115.                         }
  116.                     }else{
  117.                         if(ButtonArr[i][j+1].isEnabled() == true)
  118.                             ButtonArr[i][j+1].setText(String.valueOf(CountBombArr[I][J+1]));
  119.                     }
  120.                 }

  121.                 //右下角
  122.                 if(i+1 < ButtonArr.length && j+1 <ButtonArr.length )
  123.                 {
  124.                     if(CountBombArr[I+1][J+1] == 0)
  125.                     {
  126.                         if(ButtonArr[i+1][j+1].isEnabled() == true)
  127.                         {
  128.                              ButtonArr[i+1][j+1].setEnabled(false);
  129.                              ButtonArr[i+1][j+1].setText("-");
  130.                              showNearBombnumber(i+1,j+1);
  131.                         }
  132.                     }else{
  133.                         if(ButtonArr[i+1][j+1].isEnabled() == true)
  134.                             ButtonArr[i+1][j+1].setText(String.valueOf(CountBombArr[I+1][J+1]));
  135.                     }
  136.                 }
  137.             }
  138.             catch(Exception ex)
  139.             {
  140.                System.out.println(ex.toString());
  141.             }
  142.         }
  143.         else
  144.         {
  145.         }
  146.     }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

d066 上學去吧
d068 該減肥了
d073 分組報告
d074 電腦教室
d086 態度之重要的證明
d114 好累的小玫
d124 3的倍數
d148 夜魅的復仇-接續挑戰 不倒-魔理沙(→被刪題)
d170 飛蛾撲火(一)
d212 東東爬階梯
d244 一堆石頭 X
d460 山六九之旅
d461 班際籃球賽
d466 今天是第幾天呢
d478 共同的數 - 簡易版
d483 hello, world
d485 我愛偶數
d649 數字三角形
d709 判断质数(一)

TOP

返回列表