c游戏编程代码大全

一、如何做一个C语言编程的汉诺塔游戏要有源代码。

1、 printf("%c-->%c\n",x,y);

2、 void hanoi(int n,char one,char two,char three)

3、 printf("input the number of disks:");

4、 printf("the step to moving%3d diskes:\n",m);

5、 hanoi(m,'A','B','C');

6、其实算法非常简单,当盘子的个数为n时,移动的次数应等于2^n– 1(有兴趣的可以自己证明试试看)。后来一位**学者发现一种出人意料的简单方法,只要轮流进行两步操作就可以了。首先把三根柱子按顺序排成品字型,把所有的圆盘按从大到小的顺序放在柱子A上,根据圆盘的数量确定柱子的排放顺序:若n为偶数,按顺时针方向依次摆放 A B C;

7、若n为奇数,按顺时针方向依次摆放 A C B。

8、(1)按顺时针方向把圆盘1从现在的柱子移动到下一根柱子,即当n为偶数时,若圆盘1在柱子A,则把它移动到B;若圆盘1在柱子B,则把它移动到C;若圆盘1在柱子C,则把它移动到A。

9、(2)接着,把另外两根柱子上可以移动的圆盘移动到新的柱子上。即把非空柱子上的圆盘移动到空柱子上,当两根柱子都非空时,移动较小的圆盘。这一步没有明确规定移动哪个圆盘,你可能以为会有多种可能*,其实不然,可实施的行动是**的。

10、(3)反复进行(1)(2)操作,*后就能按规定完成汉诺塔的移动。

11、所以结果非常简单,就是按照移动规则向一个方向移动金片:

12、如3阶汉诺塔的移动:A→C,A→B,C→B,A→C,B→A,B→C,A→C

13、汉诺塔问题也是程序设计中的经典递归问题,下面我们将给出递归和非递归的不同实现源代码。

二、贪吃蛇游戏的C语言编程

// friend bool isDead(const Cmp& cmp);

Cmp(int r,int l){setPoint(r,l);}

void setPoint(int r,int l){rSign=r;lSign=l;}

Cmp operator-(const Cmp&m)const

return Cmp(rSign-m.rSign,lSign-m.lSign);

Cmp operator+(const Cmp&m)const

return Cmp(rSign+m.rSign,lSign+m.lSign);

const int maxSize= 5;//初始蛇身长度

vector<vector<char>> snakeMap;//整个游戏界面

queue<Cmp> snakeBody;//蛇身

char getSymbol(const Cmp& c)const

return snakeMap[c.lSign][c.rSign];

return( getSymbol(cmp)=='@'|| cmp.rSign== row-1

|| cmp.rSign== 0|| cmp.lSign== line-1||

void InitInstance();//初始化游戏界面

c游戏编程代码大全bool UpdataGame();//更新游戏界面

void ShowGame();//显示游戏界面

snakeMap.resize(line);// snakeMap[竖坐标][横坐标]

for(int m=1;m<maxSize+1;m++)

snakeMap[line/2][m]='@';

snakeBody.push(Cmp(m,(line/2)));

secondSign.setPoint(maxSize-1,line/2);

int Csnake::GetDirections()const

if(GetKeyState(VK_UP)<0) return 1;//1表示按下上键

if(GetKeyState(VK_DOWN)<0) return 2;//2表示按下下键

if(GetKeyState(VK_LEFT)<0) return 3;//3表示按下左键

if(GetKeyState(VK_RIGHT)<0)return 4;//4表示按下右键

//-----------------------------------------------

cout<<"Total score:"<<score<<endl;

//开始初始已经吃食,产生一个食物

//如果吃了一个,才再出现第2个食物

//坐标范围限制在(1,1)到(line-2,row-2)对点矩型之间

l=(rand()%(line-2))+1;//竖坐标

//如果随机产生的坐标不是蛇身,则可行

if(snakeMap[l][r]!='@')

}while(snakeMap[l][r]=='@');

