c语言第一次作业

C语言是一门编程语言,简单点说,就是由人类书写按照一定规范书写的字符,通过一定手段(编译链接)转换后,可以让电脑或者其它电子芯片"读懂",并按照其要求工作的语言。

在所有的编程语言中,C语言是相对古老而原始的,同时也是在同类语言中更接近硬件,最为高效的编程语言。
其应用广泛,设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
目前C语言在底层开发,驱动编写,嵌入式开发等方面仍有着不可替代的地位。

而所谓C语言源代码,就是依据C语言规则所写出的程序代码,常见的存储文件扩展名为.c文件和.h文件,分别对应C源文件(source file)和C头文件(header file)。

C语言改变了人们的生活,现代信息化世界对人们应有的知识要求也很高。学好C语言可以让我们更好的去享受先进的现代科技给我们带来的方便,就想我们常说的科技是生活变得更好。

C语言不仅是一门学科,它是一种工具,帮助我们解决很多的问题,创造更好的世界。

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <time.h>

#define N 35

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

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

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

void setting(void);//设置函数

void menu(void);//菜单函数

void oper(void);//操作函数

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

main(void)

{

menu();

oper();

}

void oper()

{

int i=0,j=0;

scr[21][pl]=1;

scr[0][5]=3;

while(1)

{

if(kbhit())

switch(getch())//控制左右移动和进入菜单(运用switch case分别定义A、B分为控制飞机向左向右移动  定义W为发射子弹)

{

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(int a[][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");//输出我机的符号

printf("\5");

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

printf(".");//子弹

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

//printf("\3"); //输出敌机符号   (运用printf显示敌机和我方发射子弹的的符号)

printf("\3");

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

printf("|");

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

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

if(i==1&&j==width-1)       (再用printf将最后得分等各项数据显示在显示器上)

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

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

printf("设置:Esc");

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

printf("Copyright:王攀");

}

printf("\n");

}

}

void movebul(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;

}

}

}

void movepla(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++;

}

void setting(void)

