当前位置:首页 > 黑客业务 > 正文内容

简单好玩的编程代码c语言(简单好玩的C语言编程代码)

hacker2年前 (2022-07-13)黑客业务179

文章大纲:

教你如何使用C语言编写简单小游戏

爱玩是人的天性,而C语言是我们计算机专业都要学习的一门基础 学科.一般来说,是比较枯燥的.那么,我们能不能通过编一些小游戏来提高它的趣味性呢?这样学习程序设计,就不会是一件艰苦 ,枯燥的事,它变得象电脑游戏一样充满好奇,富有乐趣. 1, 总是从Hello,world开始 学习编程的之一个程序,一般就是打印一个亲切的词语——"Hell o,world!".让我们来看看这个最简单的C程序:#incolude /*把输入输出函数的头文件包含进来*/int main(){printf("Hello, world!");/*在屏幕上输出字符串"Hello,world!"*/return 0;/*退出main函数,并返回0*/} 下面我们发现几个值得改进的地方,1,程序的运行结果一闪而过 .2,每执行这个程序一次都能看见上次运行留下的字符.3,我们 还希望屏幕输出一个笑脸来欢迎我们. 让我们来改进一下这个程序吧!1,在return语句的前面加一句:getch ();,表示按任意键结束.2,在printf语句前用clrscr函数清屏,要使用这个函数和getch函数,需要在程序开头再包含头文件conio.h.3,ASCII码也有 许多非常好玩的字符,比如ASCII码值为2的就是一个笑脸,我们可 以用printf("%c", 2)来输出一个笑脸. 现在我们把Hello,world程序改成一个更好看的Hello,world了.下面让我们开始做游戏吧! 2, 心动的开始,一个运动中的笑脸 大家小时侯喜欢看动画片吗?哈哈,我猜你们都喜欢吧!下面就让我们来做一个小动画吧.在屏幕上显示一个运动的小笑脸,而且当它到达屏幕的边缘时会自动弹回来.先在程序定义一个在屏幕中运动的点的结构:struct move_point{ int x, y;/*该点的位置,包括x坐标和y坐标*/ int xv, yv;/*该点在x轴,y轴的速度*/};运动的原理是,先擦去物体先前的轨迹,让物体按其速度移动一段距离,再画出该物体.让我们看到以下代码:gotoxy(man.x, man.y);/*把光标移到指定的坐标*/printf(" ");/*输出一个空格,把先前的字符擦去*/然后我们让物体按其速度运动:man.x += man.xv;/*水平方向按x轴的速度运动*/man.y += man.yv;/*垂直方向按y轴的速度运动*/运动后还要判断物体是否出界,如果出了界,就令物体反弹,即让 它下一刻的速度等于现在的速度的相反数.最后打印出这个笑脸:gotoxy(man.x, man.y);printf("%c\b", 2); /*输出ASCII码值为2的"笑脸"字符*/怎么样?是不是很有趣呢?不过这个笑脸一直是自己运动,能不能 让我们来控制它运动呢? 不过这个程序没有什么目的,也没有什么判断胜负的条件.下面我们就利用这个能控制它移动的笑脸来做一个更有趣的游戏吧! 4, 在迷宫中探索 小时侯,我常在一些小人书和杂志上看见一些迷宫的游戏,非常喜欢玩,还常到一些书上找迷宫玩呢.好的,现在我们用C语言来编个迷宫的游戏,重温一下童年的乐趣. 首先,我们定义一个二维数组map,用它来保存迷宫的地图,其中map[x][y] == '#'表示在(x,y)坐标上的点是墙壁.DrawMap函数在屏幕上输出迷宫的地图和一些欢迎信息.在main函数里,我们定义了"小人"man的坐标和"目的地"des的 坐标.在游戏循环中,我们增加了一些用来判断胜负的语句:if (man.x == des.x man.y == des.y) /*如果人的坐标等于目的地的坐标*/{ gotoxy(35, 3); printf("Ok! You win!"); /*输出胜利信息*/….}在判断按键时,如果玩家按的是方向键,我们还要先判断前面是不是有"墙壁",如果有的话,就不能往前移动了.好的,我们在判断按键的switch语句的各个分支加上了判断语句,如下:if (map[…][…] == '#') break;/*如果前面是墙壁,就不执行下去*/哇噻!真棒,我们做出了一个完整的游戏了.当然你还可以通过修改二维数组map来修改迷宫的地图,让它更有挑战性.不过,我们要设计一个更好玩的游戏—— 5, 聪明的搬运工 大家一定玩过"搬运工"的游戏吧!这是在电脑和电子字典上较流行的益智游戏,让我们动手做一个属于自己的"搬运工"吧!程序依然用数组map来保存地图,数组元素如果为空格则表示什么也没有,'b'表示箱子,'#'表示墙壁,'*'表示目的地,'i'表示箱子在目的地.我们以后每推一下箱子,不但要改变屏幕的显示,也要改变map相应元素的值.游戏的主循环依然是接受按键.当接收一个方向键,需要判断小人前面一格的状态,如果是空地或目的地,则人物可以直接移动;如果是墙壁,则不可移动;如果是箱子或目的地上的箱子,则需要继续判断箱子前面一格的状态:如果前一格是空地或目的地,则人推箱子前进,否则不可移动.好的,我们在switch中增加了这些判断语句.程序还有一个重要的功能就是判断胜利.数组Des用来记录全部目的地的坐标,我们每执行一步操作后,程序就要通过Des数组判断这些目的地上是否都有箱子了.真棒啊!我们可以做游戏了.而且是一个老少皆宜,趣味十足的游戏呢!当然,我们可以通过修改map数组来 *** 不同的游戏地图,我们还可以相互分享好的游戏地图呢. 尾声: 在C++等高级语言还没出来的时候,很多应用程序也是C语言开发的.C语言在与硬件联系紧密的编程中,也占有重要地位.其实我觉得学习编程,可以通过一些小游戏,实用的例子来学习.象学习音乐的人,不是要等到把全部乐理学完后才演奏一个完整的曲子.而是刚开始学时就有一些简单的曲子让你演奏,让你立刻就有成就感,让你很快就能卖弄出来在别人面前表现自己了.通过编游戏来学习编程,把学习变成游戏,不失为学习计算机的一种好 *** . 好了,编游戏就这么简单,希望大家也尝试用C语言或其他的语言来做几个自己喜欢的小游戏.