//如果蛇头和社颈的横坐标不相同,执行下面操作

if(firstSign.rSign!=secondSign.rSign)nextSign.setPoint(firstSign.rSign,firstSign.lSign-1);

//否则,如下在原本方向上继续移动

else nextSign=firstSign+(firstSign-secondSign);

if(firstSign.rSign!=secondSign.rSign)nextSign.setPoint(firstSign.rSign,firstSign.lSign+1);

else nextSign=firstSign+(firstSign-secondSign);

if(firstSign.lSign!=secondSign.lSign)nextSign.setPoint(firstSign.rSign-1,firstSign.lSign);

else nextSign=firstSign+(firstSign-secondSign);

if(firstSign.lSign!=secondSign.lSign)nextSign.setPoint(firstSign.rSign+1,firstSign.lSign);

else nextSign=firstSign+(firstSign-secondSign);

nextSign=firstSign+(firstSign-secondSign);

//----------------------------------------------------------

if(getSymbol(nextSign)!='*'&&!isDead(nextSign))

//如果没有碰到食物(且没有死亡的情况下),删除蛇尾,压入新的蛇头

snakeMap[lastSign.lSign][lastSign.rSign]='';

snakeMap[firstSign.lSign][firstSign.rSign]='@';

else if(getSymbol(nextSign)=='*'&&!isDead(nextSign))

snakeMap[nextSign.lSign][nextSign.rSign]='@';

else{cout<<"Dead"<<endl;cout<<"Your last total score is"<<score<<endl; return false;}

这个代码可以运行的,记得给分啦

三、c语言编程 编一个猜数字游戏

1、#include<stdio.h>/*standardinput&outputsupport*/

2、#include<stdlib.h>/*srand()rand()*/

3、#include<time.h>/*time()*/

4、#defineNUMBER_LENGTH5/*随机数长度*/

5、#defineNUMBER_LIMIT10/*随机数限制,每一位0-9*/

6、#defineINPUT_LENTH128/*输入缓冲区大小*/

7、chargoal[NUMBER_LENGTH]={0};/*保存随机数*/

8、charflag[NUMBER_LIMIT]={0};/*保存随机数标志,保证不重复*/

9、charinput[INPUT_LENTH]={0};/*保存输入*/

10、/*初始化用于保存缓冲区的数组*/

11、printf("\nRIGHT:%dbit(s)\n",count);

12、printf("Youwin!Thenumberis%s.\n",goal);

13、/*以时间作为时间**保证生成的随机数真正具有随机*质*/

14、srand((unsignedint)time(NULL));

15、tmp='0'+((i!=0)?(rand()%10):(1+rand()%9));

16、printf("Pleaseinputthenumberyouguessed:\n");

17、intmain(intargc,constchar*argv[])

18、==============================================

19、运行结果见附图,希望我的回答能够对你有所帮助。