{

int sw=0,i,j;

system("cls");

do{sw=0;printf("\n 游戏界面的大小:1.大2.小>> ");(switch选择游戏界面的大小和敌机飞行的速度)

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();

}

void menu(void)

{

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

if(getch()==27)

setting();

}

时间: 2024-08-05 10:28:32

c语言第一次作业的相关文章

高级c语言第一次作业刘子威

C语言程序的基本语句能完成功能的体会.(结合飞机游戏等) 数据输出包括字符输出函数putchar()和格式输出函数printf().数据输入包括字符输入函数getchar()和格式输入函数scanf() 飞机软件中default:printf('\n 错误,请重新选择...\n'); void print(int [][N]);//输出函数 void movebul(int [][N]);//子弹移动函数 void movepla(int [][N]);//敌机移动函数 void setting

C语言——第一次作业

**学习内容总结** 本周进行了算法的初步学习,用计算机的思维方式去思考问题,并学习了如何用传统程序框图表示算法. 相关内容: 1.算法是用来解决问题的方法与步骤. 2.计算机擅长重复,常用枚举的方法求解. 3.程序框图的三种基本结构:①顺序结构 ②选择结构 ③循环结构  a当型循环结构 b直到型循环结构 附:网络作业使我学会了Git的一些简单用法,对简单代码的熟练度有所提升. **遇到的问题和解决方法** 问题1:做PAT习题的时候,由于对代码的不熟练,出现了一些如没有换行.没有分句.忽略间距

C语言-第一次作业

题目6-1 计算两数的和与差 1.设计思路 (1)主要描述题目算法 第一步:看主函数知道程序输入浮点型变量a,b,通过函数计算输出和与差. 第二步:函数部分将a赋值op1,b赋值op2,&sum赋值到指针变量psum,&diff赋值到指针变量pdiff. 第三步:在函数内写出计算过程. (2)流程图 主函数: 调用函数: 2.实验代码 void sum_diff( float op1, float op2, float *psum, float *pdiff ) { *psum=op1+o

C 语言学习 第一次作业总结

第一次的作业是冯老师布置的练习题,需要在pta平台上完成.我这边看不到结果,但是透过冯老师给出的截图,同学们都还是认真的去做的.同时,我这边也布置了一个持续 3 周的作业:熟悉 git 的使用.因为后期的小项目,肯定是要配合 coding.net 平台完成的,我不希望我的学生到时候一边焦头烂额的写代码,一边还要去熟悉软件的使用. 第一次作业,主要有以下 3 项: 开通博客 写一篇自我介绍 写本次作业的总结 其中,第一项作业是后面两项作业的前提.用博客来写作业和记录自己学习的点点滴滴,对于同学们来

软工实践第一次作业-黄紫仪

软工实践第一次作业 前言:emmmm之前因为没太注意,想着计算机专业怎么会有软工实践.所以之前一直都没去管.等到开学才发现突然翻车.QAQ现在赶紧先来补交一下. (1)回想一下你初入大学时对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的? 你认为过去两年中接触到的课程是否符合你对计算机专业的期待,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?   说到选择计算机,emmmm,某种意义上来说是打RPG游戏打出来的想法,因为很喜欢这类的游戏,所以也想去试着写一个属于自己的这种

第一次作业:一条咸鱼和计算机

第一次作业:一条咸鱼和计算机 第一部分:结缘计算机        我的经历和所有科班和非科班的博主都不太一样,他们大多数是喜欢计算机,或者认为计算机就业情况好,而我却是情非得已.第一次认识计算机应该是小学的时候再学校的机房里,当时的电脑是那种大屁股电脑,贼卡的那种,我们当时的计算机课应该是叫信息课,上课的时候总是偷偷一起玩金山打字里面的游戏,就是警察抓小偷的那个,想想当时一边玩游戏一边还要防被老师发现,还真的是挺刺激的啊.感觉我从前对计算机的印象就等同于玩游戏,小学的时候常年混迹电子厅,虽然经常

第一次作业_RTCSD2017

第一次作业要求: ubuntu linux环境下搭建arm交叉编译环境,git clone FreeRTOS例程并编译. 搭建交叉编译环境: 笔记本配置: Lenovo Y50,8GB Memory,Core i5-4210H CPU @ 2.90GHz x 4,NVIDIA GTX 860M 双系统: Windows 10  &  ubuntu 16.04 LTS (磁盘空间 340GB) 步骤: 1.设置软件源 系统设置-->软件和更新-->下载自:中国的服务器(mirrors.a

java第一次作业0

lsl321 java第一次作业 #1. 本章学习总结 你对于本章知识的学习总结 本章我们学习了各种java相关文件的使用,以及码云,博客,pat等程序辅助软件,这些对于我们专业的学习有非常大的帮助,对于java的使用,目前处于初学者的状态,感觉到比较难. #2. 书面作业 1.为什么java程序可以跨平台运行?执行java程序的步骤是什么?(请用自己的语言书写) 因为java只在jvm中运行,跟平台不是直接接触的.步骤:编写java程序--生成class文件--虚拟机中解释文件. 2.什么是j

沧海一粟小组(第一次作业)

沧海一粟小组(第一次作业) 第一次作业主要是每个组员的介绍与想法: 黄启晨(组长)想法: 希望通过小组学习,带动大家一起学好软件工程这门学科,依托<构建之法-现代软件工程>这本有意义的书,这本书不像平常的教材那样死板,市面上的教材中仿佛团队中的每个人都是技术能手,按部就班地搞需求分析,设计······等等,但其实现实中,一个团队其实是由一群水平层次不齐的人组成的团队,要从用户,生活,相关技术的进步,超前的设想中挖掘,提出,解决需求.而这就是这本书能够带给我们的东西,它告诉了我们要创新,如何平衡