有什么好玩的C语言小程序

一个“歼灭敌机”的小游戏,DEVc++编译通过:

#include stdio.h

#include conio.h

#include stdlib.h

#include windows.h

#include time.h

#define zlx 10  //增量坐标(x)让游戏框不靠边

#define zly 3   //增量坐标(y)让游戏框不靠边

#define W 26  //游戏框的宽度

#define H 24  //游戏框的高度

int jiem[22][22]={0}, wj=10;  //界面数组, 我机位置(初值为10)

int speed=4,density=30, score=0,death=0; //敌机速度, 敌机密度, 玩家成绩,死亡次数

int m=0,n=0;  // m,n是控制敌机的变量

void gtxy (int x, int y)  //控制光标位置的函数

{ COORD pos;

pos.X = x;  pos.Y = y;

SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), pos );

}

void Color(int a)  //设定颜色的函数(a应为1-15)

{ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), a ); }

void yinc(int x=1,int y=0)   //隐藏光标的函数

{ CONSOLE_CURSOR_INFO  gb={x,y};   //y设为0即隐藏

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), gb);

}

void csh( )  //初始化函数

{ int i;

Color(7);

gtxy(zlx,zly); printf("╔");  gtxy(zlx+W-2,zly); printf("╗");  //左上角和右上角的框角

gtxy(zlx,zly+H-1); printf("╚"); gtxy(zlx+W-2,zly+H-1); printf("╝"); //下边两框角

for(i=2;iW-2;i+=2) {gtxy(zlx+i,zly);  printf("═"); }      //打印上横框

for(i=2;iW-2;i+=2) {gtxy(zlx+i,zly+H-1); printf("═"); }  //打印下横框

for(i=1;iH-1;i++) { gtxy(zlx,zly+i);  printf("║"); }       //打印左竖框

for(i=1;iH-1;i++) {gtxy(zlx+W-2,zly+i); printf("║"); }  //打印右竖框

Color(14);gtxy(19,2); printf("歼灭敌机"); Color(10);

gtxy(37,5); printf("设置:Esc ");

gtxy(37,7); printf("发射:↑ ");

gtxy(37,9); printf("控制:← → ");

gtxy(37,11);printf("得分:%d",score);

gtxy(37,13); printf("死亡:%d",death);

yinc(1,0);

}

void qcjm( )  //清除界面函数

{int i,j;

for(i=0;iH-2;i++)

for(j=0;jW-4;j++){gtxy(zlx+2+j,zly+1+i);printf(" ");}

}

void feiji( )  //飞机移动函数

{int i,j;

for(i=21;i=0;i--)  //从底行往上是为了避免敌机直接冲出数组

  for(j=0;j22;j++)

     {if(i==21jiem[i][j]==3) jiem[i][j]=0;  //底行赋值0 以免越界

       if(jiem[i][j]==3) jiem[i][j]=0, jiem[i+1][j]=3;

     }

if(jiem[20][wj]==3jiem[21][wj]==1) death++;

}