相关文章
  • c游戏大全

    一、c社都出过什么游戏 1、C社,即卡普空(Capcom),是一家在全球范围内享有盛誉的游戏公司。它所推出的游戏作品丰富多样,涵盖了多种游戏类型,深受全球玩家的喜爱。其中,*为**的作品包括《怪物猎人》、《鬼泣》、《街头霸王》等。 2、《怪物猎人》系列是C社的招牌作品之一,它以狩猎各种怪兽为主题,玩家需要不断提升自己的技能,才能在险象环生的环境中生存下来

  • c游戏代码大全

    一、用C语言编写的小游戏代码是什么 1、“猜数字小游戏”,每个数字后按空格,*后按回车确认 2、{ printf("\n\n猜数字小游戏\n\n"); 3、 printf(“猜四个数字,如数字与顺序都正确记为A,数字正确位置不对记为B.\n”); 4、{int m,n;//m是完全猜对的个数,n是顺序不对的个数 5、{srand((unsigned)time(NULL))

  • c模拟器游戏大全

    一、人生重开模拟器修仙**属*变化大全 人生重开模拟器这款游戏中的修仙**有很多,那么遭遇这些**属*会发生哪些变化呢?下面一起来看人生重开模拟器修仙**属*变化大全。 人生重开模拟器修仙**属*变化大全 :【神秘的小盒子】,没有则无法活到100岁,且无法进入修仙线。拥有该天赋并活到100岁时提示【你从盒子中获得了练气法门,突破到凝气一层。寿元提升到200年。】,同时,颜值、智力、体质均+3

  • c摔跤游戏大全

    一、世界职业摔跤咋玩,教下技巧 1、原始设置是这样的 A是挑拨 S是抱人 D是** 2、抱人后可以按→D,←D,↑D,↓D,→S,←S,↑S,↓S,都是不同的摔法 3、按← or→ or↑ or↓+ A的话是把人推向某个方向 4、当敌人在地上时按A是压他 3秒后胜利 5、按 S是特殊**,看你站那里,头和脚两个地方 6、按 D就是过去踹他,如果加上几个方向健就是跳起来压下去 7

  • cydia游戏源大全

    一、cydia源有哪些 **后,Cydia源的选择至关重要,这里为您推荐时下热门的Cydia源地址大全: 首先,国内**中文软件源apt.178****无需过多介绍;威峰源apt.weiphone****同样不容忽视。 强烈推荐的有:cy.sosiphone****/,法国源,内容丰富,包含补丁、软件、主题和众多铃声; apt.macosmovil****,西班牙源,英文双语,图片解释**

  • c游戏金手指大全

    一、金手指代码大全是什么 金手指代码大全是一系列用于游戏作弊或修改游戏状态的特殊指令,它们通常在特定的游戏中使用,以实现如无限金钱、高等级、特殊属*等作弊效果。以下是部分常见的金手指代码示例: 全魂:42013310FFFF、0000007C0001 魂全部所持(GameShark用):44BDB65586DB9E94、4A94B026EE12A2D2、带逗培5CA78D608DE6C1B5

  • c生化模式游戏大全

    一、生化危机4 中文版 金手指代码谁知道 1、阿什莉体力不减([L1]+[L2]+[R1]+[R2]=HP OFF) 2、以上四条任意取一条就行,个人还是比较喜欢上面的两个,可以知道什么样的敌人的**力为多少。 3、有了全EXTRA,ASHELY的血可以不考虑了,她比LEON要强得多 4、4CD69C1A 1456E7A5死亡回数【0】 5、4CD69C24 1456089C撃退数【9999】

  • c算数游戏大全

    一、用C语言编写猜数游戏 1、#include&lt;time.h&gt;//时间需要的函数 2、#include&lt;stdlib.h&gt;//随机数生成函数srand()与rand()所需的头文件 3、 srand(time(NULL));//定义随机函数 4、 printf("\n\t请输入你要猜的数(1-100以内):"); 5、 scanf("%d",&amp;x)

  • c语言游戏代码大全

    一、用C语言编写的小游戏代码是什么 1、“猜数字小游戏”,每个数字后按空格,*后按回车确认 2、{ printf("\n\n猜数字小游戏\n\n"); 3、 printf(“猜四个数字,如数字与顺序都正确记为A,数字正确位置不对记为B.\n”); 4、{int m,n;//m是完全猜对的个数,n是顺序不对的个数 5、{srand((unsigned)time(NULL))

  • c语言游戏大全

    一、用C语言编写的小游戏代码是什么 1、“猜数字小游戏”,每个数字后按空格,*后按回车确认 2、{ printf("\n\n猜数字小游戏\n\n"); 3、 printf(“猜四个数字,如数字与顺序都正确记为A,数字正确位置不对记为B.\n”); 4、{int m,n;//m是完全猜对的个数,n是顺序不对的个数 5、{srand((unsigned)time(NULL))