C语言第一章大作业

运用C的基本语言可以完成一些简易游戏的编程如下例中的打飞机游戏

通过这种简单的语言我们可以自己完成这些类型的测序的设计。

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#include<time.h>

#define N35

voidprint(int [][N]);//输出函数

voidmovebul(int [][N]);//子弹移动函数

voidmovepla(int [][N]);//敌机移动函数

voidsetting(void);//设置函数

voidmenu(void);//菜单函数

voidoper(void);//操作函数

intscr[22][N]={0},pl=9,width=24,speed=3,density=30,score=0,death=0;//全局变量:界面、我机初始位、界面宽度、敌机速度、敌机密度、得分、死亡

main(void)

{

menu();

oper();

}

voidoper()

{

int i=0,j=0;

scr[21][pl]=1;

scr[0][5]=3;

while(1)

{

if(kbhit())

switch(getch())//控制左右移动和进入菜单

{

case ‘a‘:case ‘A‘:

if(pl>0)

scr[21][pl]=0,scr[21][--pl]=1;

break;

case ‘d‘:case ‘D‘:

if(pl<width-2)

scr[21][pl]=0,scr[21][++pl]=1;

break;

case ‘w‘:case ‘W‘:

scr[20][pl]=2;

break;

case 27 :

setting();

break;

}

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

{

j=0;srand(time(NULL));

scr[0][rand()%width]=3;

}

if(++i%speed==0)//控制敌机移动速度,相对于子弹移动速度

movepla(scr);

movebul(scr);

print(scr);

if(i==30000)

i=0;//以免i 越界

}

}

void print(inta[][N])

{

system("cls");

int i,j;

for(i=0;i<22;i++)

{

a[i][width-1]=4;

for(j=0;j<width;j++)

{

if(a[i][j]==0)

printf(" ");

if(a[i][j]==1)

printf("\5");//输出我机的符号

if(a[i][j]==2)

printf(".");//子弹

if(a[i][j]==3)

printf("\3"); //输出敌机符号

if(a[i][j]==4)

printf("|");

if(i==0&&j==width-1)

printf("得分:%d",score);//右上角显示得分

if(i==1&&j==width-1)

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

if(i==2&&j==width-1)

printf("设置:Esc");

if(i==3&&j==width-1)

printf("Copyright:王攀");

}

printf("\n");

}

}

voidmovebul(int a[][N])

{

int i,j;

for(i=0;i<22;i++)

for(j=0;j<width;j++)

{

if(i==0&&a[i][j]==2)

a[i][j]=0;

if(a[i][j]==2)

{

if(a[i-1][j]==3)

score+=10,printf("\7");

a[i][j]=0,a[i-1][j]=2;

}

}

}

voidmovepla(int a[][N])

{

int i,j;

for(i=21;i>=0;i--)//从最后一行往上是为了避免把敌机直接冲出数组。

for(j=0;j<width;j++)

{

if(i==21&&a[i][j]==3)

a[i][j]=0;//底行赋值0 以免越界。

if(a[i][j]==3)

a[i][j]=0,a[i+1][j]=3;

}

if(a[20][pl]==3&&a[21][pl]==1)

death++;

}

voidsetting(void)

{

int sw=0,i,j;

system("cls");

do{sw=0;printf("\n 游戏界面的大小:1.大2.小>> ");

switch(getche())

{

case ‘1‘:

width=34;

break;

case ‘2‘:

width=24;

break;

default:

printf("\n 错误,请重新选择...\n");

sw=1;

}

}

while(sw);

do

{

sw=0;

printf("\n 请选择敌机密度:1.大2.中3.小>> ");

switch(getche())

{

case ‘0‘:

density=10;

break;

case ‘1‘:

density=20;

break;

case ‘2‘:

density=30;

break;

case ‘3‘:

density=40;

break;

default:

printf("\n 错误,请重新选择...\n");

sw=1;

}

}while(sw);

do

{

sw=0;

printf("\n 敌机的飞行速度:1.快2.中3.慢>> ");

switch(getche())

{

case ‘1‘:

speed=2;

break;

case ‘2‘:

speed=3;

break;

case ‘3‘:

speed=4;

break;

default:

printf("\n 错误,请重新选择...\n");

sw=1;

}

}while(sw);

for(i=0;i<22;i++)

for(j=0;j<45;j++)

scr[i][j]=0;

scr[21][pl=9]=1;

printf("\n 按任意键保存...");

getch();

}

voidmenu(void)

{

printf("说明:按A D 控制我机左右飞行,W 发射子弹\n 设置:请按Esc\n 开始游戏:任意键\n                               by yan_xu");

if(getch()==27)

setting();

}

C语言游戏程序可以看到,C语言是我们第一门编程语言,从对计算机没有任何编程能力的菜鸟,到现在能读懂C语言的程序,感觉自己在慢慢进步。我觉得C语言就是一门函数组合的课程。我们只要将其中的某些条件修改就可以对这个程序进行包装和修改

时间: 2024-10-20 01:46:41

C语言第一章大作业的相关文章