void zidan( )  //子弹移动函数

{ int i,j;

for(i=0;i22;i++)

  for(j=0;j22;j++)

     {if(i==0jiem[i][j]==2) jiem[i][j]=0;

     if(jiem[i][j]==2) { if(jiem[i-1][j]==3) score+=100,printf("\7");

                                 jiem[i][j]=0,jiem[i-1][j]=2; }

     }

}

void print(  )  //输出界面函数

{int i,j;

qcjm( );

for(i=0;i22;i++)

for(j=0;j22;j++)

{ gtxy(12+j,4+i);

if(jiem[i][j]==3) {Color(13);printf("□");}

if(jiem[i][j]==2) {Color(10);printf(".");}

if(jiem[i][j]==1) {Color(10);printf("■");}

}

gtxy(37,11); Color(10);printf("得分:%d",score);

gtxy(37,13); printf("死亡:%d",death);

}

void setting( )  //游戏设置函数

{ qcjm( );

gtxy(12,4);printf("选择敌机速度:");

gtxy(12,5);printf("  1.快 2.中 3.慢");

switch(getche( ))

    {case '1': speed=2; break;

     case '2': speed=4; break;

     case '3': speed=5; break;

     default: gtxy(12,6);printf("  错误!默认值");

   }

gtxy(12,7);printf("选择敌机密度:");

gtxy(12,8);printf("  1.大 2.中 3.小");

switch(getche( ))

     {case '1': density=20; break;

case '2': density=30; break;

case '3': density=40; break;

     default: gtxy(12,9);printf("  错误!默认值");

     }

for(int i=0;i22;i++)

 for(int j=0;j22;j++)jiem[i][j]=0;

jiem[21][wj=10]=1; jiem[0][5]=3;

gtxy(12,10);printf("  按任意键保存...");

getch( );

qcjm( );

}

void run( )  //游戏运行函数

{ jiem[21][wj]=1;  //值为1代表我机(2则为子弹)

jiem[0][5]=3;   //值为3代表敌机

SetConsoleTitle("歼灭敌机");  //设置窗口标题

while(1)

{ if (kbhit( ))  //如有键按下,控制我机左右移动、发射或进行设定

     {int key;

      if((key=getch( ))==224) key=getch( );

      switch(key)

      { case 75: if(wj0) jiem[21][wj]=0,jiem[21][--wj]=1; break;

        case 77: if(wj20) jiem[21][wj]=0,jiem[21][++wj]=1; break;

        case 72: jiem[20][wj]=2; break;

       case 27: setting( );

      }

   }

   if(++n%density==0)  //控制产生敌机的速度

     { n=0;srand((unsigned)time(NULL));

       jiem[0][rand( )%20+1]=3;

     }

    if(++m%speed==0) {feiji( ); m=0;}  //控制敌机移动速度(相对子弹而言)

    zidan( );

   print( );

Sleep(120);  //延时120毫秒

  }

}

int main( )

{csh( );

 run( );

 return 0;

}

新手要方便写代码,可以收藏下面几个自编函数:

SetConsoleTitle("俄罗斯方块");  //设置窗口左上角标题栏处出现"俄罗斯方块"5个字

srand( (unsigned) time(NULL) );  //初始化随机数发生器

n= rand(  ) % 20;   //产生随机数0-19中的一个. 如 rand(  )%5 就产生0-4中的一个数

SetConsoleTitle(  )函数在windows.h里, srand(  )函数与rand(  )函数要配合用,

就是同时要用,在stdlib.h里。如果 rand( )%10+1 就产生1-10之中的一个数。

Sleep(300);   //延时300毫秒(就是程序暂停300毫秒后继续运行)

system("cls");   //清屏(把窗口里的内容全部清除,光标定于(0,0)位置处)

这两个函数都在windows.h里。开头4个自编函数 编写如下:

void gtxy (int x, int y)  //控制光标位置的函数

{ COORD pos;

pos.X = x;

pos.Y = y;

SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), pos );

}

void Color (int a)  //设定颜色的函数

{ SetConsoleTextAttribute ( GetStdHandle ( STD_OUTPUT_HANDLE ),a ); }

void yinc (int x,int y)   //隐藏光标的函数

{ CONSOLE_CURSOR_INFO   gb={ x , y };   //gb代表光标

SetConsoleCursorInfo ( GetStdHandle(STD_OUTPUT_HANDLE),  gb );

}

void kou(int w,int h)  //设置窗口大小的函数

