搜索
楼主: bngelb
打印 上一主题 下一主题

[原创] Xcode写的C语言版扫雷,啊哈C上可以用

  [复制链接]
31#
发表于 2013-7-3 01:44:25 来自手机 | 只看该作者
供研究使用。
32#
发表于 2013-7-6 21:06:57 | 只看该作者
xcode全程写得?
33#
发表于 2013-7-7 22:46:43 | 只看该作者
好厉害啊,学习一下!
34#
发表于 2013-7-11 16:01:02 | 只看该作者
作者可以试试“光标式”地选择翻开的区域,我编了个井字棋,采用的就是“光标式”落子+“asdw”方向控制
贴下代码(虽然是C++的,但C也能实现)作者需要的话参考一下

[code=Cpp width=740px]#include <iostream>
#include<conio.h>
#include"ranT.h"
using namespace std;
class ge
{
public:
ge() {}
ge& operator=(char a) { onit=a;return *this; }
char Getonit() { return onit; }
char Getinit() { return init; }
void godown(){init=onit;onit=NULL;}
void goup(){if(onit==NULL)onit=init;}
private:
char onit;
char init;
}court[3][3];
inline void godownall()
{
for(int a=0;a<3;a++)
{
for(int b=0;b<3;b++)
court[a].godown();
}
}
inline void goupall()
{
for(int a=0;a<3;a++)
{
for(int b=0;b<3;b++)
court[a].goup();
}
}
inline void printonit()
{
for(int a=0;a<3;a++)
{
for(int b=0;b<3;b++)
{
cout<<court[a].Getonit()<<'|';
}
cout<<endl;
}
}
inline void printinit()
{
for(int a=0;a<3;a++)
{
for(int b=0;b<3;b++)
{
cout<<court[a].Getinit()<<'|';
}
cout<<endl;
}
}
inline void chushi()
{
for(int a=0;a<3;a++)
{
for(int b=0;b<3;b++)
{
court[a]=NULL;
}
}
godownall();
}
int main()
{ int c=1,d=1;
bool who=true;//T-O
e:;
chushi();
cout<<"按任意键开始..."<<endl;
while(1)
{
goupall();
char a;
if(who)
a=getch();
else
{
int b=ranint(1,5);
switch(b)
{
case 1:
a='w';
break;
case 2:
a='s';
break;
case 3:
a='a';
break;
case 4:
a='d';
break;
case 5:
a=13;
}
}
switch(a)
{
case 'w':
court[c][d]=NULL;
c--;
if(c<0)
c=2;
if(who)
court[c][d]='O';
else
court[c][d]='X';
break;
case 's':
court[c][d]=NULL;
c++;
if(c>2)
c=0;
if(who)
court[c][d]='O';
else
court[c][d]='X';
break;
case 'a':
court[c][d]=NULL;
d--;
if(d<0)
d=2;
if(who)
court[c][d]='O';
else
court[c][d]='X';
break;
case 'd':
court[c][d]=NULL;
d++;
if(d>2)
d=0;
if(who)
court[c][d]='O';
else
court[c][d]='X';
break;
case 13:
if(court[c][d].Getinit()!='X'&&court[c][d].Getinit()!='O')
{
godownall();
who=!who;
if(!who)
cout<<"按任意键让电脑落子"<<endl;
_sleep(100);
}
break;
}
for(int a=0;a<3;a++)
{
if(court[a][0].Getinit()==court[a][1].Getinit()&&court[a][0].Getinit()==court[a][2].Getinit()&&court[a][0].Getinit()!=NULL)
{
cout<<"执"<<court[a][0].Getinit()<<"者胜!"<<endl;
goto e;
}
if(court[0][a].Getinit()==court[1][a].Getinit()&&court[0][a].Getinit()==court[2][a].Getinit()&&court[0][a].Getinit()!=NULL)
{
cout<<"执"<<court[0][a].Getinit()<<"者胜!"<<endl;
goto e;
}
}
if((court[0][0].Getinit()==court[1][1].Getinit()&&court[0][0].Getinit()==court[2][2].Getinit()||court[0][2].Getinit()==court[1][1].Getinit()&&court[0][2].Getinit()==court[2][0].Getinit())&&court[1][1].Getinit()!=NULL)
{
cout<<"执"<<court[1][1].Getinit()<<"者胜!"<<endl;
goto e;
}
int ping=0;
for(int a=0;a<3;a++)
{ for(int b=0;b<3;b++)
{
if(court[a].Getinit()!=NULL)
ping++;
}
}
if(ping==9)
{
cout<<"平局!"<<endl;
goto e;
}
goupall();
while(1)
{ if(kbhit())
break;
printonit();
_sleep(250);
system("cls");
printinit();
_sleep(250);
system("cls");
}
}
}
[/code]
35#
发表于 2013-7-12 16:08:44 | 只看该作者
123学习嘻嘻嘻
36#
发表于 2013-7-27 23:07:02 | 只看该作者
哈有意思好玩
37#
发表于 2013-7-30 12:17:01 | 只看该作者
下来放进去看看啊
38#
发表于 2013-7-30 20:18:17 | 只看该作者
高手啊,新手来学习
39#
发表于 2013-7-30 20:33:43 | 只看该作者
用C++怎么写。。。。
40#
发表于 2013-7-30 20:57:43 | 只看该作者
回贴也是一种对别人的肯定,哈哈:)
41#
发表于 2013-8-2 12:34:03 | 只看该作者
看看先啊啊
42#
发表于 2013-8-2 12:34:03 | 只看该作者
看看先啊啊
43#
发表于 2013-8-2 12:34:10 | 只看该作者
看看先啊啊
44#
发表于 2013-8-2 12:34:32 | 只看该作者
看看先啊啊
45#
发表于 2013-8-2 12:34:46 | 只看该作者
看看先啊啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表