打印

[C#] C# Mines(布雷) 代码

C# Mines(布雷) 代码

 本文给出一个 C# Mines(布雷)的 代码,新手研究一下吧。
以下是引用片段:我爱电脑技术论坛  q( r7 v3 D+ v# a. s
  using System.Collections; www.520diannao.com, _& N& T' p# Y
  using System.IO;
4 x% V/ ?$ l5 h  o  using System;
( O' K( Y: z3 M! M* K  namespace com.Mines + z+ y/ Q* U  n- g
  { 我爱电脑技术论坛  v9 P; T# {+ T/ g; @
  class SearchingMines 9 o1 H1 w, q+ j3 |5 |/ [: t# W
  {
  D1 Z- ^: u- [2 W+ g& S% y  public ArrayList list = new ArrayList();
* }1 d( l; Y4 _5 F9 G6 Y# H  public int[,] mines = new int[10, 10];
2 n: }! X& n% c3 J  static void Main(string[] args) . \! |* w* k- }8 x8 y& e
  { . e# Y+ P8 ^* a  K* N5 p# q- h
  SearchingMines sm = new SearchingMines(); www.520diannao.com; i' U; I+ B& M5 d$ ]& m5 w4 d
  sm.initMines(); 0 q) n9 `% U4 V5 E( w
  sm.HidenMines();
3 A/ t' I0 t8 [& r$ v0 J* U! Y/ D  sm.FillInOtherNumber(); 2 S0 Z0 _9 u$ u6 w) Z- L, P
  sm.display(); www.520diannao.com  n' Z% A& a3 J0 Z
  // sm.SaveTxt();
" h* ^) z7 F1 R0 J) _7 s我爱电脑技术论坛  } 打造最好的电脑自学交流论坛' _  k# K1 W! Z6 `4 P9 f; h
  public void initMines()
7 J% {6 V8 I3 @; V7 W/ G0 ^  { www.520diannao.com% u6 b% v2 b% W8 f& c" X
  for (int i = 0; i < this.mines.GetLength(0); i++) ; u: R6 }; o  d; r: C+ ]
  { 9 f+ a$ x/ ^- r
  for (int j = 0; j < this.mines.GetLength(1); j++)
+ N4 j3 p' Q9 q4 E, P/ b  {
7 v4 R& g5 g! f  this.mines[i, j] = 0; 8 t2 L* g. Z! w
  list.Add(this.mines[i, j]);
( J* G" d3 c/ |9 @; }3 s& iwww.520diannao.com  } 7 N% Q9 G9 R- @( z& k* o
  }
1 h" }$ H% K" D8 s$ M我爱电脑技术论坛  }
. `5 H4 C$ T* c( i, {/ @  public void HidenMines() ' M: D. B$ ]& k, P. j3 {# ]
  { 我爱电脑技术论坛9 N/ l5 k( U/ @5 ^+ K
  Random r = new Random();
# t4 ~3 t$ S& o: i" {  G  for (int i = 0; i < 9; i++)
2 E% H' V2 h4 r3 |& C+ f& a0 v2 o打造最好的电脑自学交流论坛  {
/ Z: I4 N1 R% w+ Z. j+ F5 n  int count = this.list.Count;
6 o1 Q+ |: ]+ A/ s1 S# x  int number = r.Next(count);
: ?6 n% p5 T" U, D% _/ u2 c$ \打造最好的电脑自学交流论坛  int row = number / 10;
( e0 L& c& c$ L8 i, i: O5 F$ B+ T) Q  int column = number % 10;
  f" H1 m( n: e, g# x. e) v" @  this.mines[row, column] = 9; 4 J" B0 v/ b6 \7 t  v
  this.list.RemoveAt(this.mines[row, column]); ' O9 b1 o# F- n
  } 打造最好的电脑自学交流论坛8 c  n; f, v, o( {6 F9 U
  }
  C  k8 q3 J1 M  public void FillInOtherNumber() www.520diannao.com- n9 E  j5 x, S) p/ q" q
  {
& M" W' D3 J8 z; X  try 4 {& t2 ]% A. U8 K
  { + O. ^& V1 a8 A4 _# u( @8 a
  for (int i = 0; i < this.mines.GetLength(0); i++) ! C3 L8 w. T& L  [; p3 L
  { 我爱电脑技术论坛9 q' \. Y/ ^* p  W5 I4 l
  for (int j = 0; j < this.mines.GetLength(1); j++)
0 r9 B0 I8 t9 p) W5 B+ E  { 打造最好的电脑自学交流论坛, a/ P4 w; V3 R' T' B
  int left = j - 1;
& ?/ A5 B- ]* ^; O* U  int right = j + 1;
7 ^- T3 i- T) l( k$ c  int top = i - 1; www.520diannao.com" E4 r3 u# m9 A9 X6 t
  int bottom = i + 1;
2 C3 e9 _& L; d  if (this.mines[i, j] != 9)
* i% U/ G# z/ b; j% B: ]: p  { www.520diannao.com0 z1 m) |3 \" H& Q* z
  if(top>=0 && left>=0)//左边和上边 打造最好的电脑自学交流论坛% H( z& i* ?# b: P8 u' @/ y
  { 打造最好的电脑自学交流论坛8 O! @0 Y. H& P
  if (this.mines[top, left] == 9)//判断左上方是否为9 打造最好的电脑自学交流论坛- ~$ B+ U9 t+ H& e# s3 c* _/ V
  {
" ~7 g  P% d4 R6 L& D1 N- ?% q1 K我爱电脑技术论坛  mines[i,j] += 1;
+ y  ^# {/ X) a$ p4 T1 P  } ) c* G4 S& u7 D! V: W5 u) H9 t
  } 4 f9 b; \: ]( E9 b. R
  if(top>=0 && right<10)//右边和上边   D% u3 i8 w2 _8 C& \/ r0 S- J$ o
  {
9 I/ R2 j9 n1 q  if (this.mines[top, right] == 9)//判断该点的右上方是否
2 P  M$ d2 Z2 r8 W7 {9 S  i  {
( l7 I% M$ L, o打造最好的电脑自学交流论坛  mines[i,j] += 1;
/ O7 u0 m+ u; T3 X打造最好的电脑自学交流论坛  } / }; e7 P( Q6 p$ |
  }
! h# P8 j+ [6 G9 c& H# ~6 ]* E- ^我爱电脑技术论坛  if(top>=0)//最上边 我爱电脑技术论坛) k; m8 ?$ b5 D8 @
  { 0 S1 W; A4 `( |- T. S# Z3 y
  if (this.mines[top, j] == 9)//上边的那个是否为9
7 `) o* x; `, l6 w+ t; a5 R1 x  { " \! h/ D5 w" d6 j5 G
  mines[i,j] += 1;
$ Q. Q+ O2 c/ U; K) D6 o我爱电脑技术论坛  } + j- x  B6 u) {
  } 我爱电脑技术论坛' y) R  U3 {2 q. F( }0 P- A
  if(left>=0)//最左边 " s; _& a+ \! U, _& j. B
  { ; k- T; @( ]/ p/ h- `5 T& l( R, |# K
  if (this.mines[i, left] == 9)//看左边那个是否为9 www.520diannao.com% w, M! {5 d; L3 L0 r3 C
  {
. c" D0 Q3 S' R- x打造最好的电脑自学交流论坛  mines[i,j] += 1;
. [. s7 [& C2 h0 _www.520diannao.com  } www.520diannao.com  x/ w: ^. g8 Z$ R% P
  } 打造最好的电脑自学交流论坛# H1 K) |% I& h- G
  if(right<10)//最右边 0 b5 d1 _" E, n5 V
  { ! b8 I5 f4 W2 @% c: J
  if (this.mines[i, right] == 9)//看右边是否为9 1 D2 C" x; {* P" U' R
  {
3 w0 l1 A3 F+ n7 R" }  mines[i,j] += 1;
/ d" `) ?! s7 J- J  }
+ o# q5 P: M* M

4 ~1 r( Y" c& k1 K6 X
  
以下是引用片段:
5 H' p/ K: K5 U$ |  _+ E  }
3 q# o, v- \: F. H& awww.520diannao.com  if(bottom<10 && left >=0)//底部和左边
$ Z, z/ _3 C' s$ u9 _- N; }打造最好的电脑自学交流论坛  {
& z# Y9 z6 ]# I8 e4 a  if (this.mines[bottom, left] == 9)//左下方是否为9
$ a# S& h; e6 c. L8 R( d我爱电脑技术论坛  { 打造最好的电脑自学交流论坛  A8 k3 K" Y& j
  mines[i,j] += 1; 我爱电脑技术论坛# O/ O4 U# r, {6 ]5 {0 z  I1 L
  }
& r% E( b$ a4 v  } ) x4 x  P  H7 Q1 B. D# R
  if(bottom<10 && right<10)//右下方 % H7 t. s2 e; g; `5 r
  { 1 i7 n+ ~# l" p6 L" l0 }
  if (this.mines[bottom, right] == 9)右下方
+ o0 k/ q9 e/ H) l' F3 }2 s打造最好的电脑自学交流论坛  { 我爱电脑技术论坛7 [- n0 A) T" u
  mines[i,j] += 1; 打造最好的电脑自学交流论坛" S5 d+ D/ a& v
  } 3 V& D1 U# a2 F5 m6 Y! T! c
  }