《Java语言程序设计》大作业报告 九宫格游戏

    <Java语言程序设计>大作业报告     中国石油大学(北京)2015 - 2016 学年第二学期     班级:_____计算机14-1_______ 姓名:_____  许 恺_________________ 学号:______2014011329___________     题意分析 程序首先需要九个可以移动的格子,大小相等,有字符串标示,其次要可以相应鼠标和键盘方向键的控制,可以自由移动,并且与此同时记录步数,最后在满足条件时弹出对话框并显示步数以及是否打破记录,关于打破

c程序设计语言第一章2

练习1.13编写一个程序,打印输入中单词长度的直方图.水平方向的直方图比较容易绘制,垂直方向的直方图则要困难些 1 #include <stdio.h> 2 #include <stdlib.h> 3 #define MAXHIST 15//定义直方图的最大值 4 #define MAXWORD 11//定义单词的最大字符数 5 #define IN 1 6 #define OUT 0 7 int main() 8 { 9 int nc;//单词所含的字符数 10 int maxv

c程序设计语言第一章5

练习1.20请编写程序d e t a b??将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止的地方.假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止位 1 #include <stdio.h> 2 #include <stdlib.h> 3 #define TABBLANK 8//tab 增加的尺寸 4 int main() 5 { 6 int c; 7 int nb=0;//记录空格数目 8 int pos=1;//记录当前所在位置 9 whi

第一周大作业1

---恢复内容开始--- 田继平-软件工程-第一次作业 一.自我介绍大家好,我叫田继平,目前就读于东北师范大学信息科学与技术学院计算机技术专业,是一名在读的专硕研一学生,本科就读于北华大学计算机科学技术学院,专业是计算机科学与技术,籍贯吉林省榆树市.二.回答作业问题1.回想一下你曾经对计算机专业的畅想我高考后报考的是计算机科学与技术,当时对计算机技术基本了解为零,当时以为什么东西都会用到计算机,学计算机以后不会找不到工作,刚开学的时候对计算机一窍不通,甚至连优盘拔出来,要单击右键然后弹出都不会,

C#编写一款自己的脚本语言.第一章

万感聚齐,突然想要编写一款自己的脚本语言了.虽然以前从未接触过编写脚本语言,但是我的脑海中总是闪烁着那些令我兴奋的Ideal. —————————— 我对我这篇文章的定位是如此的模糊:里面大概会出现代码,或许出现一些优美的文字,或许还有一些我志向的言论.我想象她将是一篇连载的文章,有可能会陪伴我数个月. Let's go. 第一章 你好 突然想要认识一个人,可是我之前对她是如此的陌生.我不知道她的一切,她也不知道我的一切,我和她是茫茫人海中的两个异路人.不知道是哪一次,我眼角余光看到了她的容颜,

c语言第一章第一节 认识变量

声明:本人大一新生,闲着无聊..写写c语言教程..菜鸟一枚..大神勿喷!!! 接下来我们都用dev来进行编译..vc++太古老了,没提示功能,不好上手,并且老是出毛病..vs太大了,编个c不至于,运行太慢..下面是dev的下载链接...无毒放心 http://pan.baidu.com/share/link?shareid=1587509971&uk=4169326073 下面进入正题...认识变量(一般教程都是以hello world开始..我们直接搞事算了) 一.程序设计语言构成基本要素有什

《计算机科学导论》第一章课后作业解答(个人版)

1.定义一个基于图灵模型的计算机. 这是一种图灵设想的通用计算设备,所有的计算都可以在这种设备上运行.通过给这种计算机输入数据,计算机中的程序就可以指导计算机来给数据进行处理,处理完后输出结果. 2.定义一个基于冯·诺伊曼模型的计算机. 基于冯·诺伊曼模型的计算机由存储器.算术逻辑单元.控制单元和输入/输出单元组成.存储器用来存储数据和程序:算术逻辑单元用来进行计算和逻辑运算:控制单元对该计算机内的子系统进行控制:输入/输出于从外部接收输入数据和程序以及将计算机的处理结果输出到计算机外部. 3.

第一章练习题作业

练习题: 编译型语言:指程序在从源码到运行前必须由编译器编译链接生成成二进制文件才能运行,每次对程序源码的改动都必须重新编译才能生效,由于是直接编译为二进制机器语言文件,所以执行速度很快,运行不依赖编译器,举例:C/C++,delphi解释型语言:程序在源码到运行前无需编译,对代码修改可以立即生效,由语言对应的解释器对源码实时解释运行,执行速度稍慢,运行依赖与相应的解释器,举例:Python,java,JS,php 执行Python脚本两种方式:1.直接在终端执行Python 手动输入代码输入一

C语言 第一章 C语言简介

目录 一.C语言介绍 二.C语言特点 三.Hello World 四.转义符 五.占位符 六.俄罗斯方块游戏 七.文件下载 一.C语言介绍 C是一种通用的编程语言,广泛用于系统软件与应用软件的开发.于1969年至1973年间,为了移植与开发UNIX操作系统,由丹尼斯·里奇与肯·汤普逊,以B语言为基础,在贝尔实验室设计.开发出来.C语言具有高效.灵活.功能丰富.表达力强和较高的可移植性等特点,在程序员中备受青睐,成为最近25年使用最为广泛的编程语言[2].目前,C语言编译器普遍存在于各种不同的操作