手机用户
目前最著名的两个C语言项目:linux和git…纯C只适合对性能要求极高的项目,书写难度大。很多轮子要自己造,如果水平不够,不建议楼主用纯C做本科毕业设计… 
#include #include #include #include /*引用的库函数*/#define LEFT 0x4b00#define RIGHT 0x4d00#define DOWN 0x5000#define UP 0x4800#define ESC 0x011b/*宏定义键名*/#define N 200int i,key;int level;/*游戏等级*/int score=0;/*得分*/int gamespeed;/*游戏速度*/struct Food{int x;/*食物的横坐标*/int y;/*食物的纵坐标*/int yes;/*判断是否要出现食物的变量*/}food;/*食物的结构体*/struct Snake{int x[N];int y[N];int node;/*蛇的节数*/int direction;/*蛇移动方向*/int life;/* 蛇的生命,0活着,1死亡*/}snake;/*蛇的结构体*/void Choicelevle(void);/*选择游戏等级*/void Init(void);/*图形驱动*/void Close(void);/*图形结束*/void DRAW(void);/*游戏区域*/void GameOver(void);/*结束游戏*/void GamePlay(void);/*玩游戏具体过程*/void PrScore(void);/*输出成绩*//*主函数*/void main(void){Init();/*图形驱动*/Choicelevle();/*选择游戏等级*/DRAW();/*游戏区域*/GamePlay();/*玩游戏具体过程*/Close();/*图形结束*/}/*图形驱动*/void Init(void){int gd=DETECT,gm;initgraph(&gd,&gm,"//turboc2"); /*初始化图形系统*/cleardevice(); /*清除图形界面*/}/*选择游戏等级*/void Choicelevle(void){char name[20];setcolor(YELLOW);settextstyle(0,0,6);outtextxy(150,150,"Snake");setcolor(GREEN);settextstyle(0,0,1);outtextxy(200,250,"please put in your English name:");outtextxy(200,270,"Choice levle from 1-");outtextxy(300,320,"name:yangzilong");/*制作人姓名*/outtextxy(300,350,"number:0902060226");/*制作人学号*/outtextxy(300,380,"class:computer science 0602");/*制作人班级*/getch();printf("please putin your name:");gets(name);printf("please choice levle:");scanf("%d",&level);gamespeed=100000-400*level-300*level*level;if(level>9||level<1){cleardevice(); /*清除图形界面*/setcolor(YELLOW); /*设置字体颜色*/settextstyle(0,0,2); /*设置字体类型*/outtextxy(150,200,"level input error"); /*显示文本*/getch();level=1;}}void DRAW(void){cleardevice(); /*清屏*/setcolor(2);setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/rectangle(45,45,465,325);}/*玩游戏具体过程*/void GamePlay(void){setcolor(5);setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/randomize();/*随机数发生器*/yes=1;/*1表示需要出现新食物,0表示已经存在食物*/life=0;/*活着*/direction=1;/*方向往右*/x[0]=320;y[0]=240;/*蛇头*/x[1]=330;y[1]=240; /*蛇的第二节位置*/de=3;/*节数*/PrScore();/*输出得分*/while(1)/*可以重复玩游戏,压ESC键结束*/{while(!kbhit())/*在没有按键的情况下,蛇自己移动身体*/{if(yes==1)/*需要出现新食物*/{x=rand()%360+70;y=rand()%250+60;while(x%10!=0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/x++;while(y%10!=0)y++;yes=0;/*画面上有食物了*/}if(yes==0)/*画面上有食物了就要显示*/{setcolor(GREEN);rectangle(x,y,x+10,y-10);}for(i=de-1;i>0;i--)/*蛇的每个环节往前移动*/{x[i]=x[i-1];y[i]=y[i-1];}/*1,2,3,4表示右,左,上,下四个方向,通过这个控制来移动蛇头*/switch(direction){case 1: x[0]+=10;break;case 2: x[0]-=10;break;case 3: y[0]-=10;break;case 4: y[0]+=10;break;}for(i=3;i0;i--){x[i]=x[i-1];y[i]=y[i-1]; /*蛇的其他节数向前推进*/}{setfillstyle(SOLID_FILL,0); /*设置填充模式和颜色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范围的函数*/}}elseif(x[0]>450){x[0]=50;/*如果蛇头越过右边界,则蛇头从左边界进入*/y[0]=y[0];/*纵坐标不变*/for(i=de-1;i>0;i--){x[i]=x[i-1];y[i]=y[i-1]; /*蛇的其他节数向前推进*/}{setfillstyle(SOLID_FILL,0); /*设置填充模式和颜色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范围的函数*/}}elseif(y[0]<60){y[0]=320;/*如果蛇头越过上边界,则从下边界进入*/x[0]=x[0];/*横坐标不变*/for(i=de-1;i>0;i--){x[i]=x[i-1];y[i]=y[i-1]; /*蛇的其他节数向前推进*/}{setfillstyle(SOLID_FILL,0); /*设置填充模式和颜色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范围的函数*/}}elseif(y[0]>320){y[0]=60;/*如果蛇头越过下边界,则从上边界进入*/x[0]=x[0];/*横坐标不变*/for(i=de-1;i>0;i--){x[i]=x[i-1];y[i]=y[i-1]; /*蛇的其他节数向前推进*/}{setfillstyle(SOLID_FILL,0); /*设置填充模式和颜色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范围的函数*/}}if(life==1)/*如果蛇死就跳出内循环,重新开始*/break;if(x[0]==x&&y[0]==y)/*吃到食物以后*/{setcolor(0);/*把画面上的食物东西去掉*/rectangle(x,y,x+10,y-10); /*用当前线型和颜色画一矩形*/x[de]=-20;y[de]=-20;/*新的一节先放在看不见的位置,下次循环就取前一节的位置*/de++;/*蛇的身体长一节*/yes=1;/*画面上需要出现新的食物*/score+=10; /*每吃掉一食物,得分累加10分*/if(score%100==0){level++;gamespeed=100000-400*level-300*level*level;/*每吃掉10食物提升一级,速度加快*/PrScore();/*输出新得分*/setcolor(YELLOW); /*设置字体颜色*/settextstyle(0,0,4); /*设置字体类型*/outtextxy(150,200,"LEVEL UP"); /*显示文本*/if(level==10){level=1,gamespeed=100000-400*level-300*level*level;}delay(6000000); delay(6000000); delay(6000000); delay(6000000); delay(6000000);delay(6000000); delay(6000000);bar(50,55,455,315);/*bar是表示填充的范围的函数*/}PrScore();/*输出新得分*/ } setcolor(4);/*画出蛇*/ for(i=0;i
标题的样式还有多种,作者可以在实践中大胆创新。副标题和分标题为了点明论文的研究对象、研究内容、研究目的,对总标题加以补充、解说,有的论文还可以加副标题。非凡是一些商榷性的论文,一般都有一个副标题,如在总标题下方,添上“与××商榷”之类的副标题。另外,为了强调论文所研究的某个侧重面,也可以加副标题。如《如何看待现阶段劳动报酬的差别——也谈按劳分配中的资产阶级权利》、《开发蛋白质资源,提高蛋白质利用效率——探讨解决吃饭问题的一种发展战略》等。设置分标题的主要目的是为了清楚地显示文章的层次。有的用文字,一般都把本层次的中心内容昭然其上;也有的用数码,仅标明“一、二、三”等的顺序,起承上启下的作用。需要注重的是:无论采用哪种形式,都要紧扣所属层次的内容,以及上文与下文的联系紧密性。目录一般说来,篇幅较长的毕业论文,都没有分标题。设置分标题的论文,因其内容的层次较多,整个理论体系较庞大、复杂,故通常设目录。设置目录的目的主要是:1.使读者能够在阅读该论文之前对全文的内容、结构有一个大致的了解,以便读者决定是读还是不读,是精读还是略读等。2.为读者选读论文中的某个分论点时提供方便。长篇论文,除中心论点外,还有许多分论点。当读者需要进一步了解某个分论点时,就可以依靠目录而节省时间。目录一般放置在论文正文的前面,因而是论文的导读图。要使目录真正起到导读图的作用,必须注重:1.准确。目录必须与全文的纲目相一致。也就是说,本文的标题、分标题与目录存在着一一对应的关系。2.清楚无误。目录应逐一标注该行目录在正文中的页码。标注页码必须清楚无误。3.完整。目录既然是论文的导读图,因而必然要求具有完整性。也就是要求文章的各项内容,都应在目录中反映出来,不得遗漏。目录有两种基本类型:1.用文字表示的目录。2.用数码表示的目录。这种目录较少见。但长篇大论,便于读者阅读,也有采用这种方式的。内容提要内容提要是全文内容的缩影。在这里,作者以极经济的笔墨,勾画出全文的整体面目;提出主要论点、揭示论文的研究成果、简要叙述全文的框架结构。内容提要是正文的附属部分,一般放置在论文的篇首。写作内容提要的目的在于:1.为了使指导老师在未审阅论文全文时,先对文章的主要内容有个大体上的了解,知道研究所取得的主要成果,研究的主要逻辑顺序。2.为了使其他读者通过阅读内容提要,就能大略了解作者所研究的问题,假如产生共鸣,则再进一步阅读全文。在这里,内容提要成了把论文推荐给众多读者的“广告”。因此,内容提要应把论文的主要观点提示出来,便于读者一看就能了解论文内容的要点。论文提要要求写得简明而又全面,不要啰哩啰嗦抓不住要点或者只是干巴巴的几条筋,缺乏说明观点的材料。内容提要可分为报道性提要和指示性提要。报道性提要,主要介绍研究的主要方法与成果以及成果分析等,对文章内容的提示较全面。指示性提要,只简要地叙述研究的成果(数据、看法、意见、结论等),对研究手段、方法、过程等均不涉及。毕业论文一般使用指示性提要。