7 a' U; V" v8 c  if(bottom<10)//底部 # V9 s. y! R7 g
  { ; D1 y- D) @* z! w2 {
  if (this.mines[bottom, j] == 9)//底部是否为9
/ _& \" C4 i' i9 \  {
1 i4 U' E5 @0 z0 e  mines[i,j] += 1; 6 b! P" G0 Z8 b
  }
  _# S2 b3 J/ z. k4 c, B  } ' k0 W3 U& d" K8 u8 c
  // if (left < 0)//左边 www.520diannao.com0 A$ \2 q) a+ w, S$ }; K
  // { ) I" U- X4 G2 T. G; u. c! R
  // if (this.mines[i, right] == 9)//右侧是否为9
0 k$ Y  U3 \6 a% V9 c! M" g$ V打造最好的电脑自学交流论坛  // { count += 1; }
1 R% x! J; X0 _+ t1 n  // if (bottom < 10 && bottom > 0)//如果底边的范围是除过头节点和尾节点
4 p. a4 ~5 N: C我爱电脑技术论坛  // { 0 m/ e) ~5 \+ c; d/ p2 D' P9 b
  // if (this.mines[bottom, j] == 9)//底部是否为9
! k1 S3 i/ m% E% ]  // { count += 1; } www.520diannao.com1 N/ A1 X! ]4 L0 P( o5 G
  // if (this.mines[bottom, right] == 9)//右下是否为9