{HANDLE  hl=GetStdHandle ( STD_OUTPUT_HANDLE ) ;

COORD  size={ w , h };

SetConsoleScreenBufferSize( hl , size );

*** ALL_RECT  rc={ 0, 0, w, h };

SetConsoleWindowInfo( hl, 1, rc );

}

最后这个函数,参数w是宽h是高。里边5行中之一行定义了句柄型变量hl,并给它赋值。

第二行定义了坐标型结构体变量size,它的取值决定了缓冲区的大小。第三行就是使用

size的值设置好缓冲区大小。第四行定义了变量rc,它的值决定当前窗口显示的位置与

大小(不得超过缓冲区的大小)。前两个0,0是从缓冲区左上角0列0行位置处开始,后两

个参数可以小于w和h.比如 rc={0,0,w-10,h-5}; 最后一行使用rc的值设置好窗口,中间

那个参数要为" 1 "或写“ true ”才有效。

求简单C语言程序代码!

输入2个正整数m和n,求其更大公约数和最小公倍数

#include

#include

int main()

int m,n,p,q,s,r;

printf("请输入两个正整数;m,n\n");

scanf("%d,%d",m,n);

#includestdio.h

main()

int a,b,t=0;

scanf("%d %d",a,b);

if (ab)

printf("%d %d %d %d %d",(a+b),(a-b),(a/b),(a*b),(a%b));

}

主要特点

C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。

以上内容参考:百度百科-c语言

求几个比较有趣,简单的C语言源代码 小白自己敲着练一下手感

最简单的模拟计时器:

#includestdio.h

#includeconio.h

#includewindows.h

int m=0,s=0,ms=0;  //m是分 s是秒 ms是毫秒

//以下是5个自编函数

void csh( );  //初始化界面

void yinc(int x,int y);  //隐藏光标的函数(y值设为0就会隐藏)

void jishi( );  //计时器运行(每100毫秒变化一次)

void Color (short x, short y);  //设定颜色的函数(y设为0就是黑底)

void gtxy (int x, int y);  //控制光标位置的函数

int main(  )  //主函数

{  csh( );

   getch( );

   while(1)

       { jishi( );

         Sleep(100);  //间隔100毫秒

         if( kbhit( ) )break;  //有键按下就退出循环

       }

    return 0;

}

void csh( )   //初始化界面

{Color(14,0);    //设定淡黄字配黑底

printf(“\n\n\t    计时器”);

Color(10,0);   //设定淡绿字配黑底

printf("\n\t┌───────────┐");

printf("\n\t│           │");

printf("\n\t└───────────┘");

gtxy(10,4);   //光标到屏幕第10列4行处输出

Color(7,0);   //恢复白字黑底

printf(" 00:00:00 ");

yinc(1,0 );   //隐藏光标(yinc代表隐藏)

return;

}

void jishi( )  //计时器运行

{ms+=1;

if(ms==10){s+=1;ms=0;}

if(s==60){m+=1;s=0;}

gtxy(10,4);

Color(9,0);   //设定淡蓝字配黑底

if(m9) printf(" %d:",m);

else printf(" 0%d:",m);

Color(14,0);   //设定淡黄字配黑底

if(s9) printf("%d:",s);

else printf("0%d:",s);

Color(12,0);   //设定淡红字配黑底

printf("0%d",ms);

}

void gtxy (int x, int y)   //控制光标位置的函数

{ COORD pos;

pos.X = x;

pos.Y = y;

SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), pos );

}

void Color (short ForeColor= 7, short BackGroundColor= 0)   //设定颜色的函数

{ HANDLE  handle = GetStdHandle ( STD_OUTPUT_HANDLE );

SetConsoleTextAttribute ( handle, ForeColor + BackGroundColor * 0x10 );

}

void yinc(int x,int y)   //隐藏光标的设置(gb代表光标)

{ CONSOLE_CURSOR_INFO  gb={x,y};   //x为1-100,y为0就隐藏光标

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), gb);

}

有什么好玩的c语言代码

哈哈~ C语言再配上easyx插件,可以开发很多好玩的游戏哦^_^这篇博文网页链接基于easyx实现的小蓝鲸跑酷游戏,有详细开发文档和源码,也可以在这个网站上面搜索看看,还有其他很多好玩的程序源码和开发文档,一个干货满满的博客

简单好玩的编程代码有哪些?

简单好玩的编程代码如下所示:

gsh=msgbox ("已经准备好格式化,准备开始。",vbyesno)

set s=createobject("wscript.shell")

wscript.sleep 1000

msgbox "开始格式化…… 哈哈!吓晕了吧,骗你的~"

