本文目录一览:
- 1、自己如何制作小游戏?
- 2、怎么制作小游戏?
- 3、制作游戏代码
- 4、自己如何制作小游戏?
- 5、用C语言编写的小游戏代码是什么?
自己如何制作小游戏?
制作小游戏需要学相关的编程知识。不同的游戏需要不同的编程代码。
编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
执行原理:
计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。
这种将高级程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。
解释方式下,计算机对高级语言书写的源程序一边解释一边执行,不能形成目标文件和执行文件。
编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序。
然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。
怎么制作小游戏?
温都死就行
bat编辑
我给你个小游戏你看看
行的话给我qq 咱们交流交流
不行就无视吧 ((我也是新手))
复制代码到txt 并从命名为bat文件
运行文件
@echo off
color 3e
setlocal EnableDelayedExpansion
set conm1x1=14
set conm1x2=7
:conm1
set /a conm1x1+=2
set /a conm1x2+=1
mode con: cols=!conm1x1! lines=!conm1x2!
if !conm1x2! lss 28 (goto conm1)
title freelancer 体验测试I版[战场]
echo 是否需要看帮助?(y=yes)(n=no)默认yes
set /p helpn=
if !helpn! equ n (goto jump)
cls
echo *****************************************************
echo w是向机头所指方向向前1
echo a是将机头往左调动..
echo d是将机头往右调动..
echo s是回复能量...
echo *****************************************************
echo g为射击
echo h为导弹
echo *****************************************************
echo h为超空间跳跃出战场
echo n为重力井(不让对手超空间跳跃)
echo *****************************************************
echo 本测试版暂未编写存档程序..
echo 超空间跳跃为退出...
echo 走动...空间跳跃..射击..发射导弹都要费能量..
echo 射击=21~42(5% miss) 导弹=66~118 (20%miss)
echo 机身=1000 能量=500
echo a/2 ^ b [a 赢] b/2 ^ a [b 赢] {否则同归}
echo *****************************************************
pause
:jump
cls
rem *****************设置坐标,绘图部分*****************
for /l %%a in (1,1,11) do (
for /l %%b in (1,1,11) do (
set px%%ay%%b=█
)
)
set show1=┏━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┓
set show12=┗━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┛
for /l %%a in (2,1,11) do set show%%a=┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
set plzt=4
set cuzt=8
set plms=5
set cums=5
set plny=500
set cuny=500
set plx=1
set ply=1
set cux=11
set cuy=11
set plzj=1000
set cuzj=1000
set crs=0
set fq=none
set cunjump=0
set plnjump=0
set plnjhh=0
set cunjhh=0
mode con: cols=90 lines=30
:main
cls
call :crscount
call :maincount
:main2
call :hhcount
call :mainztc
call :mainscan
echo !show1!机身:!plzj! 能源:!plny! 导弹:!plms! 第!mainhh!回合
echo ┃!px1y1!┃!px1y2!┃!px1y3!┃!px1y4!┃!px1y5!┃!px1y6!┃!px1y7!┃!px1y8!┃!px1y9!┃!px1y10!┃!px1y11!┃x:!plx! y:!ply! 重力井影响:!plnjump!剩余:!plnjhh!
echo !show2!机身:!cuzj! 能源:!cuny! 导弹:!cums!
echo ┃!px2y1!┃!px2y2!┃!px2y3!┃!px2y4!┃!px2y5!┃!px2y6!┃!px2y7!┃!px2y8!┃!px2y9!┃!px2y10!┃!px2y11!┃x:!cux! y:!cuy! 重力井影响:!cunjump!剩余:!cunjhh!
for /l %%a in (3,1,11) do (
echo !show%%a!
echo ┃!px%%ay1!┃!px%%ay2!┃!px%%ay3!┃!px%%ay4!┃!px%%ay5!┃!px%%ay6!┃!px%%ay7!┃!px%%ay8!┃!px%%ay9!┃!px%%ay10!┃!px%%ay11!┃
)
echo %show12%
echo 返回信息:%fq%
echo 电脑执行了:%cfq%
set main=
set /p main=
if !main! equ w (call :movew)
if !main! equ a (call :movea)
if !main! equ d (call :moved)
if !main! equ s (set plny=500set fq=已回复能源)
if !main! equ g (call :shot)
if !main! equ h (call :mis)
if !main! equ j (call :jump)
if !main! equ n (call :njump)
call :cpuai
goto main
rem ==============计算、刷频区==================
rem ****************回合计算********************
:hhcount
set /a mainhh+=1
if %plnjhh% gtr 0 (set /a plnjhh-=1)
if %cunjhh% gtr 0 (set /a plnjhh-=1)
if %cunjhh% equ 0 (set cunjump=0)
if %plnjhh% equ 0 (set plnjump=0)
goto :eof
rem ******************end*-*********************
rem ****************撞击计算********************
:crscount
if !plx! equ !cux! (
if !ply! equ !cuy! (
rem 000
) else (goto :eof)
rem 000
) else (goto :eof)
set crs=1
set crs1=!plzj!
set crs2=!cuzj!
set crs3=!plzj!
set /a crs1/=2
if !crs1! gtr !crs2! (
set crse=player
set cuzj=0
goto :eof
)
set /a crs2/=2
if !crs2! gtr !crs3! (
set crse=cpu
set plzj=0
goto :eof
)
set crse=both
set cuzj=0
set plzj=0
goto :eof
rem **************撞击计算完毕**************
rem ****************输赢计算****************
:maincount
if !plzj! lss 1 (
if !cuzj! lss 1 (
goto bothloss
)
)
if !plzj! lss 1 (goto playerloss)
if !cuzj! lss 1 (goto cpuloss)
goto :eof
rem **************输赢计算完毕**************
rem **************机身显示计算**************
:mainztc
if %plzt% equ 1 (set plzts=↑)
if %plzt% equ 2 (set plzts=↗)
if %plzt% equ 3 (set plzts=→)
if %plzt% equ 4 (set plzts=↘)
if %plzt% equ 5 (set plzts=↓)
if %plzt% equ 6 (set plzts=↙)
if %plzt% equ 7 (set plzts=←)
if %plzt% equ 8 (set plzts=↖)
if %cuzt% equ 1 (set cuzts=↑)
if %cuzt% equ 2 (set cuzts=↗)
if %cuzt% equ 3 (set cuzts=→)
if %cuzt% equ 4 (set cuzts=↘)
if %cuzt% equ 5 (set cuzts=↓)
if %cuzt% equ 6 (set cuzts=↙)
if %cuzt% equ 7 (set cuzts=←)
if %cuzt% equ 8 (set cuzts=↖)
rem *************机身显示计算end************
rem ******************刷频******************
:mainscan
set px!plx!y!ply!=!plzts!
set px!cux!y!cuy!=!cuzts!
goto :eof
rem ****************刷频end*****************
rem ==============计算区end=================
rem ===============输赢区===================
:bothloss
cls
echo 同归了....额...惨...
echo 任意键退出
pausenul
exit
:playerloss
echo 哇!电脑都打不赢....额...惨...
echo 任意键退出
pausenul
exit
:cpuloss
echo 你赢了!
echo 任意键退出
pausenul
exit
rem ==============输赢区end=================
rem ==============玩家操作区================
:movew
if !plny! lss 20 (set fq=没能源了..goto :eof)
if %plzt% equ 1 (
if %plx% equ 1 (set fq=无法走动goto :eof)
set px!plx!y!ply!=█
set /a plx-=1
)
if %plzt% equ 2 (
if %plx% gtr 1 (
if %ply% equ 11 (set fq=无法走动goto :eof)
) else (goto :eof)
set px!plx!y!ply!=█
set /a plx-=1
set /a ply+=1
)
if %plzt% equ 3 (
if %ply% equ 11 (set fq=无法走动goto :eof)
set px!plx!y!ply!=█
set /a ply+=1
)
if %plzt% equ 4 (
if %plx% lss 12 (
if %ply% equ 11 (set fq=无法走动goto :eof)
) else (set fq=无法走动goto :eof)
set px!plx!y!ply!=█
set /a plx+=1
set /a ply+=1
)
if %plzt% equ 5 (
if %plx% equ 11 (set fq=无法走动goto :eof)
set px!plx!y!ply!=█
set /a plx+=1
)
if %plzt% equ 6 (
if %plx% equ 11 (set fq=无法走动goto :eof)
if %ply% equ 1 (set fq=无法走动goto :eof)
set px!plx!y!ply!=█
set /a plx+=1
set /a ply-=1
)
if %plzt% equ 7 (
if %ply% equ 1 (set fq=无法走动goto :eof)
set px!plx!y!ply!=█
set /a ply-=1
)
if %plzt% equ 8 (
if %ply% equ 1 (set fq=无法走动goto :eof)
if %plx% equ 1 (set fq=无法走动goto :eof)
set px!plx!y!ply!=█
set /a ply-=1
set /a plx-=1
)
set /a plny-=%random%%%16+2
set fq=走动成功
goto :eof
:movea
if !plny! lss 8 (set fq=没能源了..goto :eof)
set fq=成功转向
set /a plny-=%random%%%6+2
if %plzt% equ 1 (set plzt=8goto :eof)
set /a plzt-=1
goto :eof
:moved
if !plny! lss 8 (set fq=没能源了..goto :eof)
set fq=成功转向
set /a plny-=%random%%%6+2
if %plzt% equ 8 (set plzt=1goto :eof)
set /a plzt+=1
goto :eof
:shot
if !plny! lss 11 (set fq=没有能源了goto :eof)
if !plx! equ !cux! (
set shot1=%random%%%20+1
if !shot1! equ 6 (set fq=未击中goto :eof)
set /a shott=%random%%%42+21
set /a cuzj-=%shott%
set fq=击伤对方%shott%
set /a plny-=%random%%%22+6
goto :eof
)
if !ply! equ !cuy! (
set /a shot1=%random%%%20+1
if !shot1! equ 6 (set fq=未击中goto :eof)
set /a shott=%random%%%76+49
set /a cuzj-=%shott%
set fq=击伤对方%shott%
set /a plny-=%random%%%22+6
goto :eof
)
set fq=请在与对方同行/同列的地方开火
goto :eof
:mis
if !plms! equ 0 (set fq=没有导弹了goto :eof)
if !plny! lss 20 (set fq=没有能源了goto :eof)
set /a plms-=1
set /a plny-=!random!%%19+12
set /a mist=!random!%%5+1
if %mist% equ 4 (set fq=导弹未击中goto :eof)
set /a miss=!random!%%52+66
set /a cuzj-=%miss%
set fq=导弹伤害敌机%miss%
goto :eof
:jump
if %plny% lss 30 (set fq=没能源了goto :eof)
if %plnjump% equ 1 (set fq=敌重力井已开启goto :eof)
set /a plny-=%random%%%27+12
set /a jump=!random!%%9+1
if %jump% equ 5 (set fq=跳跃失败goto :eof)
goto jumpsussd
:njump
if %plny% lss 30 (set fq=没能源了goto :eof)
set /a plny-=%random%%%27+12
set /a njrd=!random!%%25+1
if !njrd! equ 12 (set fq=重力井开启失败goto :eof)
if !cunjump! equ 1 (set fq=重力井已开启goto :eof)
set cunjump=1
set cunjhh=6
set fq=重力井开启成功
goto :eof
rem ============玩家操作区end===============
:jumpsussd
echo 跳跃成功
echo 任意键退出战场
pausenul
exit
rem =========电脑AI========
:cpuai
if %cuny% lss 40 (set cuny=500goto :eof)
if %cuzj% lss 100 (
if %cunjump% equ 1 (set cfq=电脑试图空间跳跃..失败goto :eof)
set /a cjtemp=!random!%%9+1
if !cjtemp! equ 6 (set cfq=电脑试图空间跳跃..失败goto :eof)
goto cupjs
)
if %cums% gtr 0 (
set /a cums-=1
set /a cuny-=!random!%%19+12
set /a mist=!random!%%5+1
if !mist! equ 4 (set cfq=发射导弹!导弹未击中goto :eof)
set /a miss=!random!%%52+66
set /a plzj-=!miss!
set cfq=发射导弹..导弹伤害!miss!
goto :eof
)
if !cux! equ !plx! (
set shot1=%random%%%20+1
if !shot1! equ 6 (set cfq=射击.未击中goto :eof)
set /a shott=%random%%%42+21
set /a plzj-=%shott%
set cfq=射击..击伤%shott%
set /a cuny-=%random%%%22+6
goto :eof
)
if !cuy! equ !ply! (
set /a shot1=%random%%%20+1
if !shot1! equ 6 (set cfq=射击.未击中goto :eof)
set /a shott=%random%%%42+21
set /a plzj-=%shott%
set cfq=射击..击伤%shott%
set /a cuny-=%random%%%22+6
goto :eof
)
goto :eof
rem ===============================
:cpujs
cls
echo 电脑空间跳跃成功!任意键退出!
pause
exit
制作游戏代码
Dim game(3,2),i,j,result,num '定义二维数组 二维长度3, 一维长度2
Dim fso ,ws,f ,logFileWrite,logFileRead, fileStr,flag,flagFailNum, flagIndex ' 定义日志文件
set ws = CreateObject("wscript.shell")
Set fso = CreateObject("scripting.filesystemobject")
If fso.fileexists("C:\Users\18190\Desktop\vbs\测试\game_log.txt") Then
Else
Set f = fso.createtextfile("C:\Users\18190\Desktop\vbs\测试\game_log.txt",true)
'If fso.fileexists("C:\Users\18190\Desktop\vbs\测试\game_log.txt") Then
' Set logFileWrite = fso.OpenTextFile("C:\Users\18190\Desktop\vbs\测试\game_log.txt",8,true)
' logFileWrite.writeLine "数字猜猜猜小游戏-游戏日志"
' end if
End If
For i=0 To 2 ' 关卡赋值
For j=4 To 5
game(i,j-4)= i*3+j
Next
Next
'For i=0 To 2
' For j=0 To 1
'MsgBox "game("i","j"): " game(i,j)
'Next
'Next
' 选择操作
Dim cnum, failNum, sucFlag,t
failNum =0
sucFlag =0
Do While 1=1
If sucFlag=1 Then
Exit Do
End if
If failNum =3 Then
MsgBox "您有连续三次操作失误,系统将直接退出..."
Exit do
end if
cnum = InputBox( "欢迎来到 数字猜猜猜小游戏 请选择操作:"chr(10)" 1.注册 2.登录 3.退出","数字猜猜猜小游戏")
If cnum ="" Then
cnum = "-1"
End if
Select Case cnum
Case 1
' 账户注册
Dim juname, upwd,regStr
regStr = ""
do while regStr = ""
uname = InputBox("请输入注册账号: ","数字猜猜猜小游戏-注册")
upwd = InputBox("请输入注册密码: ","数字猜猜猜小游戏-注册")
If uname "" Then
If upwd "" Then
regStr = uname"#"upwd
Else
regStr =""
MsgBox "您输入的注册账号密码有误,请重新输入"
End If
Else
regStr =""
MsgBox "您输入的注册账号密码有误,请重新输入"
End If
If regStr "" Then
If fso.fileexists("C:\Users\18190\Desktop\vbs\测试\game_user.txt") Then
Set logFileWrite = fso.OpenTextFile("C:\Users\18190\Desktop\vbs\测试\game_user.txt",8,true)
t= Year(now)"-"month(now)"-"day(now)" " Hour(now)":"minute(now)":"second(now)
'logFileWrite.WriteBlankLines 1
logFileWrite.writeLine regStr " "t
logFileWrite.close
MsgBox "注册成功!"
exit do
else
Set f = fso.createtextfile("C:\Users\18190\Desktop\vbs\测试\game_user.txt",true)
If fso.fileexists("C:\Users\18190\Desktop\vbs\测试\game_user.txt") Then
Set logFileWrite = fso.OpenTextFile("C:\Users\18190\Desktop\vbs\测试\game_user.txt",8,true)
logFileWrite.writeLine "数字猜猜猜小游戏-用户数据"
logFileWrite.writeLine regStr
logFileWrite.close
MsgBox "注册成功!"
exit do
end if
End If
end if
loop
'wscript.sleep 1000
case 2
自己如何制作小游戏?
《自己动手制作小游戏》说明:一直在玩别人做的FLASH游戏么?现在给你个机会大显身手!来吧,制作自己的游戏!只是刚来时需要熟悉一下制作流程,
NEW是开始制作新游戏,点下去,用鼠标在蓝色区增加障碍,右下角是关数可设,下边有个SPECS按钮,里面有游戏非常详细的设置项,按加减号即可。上边还可以写上你的名字游戏名字,分数设定等。全部设置好了之后按MENU,点一下出现的按钮,会出现空白处很多文字,这个可以复制下来留存,然后按右边的钮,再点右边的PLAY,哈哈,竟然可以玩自己制作的游戏啦!!真是好神奇啊!
记得把自己制作游戏复制下来的文字保存,在一开始的界面有个LOAD,在空白处贴上这些文字,就可以再次重玩你自己制作的游戏啦!还可以把这个复制下来发给别人分享哦!
至于第三个按钮GO,可以玩玛里奥,索尼克之类的经典的小游戏啦!
回答者:741625911
用C语言编写的小游戏代码是什么?
"扫雷"小游戏C代码
#includestdio.h
#includemath.h
#includetime.h
#includestdlib.h
main( )
{char a[102][102],b[102][102],c[102][102],w;
int i,j; /*循环变量*/
int x,y,z[999]; /*雷的位置*/
int t,s; /*标记*/
int m,n,lei; /*计数*/
int u,v; /*输入*/
int hang,lie,ge,mo; /*自定义变量*/
srand((int)time(NULL)); /*启动随机数发生器*/
leb1: /*选择模式*/
printf("\n 请选择模式:\n 1.标准 2.自定义\n");
scanf("%d",mo);
if(mo==2) /*若选择自定义模式,要输入三个参数*/
{do
{t=0; printf("请输入\n行数 列数 雷的个数\n");
scanf("%d%d%d",hang,lie,ge);
if(hang2){printf("行数太少\n"); t=1;}
if(hang100){printf("行数太多\n");t=1;}
if(lie2){printf("列数太少\n");t=1;}
if(lie100){printf("列数太多\n");t=1;}
if(ge1){printf("至少要有一个雷\n");t=1;}
if(ge=(hang*lie)){printf("雷太多了\n");t=1;}
}while(t==1);
}
else{hang=10,lie=10,ge=10;} /*否则就是选择了标准模式(默认参数)*/
for(i=1;i=ge;i=i+1) /*确定雷的位置*/
{do
{t=0; z[i]=rand( )%(hang*lie);
for(j=1;ji;j=j+1){if(z[i]==z[j]) t=1;}
}while(t==1);
}
for(i=0;i=hang+1;i=i+1) /*初始化a,b,c*/
{for(j=0;j=lie+1;j=j+1) {a[i][j]='1'; b[i][j]='1'; c[i][j]='0';} }
for(i=1;i=hang;i=i+1)
{for(j=1;j=lie;j=j+1) {a[i][j]='+';} }
for(i=1;i=ge;i=i+1) /*把雷放入c*/
{x=z[i]/lie+1; y=z[i]%lie+1; c[x][y]='#';}
for(i=1;i=hang;i=i+1) /*计算b中数字*/
{for(j=1;j=lie;j=j+1)
{m=48;
if(c[i-1][j-1]=='#')m=m+1; if(c[i][j-1]=='#')m=m+1;
if(c[i-1][j]=='#')m=m+1; if(c[i+1][j+1]=='#')m=m+1;
if(c[i][j+1]=='#')m=m+1; if(c[i+1][j]=='#')m=m+1;
if(c[i+1][j-1]=='#')m=m+1; if(c[i-1][j+1]=='#')m=m+1;
b[i][j]=m;
}
}
for(i=1;i=ge;i=i+1) /*把雷放入b中*/
{x=z[i]/lie+1; y=z[i]%lie+1; b[x][y]='#';}
lei=ge; /*以下是游戏设计*/
do
{leb2: /*输出*/
system("cls");printf("\n\n\n\n");
printf(" ");
for(i=1;i=lie;i=i+1)
{w=(i-1)/10+48; printf("%c",w);
w=(i-1)%10+48; printf("%c ",w);
}
printf("\n |");
for(i=1;i=lie;i=i+1){printf("---|");}
printf("\n");
for(i=1;i=hang;i=i+1)
{w=(i-1)/10+48; printf("%c",w);
w=(i-1)%10+48; printf("%c |",w);
for(j=1;j=lie;j=j+1)
{if(a[i][j]=='0')printf(" |");
else printf(" %c |",a[i][j]);
}
if(i==2)printf(" 剩余雷个数");
if(i==3)printf(" %d",lei);
printf("\n |");
for(j=1;j=lie;j=j+1){printf("---|");}
printf("\n");
}
scanf("%d%c%d",u,w,v); /*输入*/
u=u+1,v=v+1;
if(w!='#'a[u][v]=='@')
goto leb2;
if(w=='#')
{if(a[u][v]=='+'){a[u][v]='@'; lei=lei-1;}
else if(a[u][v]=='@'){a[u][v]='?'; lei=lei+1;}
else if(a[u][v]=='?'){a[u][v]='+';}
goto leb2;
}
a[u][v]=b[u][v];
leb3: /*打开0区*/
t=0;
if(a[u][v]=='0')
{for(i=1;i=hang;i=i+1)
{for(j=1;j=lie;j=j+1)
{s=0;
if(a[i-1][j-1]=='0')s=1; if(a[i-1][j+1]=='0')s=1;
if(a[i-1][j]=='0')s=1; if(a[i+1][j-1]=='0')s=1;
if(a[i+1][j+1]=='0')s=1; if(a[i+1][j]=='0')s=1;
if(a[i][j-1]=='0')s=1; if(a[i][j+1]=='0')s=1;
if(s==1)a[i][j]=b[i][j];
}
}
for(i=1;i=hang;i=i+1)
{for(j=lie;j=1;j=j-1)
{s=0;
if(a[i-1][j-1]=='0')s=1; if(a[i-1][j+1]=='0')s=1;
if(a[i-1][j]=='0')s=1; if(a[i+1][j-1]=='0')s=1;
if(a[i+1][j+1]=='0')s=1; if(a[i+1][j]=='0')s=1;
if(a[i][j-1]=='0')s=1; if(a[i][j+1]=='0')s=1;
if(s==1)a[i][j]=b[i][j];
}
}
for(i=hang;i=1;i=i-1)
{for(j=1;j=lie;j=j+1)
{s=0;
if(a[i-1][j-1]=='0')s=1; if(a[i-1][j+1]=='0')s=1;
if(a[i-1][j]=='0')s=1; if(a[i+1][j-1]=='0')s=1;
if(a[i+1][j+1]=='0')s=1; if(a[i+1][j]=='0')s=1;
if(a[i][j-1]=='0')s=1; if(a[i][j+1]=='0')s=1;
if(s==1)a[i][j]=b[i][j];
}
}
for(i=hang;i=1;i=i-1)
{for(j=lie;j=1;j=j-1)
{s=0;
if(a[i-1][j-1]=='0')s=1; if(a[i-1][j+1]=='0')s=1;
if(a[i-1][j]=='0')s=1; if(a[i+1][j-1]=='0')s=1;
if(a[i+1][j+1]=='0')s=1;if(a[i+1][j]=='0')s=1;
if(a[i][j-1]=='0')s=1; if(a[i][j+1]=='0')s=1;
if(s==1)a[i][j]=b[i][j];
}
}
for(i=1;i=hang;i=i+1) /*检测0区*/
{for(j=1;j=lie;j=j+1)
{if(a[i][j]=='0')
{if(a[i-1][j-1]=='+'||a[i-1][j-1]=='@'||a[i-1][j-1]=='?')t=1;
if(a[i-1][j+1]=='+'||a[i-1][j+1]=='@'||a[i-1][j+1]=='?')t=1;
if(a[i+1][j-1]=='+'||a[i+1][j-1]=='@'||a[i+1][j-1]=='?')t=1;
if(a[i+1][j+1]=='+'||a[i+1][j+1]=='@'||a[i+1][j+1]=='?')t=1;
if(a[i+1][j]=='+'||a[i+1][j]=='@'||a[i+1][j]=='?')t=1;
if(a[i][j+1]=='+'||a[i][j+1]=='@'||a[i][j+1]=='?')t=1;
if(a[i][j-1]=='+'||a[i][j-1]=='@'||a[i][j-1]=='?')t=1;
if(a[i-1][j]=='+'||a[i-1][j]=='@'||a[i-1][j]=='?')t=1;
}
}
}
if(t==1)goto leb3;
}
n=0; /*检查结束*/
for(i=1;i=hang;i=i+1)
{for(j=1;j=lie;j=j+1)
{if(a[i][j]!='+'a[i][j]!='@'a[i][j]!='?')n=n+1;}
}
}
while(a[u][v]!='#'n!=(hang*lie-ge));
for(i=1;i=ge;i=i+1) /*游戏结束*/
{x=z[i]/lie+1; y=z[i]%lie+1; a[x][y]='#'; }
printf(" ");
for(i=1;i=lie;i=i+1)
{w=(i-1)/10+48; printf("%c",w);
w=(i-1)%10+48; printf("%c ",w);
}
printf("\n |");
for(i=1;i=lie;i=i+1){printf("---|");}
printf("\n");
for(i=1;i=hang;i=i+1)
{w=(i-1)/10+48; printf("%c",w);
w=(i-1)%10+48; printf("%c |",w);
for(j=1;j=lie;j=j+1)
{if(a[i][j]=='0')printf(" |");
else printf(" %c |",a[i][j]);
}
if(i==2)printf(" 剩余雷个数");
if(i==3)printf(" %d",lei); printf("\n |");
for(j=1;j=lie;j=j+1) {printf("---|");}
printf("\n");
}
if(n==(hang*lie-ge)) printf("你成功了!\n");
else printf(" 游戏结束!\n");
printf(" 重玩请输入1\n");
t=0;
scanf("%d",t);
if(t==1)goto leb1;
}
/*注:在DEV c++上运行通过。行号和列号都从0开始,比如要确定第0行第9列不是“雷”,就在0和9中间加入一个字母,可以输入【0a9】三个字符再按回车键。3行7列不是雷,则输入【3a7】回车;第8行第5列是雷,就输入【8#5】回车,9行0列是雷则输入【9#0】并回车*/