7 B5 R2 H2 S) `$ T7 k' b  Zwww.520diannao.com  // { count += 1; } 我爱电脑技术论坛0 |( Z. O/ U* W6 q! [) w& `+ c
  // }
0 z) X/ }% w. N0 z% w打造最好的电脑自学交流论坛  // if (top > 0 && top < 10)//上边除过头结点和尾节点
& d, m6 }/ u+ N7 s3 T% \www.520diannao.com  // {
0 d$ W9 W5 d6 `6 r4 `  c/ R* s  // if (this.mines[top, j] == 9)//头上那个点是否为9
- E$ x1 h/ j+ C4 j6 P2 }# n我爱电脑技术论坛  // { count += 1; } 我爱电脑技术论坛5 a$ i% ?3 o# u) [
  // if (this.mines[top, right] == 9)//右上是否为9 " p0 J& j% J8 Y  ^* m$ U& I
  // { count += 1; }
3 z  t0 c! S- q% y! y2 W5 X" K  // } www.520diannao.com7 X1 m1 m- ]0 _8 x- o  h3 b: i
  // } ) ~: c+ A! e( H! ]) [: x; r. m
  // if (j == this.mines.GetLength(0))
+ m2 V* Z+ c# l* m  // {
. z6 v6 ?% K0 |2 B* S; r1 l$ e& Ewww.520diannao.com  // if (i == 0) : ^' q, t/ Q% c, R8 |
  // {
