扫雷游戏(c++)

[复制链接] 查看: 2893|回复: 0
等级:
论坛元老
帖子:
664
积分:
16344
威望:
0
金钱:
15680
贡献:
0
精华:
0
注册:
2021-10-31
跳转到指定楼层
楼主
发表于 2022-11-24 11:09:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<bits/stdc++.h>
0 _* g6 @% G  k: G+ L% nusing namespace std;
0 K* \2 d! v5 r( Q0 Y& sint a[12][12],b[12][12],m,n,c,f,k,s;
6 c) h5 S/ C5 ~* \1 n7 nbool dt[12][12];
, b& y3 D% u& M7 U6 Hvoid gs(){6 ?, w" T4 S$ l; a
        for(int i=1;i<=10;i++){6 L, q; o8 _* ?& B) R: N
                for(int j=1;j<=10;j++){
" @9 F; ?# K! s' f  q                        if(b[j]) printf("%3d",a[j]+b[j]*10);
/ p3 c. z# }" w$ `! @                        else printf("%3d",a[j]);+ k% ^1 V: m7 J; W/ y% g, A
                }
5 J& P/ Y- L9 @5 v, @: D/ v                printf("\n");' P' V% V4 Z4 e& f: E. G
        }- A: B8 B/ ]8 t2 w! o5 j
}
0 K8 k% G+ V) g6 U* Qvoid ks(){9 T6 O. `* S; |
        for(int i=1;i<=10;i++){& O, e, h; E. z2 r! o' [
                for(int j=1;j<=10;j++){8 z5 z& n9 ^+ J1 @! r$ p
                        if(dt[j]) k++;
  W: a. m- w9 M' }7 |" @5 {1 r                        a[j]=9;
/ r6 Z6 q/ K5 u1 Z1 ?3 D+ q                }
' V. F+ F8 N% G+ q' n) y4 q* A        }
* E0 A' Z' _: V8 \+ s6 h/ `& L        printf("%d\n",k);
" T- E" L1 a! f. T}- N0 N( A7 ^- S5 J( }! U
void sjs(){
$ ~; N7 G. ?7 s6 T+ p        for(int i=1;i<=10;i++){& h0 E& r1 n* p$ d% c) B3 i
                for(int j=1;j<=10;j++){" l( l' Q4 K! n. g
                        if(dt[j]) printf("%d %d ",i,j);
' g! @2 w  ^7 B) y9 A( J                        if(b[j]!=2&&dt[j])printf("  hh  ");
; T, b9 J+ o% L5 F, R2 c" w+ j% O                }
4 X6 z0 W/ t! d9 Y. W1 E3 z                printf("\n");- B. l* z2 C) J5 M/ B# o5 U
        }
/ o& e# i9 J' b8 [- y        printf("SB");
8 U2 S) y# X* K2 H9 G: L) @- \}6 X$ Q& G( U  {7 q  ^& Q
void yjs(){' L  H% C% ]. D6 l3 {& m* w
        for(int i=1;i<=10;i++){/ B3 w8 X6 ?9 M7 L. l8 o
                for(int j=1;j<=10;j++){# B3 {- E, p; Q# t
                        if(dt[j]) printf("%d %d",i,j);" H- g2 Z, g5 t6 G4 S% K
                        printf("NB\n");: h/ F4 \& V2 U( D$ t
                }6 ^3 R+ o" a9 \% H/ P
        }# N% v9 i( G+ h) o0 A+ J; Y
}
, x. ]3 t1 j/ e4 m$ I2 ?int jc(int s,int x,int y){
9 {7 ?/ a; F) D" D, `        if(dt[x-1][y-1]) ++s;
* _8 a3 C/ a7 G7 G9 r1 [        if(dt[x-1][y+1]) ++s;+ I6 q7 Y4 v: q! h
        if(dt[x-1][y]) ++s;, X: w) i* r/ g% K0 _, K% X
        if(dt[x][y-1]) ++s;, v: Z/ |1 i$ Z5 p+ d
        if(dt[x][y+1]) ++s;$ I- g! W2 ^# F1 }4 d
        if(dt[x+1][y]) ++s;7 y' c  k0 B/ j- R8 }( }, S  r
        if(dt[x+1][y-1]) ++s;
' `. M" q/ n, H7 I, ^# y, ]8 w        if(dt[x+1][y+1]) ++s;
* d0 m! U' Q8 J" v/ {1 B6 ~        a[x][y]=s;
3 Q- X+ ^: l1 C. X% m% l- S        if(s==0){$ P! {) I1 u% {% [
                if(x-1&&y-1&&x<1&&y<11) jc(s,x-1,y-1);3 Z8 M) [2 W, F$ V/ A$ ^6 L
                if(x-1&&x<11&&y<10) jc(s,x-1,y+1);( x, Q/ c- V: ?
                if(x-1&&y&&x<11&&y<11) jc(s,x-1,y);
% [" t  w2 [0 C+ l* v- t                if(x&&y-1&&x<11&&y<11) jc(s,x,y-1);9 _; N3 ~. f2 S& o+ [$ [( z/ \/ t
                if(x&&x<11&&y<10) jc(s,x,y+1);
; S7 L. L- A" i& D5 s8 w' ^+ X0 B                if(y&&x<10&&y<11) jc(s,x+1,y);
( z& Z" {, @* T8 T& a! @: p                if(y-1&&x<10&&y<11) jc(s,x+1,y-1);6 M1 V# V/ A1 y) Y/ W0 s
                if(x<10&&y<10) jc(s,x+1,y+1);  l- O0 u4 ^; b& ]: h& g* \
        }8 |$ K( y0 Y! f. F. B/ w& `3 U
}# T3 r% D) e" w+ q
int main(){
/ G* k- M, D9 Y% J        bool ls[12][12];6 Z) @6 ?. W1 b4 r: V! w
        for(int i=1;i<=10;i++)
, u9 l0 n7 w4 q, Y6 i6 S' U                for(int j=1;j<=10;j++), b" Q3 S8 v3 x9 B% u  }0 w
                        dt[j]=ls[j];
/ L- K2 ]) |2 ]" f% q                        ks();0 k( c% `- H4 G. `
        while(k||f){
9 u0 |7 Z4 s5 I! j% J& G* P& n                printf("\n\n\n");
$ L9 z5 V4 f3 E! G0 h/ \) ^                gs();3 g' L9 ?! k, Z9 @* S( d  d! M
                scanf("%d%d%d",&m,&n,&c);
. z+ {3 M: o) j( c5 u$ F% h                if(dt[m][n]&&c==0){
& `# f5 m2 }6 v, G) i( o                        sjs();" V9 Q4 q- B7 q0 r, `% N
                        return 0;
' S- s6 ^: I" X$ Z+ f                }
& c$ Q* R/ q! s* g4 k6 |                b[m][n]=c;
# S6 w- ]- a+ s! l; q                if(c==0) a[m][n]=jc(s,m,n);3 B- r3 |7 ?) o0 E1 U1 v# Y" I
                if(c==2){
+ E- f5 _( Y' @( K  b2 c0 h                        if(dt[m][n]) --k;
" {9 W7 E! b7 F* ]: h                        else ++f;
/ f% p/ o5 L* g3 E# t                }
9 e4 b9 b9 B, z) {& F, n        }
1 k( z, I8 J& M% [6 N0 q3 T        yjs();- }- H6 D; R! F0 ?5 t
        return 0;
. X2 P2 B- K, P5 B+ a( f3 |}6 x% G+ \  L. H1 {- \; H% n8 g
, [* J) l& X4 F- k
回复

使用道具 举报

| 关于弈城 | 家长监护 | 弈城合作 | 意见投诉 | 客服中心 | 关注弈城 |
Copyright © 2003- eweiqi Co.LTD All Rights Reserved
北京世纪弈城围棋文化传播有限公司 ( 京ICP备08005970号 京ICP证050898号 )
客户服务热线:400-010-5177 文明办网文明上网举报电话:010-82615762 投诉邮箱:help@eweiqi.com
抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活
京网文(2015)2374-465号 京公网安备 11010102000265号

快速回复 返回顶部 返回列表