GOC
Hello!大家好,今天分享一个Goc游戏。
//注:以下代码为Goc原创代码。
大家可以在下面网址写入代码
慧通教育http://www.51goc.com
注:Goc编辑器路径:
www.51goc.com ➡ 登录 ➡ 游客登陆 ➡ 入门课程 ➡ WebGoc
实在不行就试一下 下面这个链接:
int n,m,k;
bool book[45][45],map[45][45];
void open(int x,int y){
p.moveTo(-m*10,n*10);
p.fd(20*(y-1)).rt(90).fd(20*(x-1)).lt(90);
p.rr(20,20,8).r(20,20);
}
void dfs(int posx,int posy){
if(posx<1||posy<1||posx>n||posy>n||book[posx][posy]){
return;
}
book[posx][posy]=true;
int nearby_bombs=0;
for(int x_plus=-1;x_plus<=1;x_plus++){
for(int y_plus=-1;y_plus<=1;y_plus++){
if(x_plus==0&&y_plus==0) continue;
if(map[posx+x_plus][posy+y_plus]){
nearby_bombs++;
}
}
}
open(posx,posy);
if(nearby_bombs) p.text(nearby_bombs,0,15);
else{
for(int x_plus=-1;x_plus<=1;x_plus++){
for(int y_plus=-1;y_plus<=1;y_plus++){
if(x_plus==0&&y_plus==0) continue;
dfs(posx+x_plus,posy+y_plus);
}
}
}
}
int main(){
p.hide().up().speed(10);
p.text("goc扫雷",10,100);
p.bk(100).text("作者:无名氏",12,75);
p.fd(350).text("BOOM!",1,200);
wait(3);
p.cls();
p.text("输入行数、列数、大概地雷数");
cin>>n>>m>>k;
int dl=0;
p.cls();
p.moveTo(-m*10,n*10);
for(int i=1;i<=n;i++) p.fd(20).text(i,7,10).bk(20).rt(90).fd(20).lt(90);
p.lt(90);
p.moveTo(-m*10,n*10);
for(int i=1;i<=n;i++) p.fd(20).text(i,7,10).bk(20).lt(90).fd(20).rt(90);
p.rt(180);
p.moveTo(-m*10,n*10);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
map[i][j]=(rand(1,n*m)<=k);
if(map[i][j]) dl++;
p.rgb(i*8,200-j*6,i*7-j*5).rr(20,20,16).r(20,20).fd(20);
}
p.rt(90).fd(20).rt(90).fd(m*20).lt(180);
}
int temp=dl;
int x,y,mod,biaoji;
while(1){
cin>>x>>y>>mod;
p.moveTo(-m*10,n*10);
if(mod==1){
if(book[x][y]||biaoji==temp) continue;
p.fd(20*(y-1)).rt(90).fd(20*(x-1)).lt(90);
p.rr(20,20,1).r(20,20);
if(map[x][y]) dl--;
biaoji++;
if(dl==0){
p.cls();
p.moveTo(0,0);
p.text("通关!",250,250);
return 0;
}
}
else if(mod==0){
if(map[x][y]){
p.cls().rr(1000,1000,1).rr(600,600,14).text("Boom!",0,100);
wait(3);
return 0;
}
else dfs(x,y);
}
else{
p.fd(20*(y-1)).rt(90).fd(20*(x-1)).lt(90);
p.rgb(x*8,200-y*6,x*7-y*5).rr(20,20,16).r(20,20);
}
}
return 0;
}