9 ?* J. Y4 c! X4 n5 iwww.520diannao.com  // if (this.mines[i, j - 1] == 9) ( d5 Q; {- z7 X! Z, \
  // { count += 1; } " \# z( h, Y/ Z
  // if (this.mines[i - 1, j - 1] == 9) 打造最好的电脑自学交流论坛1 N# |& `6 H4 F; U
  // { count += 1; } 6 k1 @' F8 ?4 M. q( r+ c
  // if (this.mines[i - 1, j] == 9) www.520diannao.com1 _& w" I" Q5 ^7 R5 J( a
  // { count += 1; } ' k& c7 f; i! s. |' E& O7 ^& p  ]
  //
( [( t6 @/ u; a2 h6 V* w! L  // } 我爱电脑技术论坛% V3 |2 p, y  D3 {7 B4 X5 ]
  // if(i>0&&i  
  I: `+ v4 K, B* `5 n  // { . T3 t/ e% Q- j& t
  // if(this.mines[i+1,j-1]==9) + E! {, D) h: }  E7 }# E
  // {count+=1;} www.520diannao.com3 ]( C6 T( y; _
  // if (this.mines[i + 1, j] == 9) www.520diannao.com: O: e7 y$ _8 O( N2 K: Z
  // { count += 1; } ! L* l2 i: |# r- m2 L
  // if (this.mines[i, j - 1] == 9)
- |# z% E7 ?$ O& t  // { count += 1; } 我爱电脑技术论坛" j$ m! R( j# p7 x- O# b. S$ R
  // if (this.mines[i - 1, j] == 9)
* G, K/ }( m! Lwww.520diannao.com  // { count += 1; }
0 z4 T3 X. c8 r$ F. H; N! @" M. ^  // if (this.mines[i - 1, j - 1] == 9) ) X$ I$ Y: S& g+ F
  // { count += 1; } - J1 Y% ^+ U+ K7 v: _
  // }
8 J( z; C7 h+ |; @8 g' h  // if (i == this.mines.GetLength(1))
- J3 t' B" O; R: j  // {
: [7 |& t# k: @. _打造最好的电脑自学交流论坛  // if (this.mines[i - 1, j - 1]==9)
  j& r0 w7 }( o* `我爱电脑技术论坛  // { count += 1; }
( y- x/ R  j# i! W; Y! R我爱电脑技术论坛  // if (this.mines[i - 1, j] == 9)
5 ~) f4 y7 n; j8 n  // { count += 1; }
9 `: n/ ?# l: y; F' s$ {# Kwww.520diannao.com  // if (this.mines[i, j - 1] == 9)
1 W- V6 ^$ Z- a. A  // { count += 1; } 打造最好的电脑自学交流论坛$ ^6 ^( ~$ }/ x/ ?6 v! X$ l
  // } www.520diannao.com; M0 u, ?% O5 a# N, c8 S" D
  // }
3 ]* V& K4 c9 j& ~: `7 ~打造最好的电脑自学交流论坛  // this.mines[i, j] = count; 我爱电脑技术论坛* h. |7 p9 [! H5 |! ]6 \  g
  }
0 U  @( Z% V- g( g. N  } 我爱电脑技术论坛5 ^2 l+ m- D, Z9 R' d: K& N! v
  }
8 M# T; G0 a7 W$ j# t' A& N我爱电脑技术论坛  }
我爱电脑技术论坛3 y$ g$ g) z! ]4 k
6 h2 ?% w  n) E# j* |: a
www.520diannao.com' C" K, m) A8 k3 Q2 e( D. W
  打造最好的电脑自学交流论坛! |$ K2 r( e  c  u
以下是引用片段:
. S+ O9 q; S  y! m3 b3 W+ J0 ^打造最好的电脑自学交流论坛  catch (Exception ex) 我爱电脑技术论坛7 G9 m9 A. m) g; J1 U+ r9 j
  { www.520diannao.com+ S1 V# w" k' `) }7 N- C& z; j! D
  Console.WriteLine(ex.Message);
# r7 v- j0 h4 I$ N% W( u5 I  } www.520diannao.com  r$ N+ L' [: Y
  } 打造最好的电脑自学交流论坛, u1 K* h& D: G# m
  public void display()
( v1 n4 |' F7 x4 e1 K  {
% c: }- |8 B  {5 J( d  for (int i = 0; i < this.mines.GetLength(0); i++) 打造最好的电脑自学交流论坛! ]- Y6 c7 V4 o& [: ~
  { 2 m9 M) w& B2 [1 {5 H& J3 O
  for (int j = 0; j < this.mines.GetLength(1); j++)
4 M/ R* g& X9 [8 d& [4 [1 B; A, s我爱电脑技术论坛  {
/ S( @, K# O% l4 h3 ]  K  Console.Write(this.mines[i, j] + " ");
3 z6 q- n: t  R$ u. rwww.520diannao.com  }
+ j6 r; w* `: Bwww.520diannao.com  Console.Write("n");
9 S, J1 U5 ?# e6 `- V/ |  } www.520diannao.com% u/ k  K- V' R( s+ `
  }
" J* T+ u5 h2 ]" V/ L$ f  public void SaveTxt() : q8 |: ]) x* h8 i8 W
  { # a5 b9 S$ G) j+ E5 ]: l$ B
  StreamWriter sw = new StreamWriter(@"c:abc.txt"); 打造最好的电脑自学交流论坛* f0 T4 D$ ?9 u! I
  for (int i = 0; i < this.mines.GetLength(0); i++) 我爱电脑技术论坛% x' ^, u9 L! K) _5 U
  { 打造最好的电脑自学交流论坛+ ~  p0 l5 T/ L( t3 Q
  for (int j = 0; j < this.mines.GetLength(1); j++)
& g; W6 T& ~. M$ H打造最好的电脑自学交流论坛  { 我爱电脑技术论坛5 `" g8 r- f5 V
  sw.Write(this.mines[i, j] + " ");
2 W, e0 P% q% D5 t# s4 A  }
: Q  _8 _! h, H/ G: f9 D8 n3 x  sw.WriteLine(); $ c$ t, U) x' F# S  P
  } 我爱电脑技术论坛9 n8 T7 t6 \/ y/ `
  sw.Flush();
* F( N/ e, ]& [! R8 F9 J# {, O  sw.Close(); 打造最好的电脑自学交流论坛0 ^2 _: z8 k5 C
  } www.520diannao.com: a$ h, `" o3 |1 R1 e
  } 打造最好的电脑自学交流论坛5 k+ H' I8 k. E9 {% h" `* ?/ \
  }

TOP

什么功能啊?不懂!5 P" J9 O" W+ Y/ h2 \' N
[fly]大家团结起来!就一定能度过难关!灾难坚定了我们的爱国信念!中国人民是不可战胜的!![/fly]

TOP

返回顶部
AYBlue

Processed in 0.170232 second(s), 7 queries, Gzip enabled.

当前时区 GMT+8, 现在时间是 2008-5-22 07:13 赣ICP备07004505号

清除 Cookies - 联系我们 - 我爱电脑技术论坛 - Archiver - WAP - 界面风格