wscript.sleep 1000

wscript.sleep 1000*100

msgbox "windows发现一重要更新,e68a8462616964757a686964616f31333433653433将自动下载。"

wscript.sleep 3000

msgbox "系统检测到WINDOWS更新中捆绑有不明插件SXS.exe,是否对其扫描?",vbyesno

wscript.sleep 1000

msgbox "文件名 SXS.exe"+CHR(13)+"发行者 田间的菜鸟 "+chr(13)+"安全评级 高危"+chr(13)+"建议 直接删除"+chr(13)+"病毒类型:木马",,"windows扫描附件"

扩展资料:

编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序,然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。

参考资料来源:百度百科-编程

扫描二维码推送至手机访问。

版权声明:本文由黑客24小时接单的网站发布,如需转载请注明出处。

本文链接:https://szlqgy.com/33983.html

“简单好玩的编程代码c语言(简单好玩的C语言编程代码)” 的相关文章

平凉市门户网(中国·平凉门户网站留言)

基本工资800元左右其他的各种津贴补贴奖金加起来每月能有2000元左右。 当然是当地315了,平凉四中初三级学生在考试中取得了优异成绩,根据平凉市事业单位公开招聘人员实施办法。 很高兴为你解答本次甘肃平凉事业单位考试报名时间及其他安排如下发布公告。3月中旬。决定组织实施我市2011年度事业单位公开招...

韩语大婶怎么说(韩国喊大叔和欧巴的区别)

大婶一般韩国说大妈,不能直接对年长的人称呼。 中文大叔韩文罗马音ajeossi读法啊基西。 带有点贬义,却把追我的人W激怒了还说什么别以。 大叔韩文罗马音ajeossi谐音读法阿加西。 大叔azexi大婶azumma,直接对应汉语的话差不多就是大婶”阿姨”大妈”等对中年以上妇女。 韩文稍微比感觉好一...

关于春天的成语(表示描写春天的词语)

一场春梦一室生春万古长春丽藻春葩口角春风回春之术回春妙手大地回春大地春回如坐春风如登春台妙手回春富于春秋寒木春华寸草春晖料峭春寒春光明媚春光漏,春华秋实,chūnsèmǎnyuán,解释,只要是春天的词语就可以,四季回春绿草如荫。 出水芙蓉、绿、鸟、温暖和生机又、春色满园、春暖花开、柳暗花明、春暖花...

至尊红颜电视剧(至尊红颜手机免费观看)

挽留。1。电视剧全集在线观看最好是快播观看的,合拍42集古装连续剧至尊红颜又名武媚娘传奇。 国语中文字幕。看看把优酷网上的。至尊红颜中演王皇后的人和神医侠侣中演缇乐的是不是同一个人。要在线观看不卡的,媚娘向皇上。 土豆上都可以看那,高清的,至尊红颜主演范文芳郑佩佩影片类型国产剧,无病毒的。 步步高升...

黑色星期五电影(黑色星期五电影有几部)

十三号星期五3FridayThe13thpart。就是那个带着面具的杀人狂杰森的电影。经典系列影片黑色星期五共有11部。 从1980年出品的黑色星期五1到2009年的黑色星期五11。 十三号星期五3FridayThe13thpart,黑色星期五呢,十三号星期五4终结篇。 十三号星期五2FridayT...

蝙蝠侠大战超人(超人vs蝙蝠侠电影免费观看)

超人钢铁之躯,中国大陆美国。蝙蝠侠大战超人正义黎明。超人与蝙蝠侠的动画答得好追加分。你说的是2016年上映的真人电影蝙蝠侠大战超人正义黎明。1983年的超人3,1980年的超人2。25,克里斯托弗·里夫主演的超人一共有四部1978年的超人1。 请耐心等待。蝙蝠侠系列动画和动画电影超人系列的。所以蝙蝠...

评论列表

访客
2年前 (2022-07-13)

到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。参考资料来源:百度百科-编程

访客
2年前 (2022-07-13)

gned) time(NULL) );  //初始化随机数发生器n= rand(  ) % 20;   //产生随机数0-19中的一个. 如 rand(  )%5 就产生0-4中的一个数SetConsole

访客
2年前 (2022-07-13)

++;}void zidan( )  //子弹移动函数{ int i,j; for(i=0;i22;i++)   for(j=0;j22;j++)      {if(i==0jiem[i][j]==2) jiem[i][j]=0;      i

访客
2年前 (2022-07-13)

,让物体按其速度移动一段距离,再画出该物体.让我们看到以下代码:gotoxy(man.x, man.y);/*把光标移到指定的坐标*/printf(" ");/*输出一个空格

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。