基于c语言的贪吃蛇毕业论文

关于c语言的毕业论文题目

1.c语言程序设计习题!!10道

1. 在C程序中,只能用于整型变量的运算符是___ 求余(%)___。

2. 在C语言中,char类型变量占 2 个字节。

3. 若a已定义为double类型,请写出从键盘给a输入数据的语句 scanf("%lf",&a); 。

4. 为使以下程序能正确运行,请填空。

#include

#include

main()

{ double x, y;

scanf("%lf%lf",&x,&y);

printf("y=%f\n", pow(x,y));}

5. 以下程序执行后的输出结果是 -2 。

main()

{ int m=3,n=4,x;

x=-m++;

x=x+8/++n;

printf("%d\n",x); }

6. 以下程序的输出结果是 10 20 0 。

main()

{ int a,b,c;

a=10; b=20; c=(a%b1);

printf("%d %d %d\n",a,b,c); }

7. 以下程序中调用fun函数,对主函数x和y中的值进行对调。请填空。

void fun( double *a, double *b)

{ double x;

x=*a; *a=*b ; *b=x ; }

main()

{ double x,y;

printf(“Enter x, y : “); scanf(“%lf%lf”,&x,&y);

fun( x,y);

printf(“x=%f y=%f\n”,x,y );}

8. C语言规定:字符串以 '\0' 作为结束标志。

9. 以下程序的输出结果是 3 。

long fun( int n)

{ long t;

if ( n==1 || n==2 ) t=1;

else t=fun(n-1) + fun(n-2);

return ( t );

}

main( )

{ printf(“%d\n”,fun(4) );}

10. 设有定义:

struct date

{ int year, month, day ; } d1;

请写出利用输入语句,为变量d1中的year成员从键盘输入数值的语句 scanf ("%d",&(d1.year)); 。

2.c语言课程设计题目

#include "stdio。

h" main() { float income,fax=0; printf("Please input the income: \n"); scanf("%f",&income); if(income>100000) fax=(income-100000)*0。 4; else if(income>10000) fax=(income-10000)*0。

3; else if(income>5000) fax=(income-5000)*0。2; else if(income>2000) fax=(income-2000)*0。

1; else if(income>800) fax=(income-800)*0。05; else fax=0; printf("The personal fax: %。

2f\n",fax); } 。

3.C语言的题目,这些题目怎么解答啊

#include double sq2(double a,double b); int main() { using namespace std; cout #include long ntimes(long a ); int main() { using namespace std; cout#include using namespace std; int divisor(int a,int b);long mutible(long a,long b);int main(){ using namespace std; cout#include #include void fourbit(int number) ;using namespace std; int main(){ int num; cin >>num;fourbit(num);}void fourbit(int number){ int a,b,c,d; a=number/1000; b=(number-a*1000)/100; c=((number-a*1000)-b*100)/10; d=(number-a*1000)-b*100-c*10;cout #include #include void max(const int *num,int size) ;int main(){using namespace std; int a[4]={4,3000,6,100};max(a,4) ;}void max(const int *num,int size){ int b=num[0]; for (int i=0;ib) b=num[i] ; } cout#include using namespace std;void cal(const double *num,int size) ;double arr[10];double total=0,average=0,max=0,mini=0;int main(){ cout>arr[i]; } cal(arr,10); coutarr[i]) mini=arr[i];}average=total/size;}//7777777777777#include #include using namespace std;void reoct(const int a);int main(){int a;cin>>a;reoct(a);}void reoct(const int a){cout#include using namespace std;void exchange(int *a,int *b);int main(){int aa=30,bb=60;exchange(&aa,&bb);coutint *arr(int *p,int n);int *k;int main(){int a[10]={1,2,3,4,5,6,7,8,9,10};coutdouble score[10]={1,2,3,4,5,6,7,8,9,10};double highscore=0,total=0;int number=0;int main(){ double *p=score;for(int i=0;i{ total =*p; p ;} cout p=score; highscore=*p;for(int i=0;i{ if(total/10 number ;}cout}。

关于c语言的毕业论文题目

关于贪吃蛇的毕业论文范文(求C语言的贪吃蛇毕业论文毕业设计)

1.求C语言的贪吃蛇毕业论文、毕业设计

#include #include #include #include #include const int H = 8; //地图的高 const int L = 16; //地图的长 char GameMap[H][L]; //游戏地图 int key; //按键保存 int sum = 1, over = 0; //蛇的长度, 游戏结束(自吃或碰墙) int dx[4] = {0, 0, -1, 1}; //左、右、上、下的方向 int dy[4] = {-1, 1, 0, 0}; struct Snake //蛇的每个节点的数据类型 { int x, y; //左边位置 int now; //保存当前节点的方向, 0,1,2,3分别为左右上下 }Snake[H*L]; const char Shead = '@'; //蛇头 const char Sbody = '#'; //蛇身 const char Sfood = '*'; //食物 const char Snode = '.'; //'.'在地图上标示为空 void Initial(); //地图的初始化 void Create_Food(); //在地图上随机产生食物 void Show(); //刷新显示地图 void Button(); //取出按键,并判断方向 void Move(); //蛇的移动 void Check_Border(); //检查蛇头是否越界 void Check_Head(int x, int y); //检查蛇头移动后的位置情况 int main() { Initial(); Show(); return 0; } void Initial() //地图的初始化 { int i, j; int hx, hy; system("title 贪吃蛇"); //控制台的标题 memset(GameMap, '.', sizeof(GameMap)); //初始化地图全部为空'.' system("cls"); srand(time(0)); //随机种子 hx = rand()%H; //产生蛇头 hy = rand()%L; GameMap[hx][hy] = Shead; Snake[0].x = hx; Snake[0].y = hy; Snake[0].now = -1; Create_Food(); //随机产生食物 for(i = 0; i < H; i++) //地图显示 { for(j = 0; j < L; j++) printf("%c", GameMap[i][j]); printf("\n"); } printf("\n小小C语言贪吃蛇\n"); printf("按任意方向键开始游戏\n"); getch(); //先接受一个按键,使蛇开始往该方向走 Button(); //取出按键,并判断方向 } void Create_Food() //在地图上随机产生食物 { int fx, fy; while(1) { fx = rand()%H; fy = rand()%L; if(GameMap[fx][fy] == '.') //不能出现在蛇所占有的位置 { GameMap[fx][fy] = Sfood; break; } } } void Show() //刷新显示地图 { int i, j; while(1) { _sleep(500); //延迟半秒(1000为1s),即每半秒刷新一次地图 Button(); //先判断按键在移动 Move(); if(over) //自吃或碰墙即游戏结束 { printf("\n**游戏结束**\n"); printf(" >_<\n"); getchar(); break; } system("cls"); //清空地图再显示刷新吼的地图 for(i = 0; i < H; i++) { for(j = 0; j < L; j++) printf("%c", GameMap[i][j]); printf("\n"); } printf("\n小小C语言贪吃蛇\n"); printf("按任意方向键开始游戏\n"); } } void Button() //取出按键,并判断方向 { if(kbhit() != 0) //检查当前是否有键盘输入,若有则返回一个非0值,否则返回0 { while(kbhit() != 0) //可能存在多个按键,要全部取完,以最后一个为主 key = getch(); //将按键从控制台中取出并保存到key中 switch(key) { //左 case 75: Snake[0].now = 0; break; //右 case 77: Snake[0].now = 1; break; //上 case 72: Snake[0].now = 2; break; //下 case 80: Snake[0].now = 3; break; } } } void Move() //蛇的移动 { int i, x, y; int t = sum; //保存当前蛇的长度 //记录当前蛇头的位置,并设置为空,蛇头先移动 x = Snake[0].x; y = Snake[0].y; GameMap[x][y] = '.'; Snake[0].x = Snake[0].x + dx[ Snake[0].now ]; Snake[0].y = Snake[0].y + dy[ Snake[0].now ]; Check_Border(); //蛇头是否越界 Check_Head(x, y); //蛇头移动后的位置情况,参数为: 蛇头的开始位置 if(sum == t) //未吃到食物即蛇身移动哦 for(i = 1; i < sum; i++) //要从蛇尾节点向前移动哦,前一个节点作为参照 { if(i == 1) //尾节点设置为空再移动 GameMap[ Snake[i].x ][ Snake[i].y ] = '.'; if(i == sum-1) //为蛇头后面的蛇身节点,特殊处理 { Snake[i].x = x; Snake[i].y = y; Snake[i].now = Snake[0].now; } else //其他蛇身即走到前一个蛇身位置 { Snake[i].x = Snake[i+1].x; Snake[i].y = Snake[i+1].y; Snake[i].now = Snake[i+1].now; } GameMap[ Snake[i].x ][ Snake[i].y ] = '#'; //移动后要置为'#'蛇身 } } void Check_Border() //检查蛇头是否越界 { if(Snake[0].x < 0 || Snake[0].x >= H || Snake[0].y < 0 || Snake[0].y >= L) over = 1; } void Check_Head(int x, int y) //检查蛇头移动后的位置情况 { if(GameMap[ Snake[0].x ][ Snake[0].y ] == '.') //为空 GameMap[ Snake[0].x ][ Snake[0].y ] = '@'; else if(GameMap[ Snake[0].x ][ Snake[0].y ] == '*') //为食物 { GameMap[ Snake[0].x ][ Snake[0].y ] = '@'; Snake[sum].x = x; //新增加的蛇身为蛇头后面的那个 Snake[sum].y = y; Snake[sum].now = Snake[0].now; GameMap[ Snake[sum].x ][ Snake[sum].y ] = '#'; sum++; Create_Food(); //食物吃完了马上再产生一个食物 } else over = 1; }。

2.求份详细的贪吃蛇课程设计报告

贪吃蛇游戏----《C程序设计课程设计》

一、设计要求

编写C语言程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉(蛇头撞到自己的身体)游戏结束。

二、设计内容

1.游戏界面:边框表示围墙,红色矩形代表蛇,绿色小方块代表食物。

2.设计思路

这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时由于没有庆平的原因,原来蛇的位置和新蛇的位置差一个单位,所以看起来社会多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是画矩形块和覆盖矩形块。

3.数据结构

#define N 200

stuct Food

{

int x ; /*食物的横坐标*/

int y ; /*食物的纵坐标*/

int yes ; /*判断是否要出现食物的变量*/

}food /*食物的结构体*/

struct Snake

{

intx[N]; /*蛇的横坐标*/

inty[N]; /*蛇的纵坐标*/

intnode; /*蛇的节数*/

intdirection; /*蛇的移动方向*/

intlife; /*蛇生命,0活着,1死亡*/

}snake;

4.主要函数

1)主函数main():初始化图形系统,调用DrawK()画出开始画面,调用函数Gameplay(),即玩游戏过程,游戏结束后调用Close()关闭图形系统,结束程序。

2)画界面函数DrawK();

3)游戏具体过程函数Gameplay();

4)游戏结束函数Gameplay(),游戏结束,清除屏幕,输出分数,显示游戏结束信息。

5)PrScore(),输出分数。

6)Close()函数图形结束。在显示游戏结束信息的画面时,按任意键关闭图形系统,结束程序。

3.贪吃蛇带给我的启示作文600

那件事发生在我读二年级的时候.那天放学,我排着路队正准备回家.突然跟我走在同一排的几个同学悄悄在靠近我跟我说:"今天你跟我来,我带你去一个好地方"!我心想,反正今天作业不多,回到家一定能完成,不如就跟他们去吧!于是我们一起出了校门,就向东拐,一直走到了一个小公园前.我一看,啊,到处是绿树成荫,花香扑鼻,一条小河前有一个亭子,我跟同学便向那走去,等我们坐下后,一个同学从书包去拿出来一套厚厚的游戏卡,对我们说:"大家一起来玩吧!"说着将卡一张张地发给了我们,还说了怎样玩,有怎样的规则,不照规则玩要扣分,等等..我们便开心地玩了起来.不知不觉,天己渐渐地黑了,路旁的灯光渐渐在亮了起来,我怕妈妈着急,不得不向同学说再见,背上书包回家去了.当我吃完晚饭,妈妈说:"今晚去外婆家,你作业做完了吗?"因为要去外婆家,所以我就撒了一个谎说:"做好了"当时我心想作业那么少,回来也可以做.可从外婆家回来,已经是晚上10点多了,心想这么点作业,不如明天早上早点起床做吧.于是我就放心地睡下了." 起床了,起床了,再不起床来不及了"妈妈把我从睡梦中叫醒,我一看7点多了,妈妈给我烧的早饭,我急匆匆地吃了一两口便背着书包上学去了,到了学校我才想起来还没做作业,这可怎么办呀??我急得团团转,老师知道后当着全班同学的面狠狠地批评了我一顿.我当时十分后悔.通过了这件事,我悟出了一个道理,不管作业多还是少都不能拖,今天的事今天做,决不能留到明天,做别的事也一样,不能只为一时的放松,而误了做大事。

4.急求 设计贪吃蛇实验报告

学生课程设计(论文) 题 目: 贪吃蛇游戏程序设计指导 学生姓名: 学 号:200910801001 所在院(系): 计算机学院 专 业: 计算机科学与技术 班 级: 2009级一班 指导教师: 何春燕 职称: 讲 师 2010年06月 18日 目录 摘要…………………………………………………………6 1、设计要求………………………………………………….7 2、所用仪器设备…………………………………………….7 3、具体设计过程…………………………………………….8. 3.1、程序功能……………………………………………8 3.2设计思想………………………………………………8 3.3.设计的具体实现……………………………………8. 3.4 总体流程图………………………………………….14 3.5、程序代码编写及注释………………………………..15 3.6调试问题及解决方法…………………………………21 3.7调试结果…………………………………………….22. 4设计心得体会………………………………………………25. 5、参考文献………………………………………………..26 摘 要 编写C语言程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被蛇吃掉,这时蛇的身体长一节,同时计10分,接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体游戏结束。

作为一个完整的程序,尤其是一个完整的游戏,必须考虑人机交流与用户体验。游戏的界面不能太丑,更不能连个简单的界面都没有。

游戏应该有个比较漂亮的界面,在有必要硬件支持和软件的支持下,游戏开发者必须最大限度的使游戏美观。游戏的美观是一方面,游戏的内在素质是另一方面。

一个游戏的优劣,最终由玩家决定。在游戏与玩家见面之前,游戏开发者要设计一种让玩家投入的游戏模式,并且在一定的游戏规则下进行。

关键词 贪吃蛇 流程图 c语言 源程序 turbo C 贪吃蛇游戏程序设计 1、设计要求 通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。 (1).收集资料,分析课题,分解问题,形成总体设计思路; (2).深入分析各个小问题,列出大纲,编写各部分程序模块; (3).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍; (4).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行; (5).完成课程设计报告,并进行答辩 C语言是一种易学易懂的通用程序设计语言,由于它具有功能性强,运用简洁,灵活兼有高级语言与低级语言的优点,以及“目标程序效率高”可移植性和能在各种系统上普遍实现等特点使它成为当今世界上的主流程序设计语言之一,同时被选作目前全世界广泛应用,同时也是大学生必修的科目。

作为一位当代的大学生更要很好的利用它,学好一门设计语言,实现学以至用。 制作C程序报告,可以巩固和加深自己对C语言课程的基本知识的理解和掌握,并且能够掌握C语言编程和程序调试的基本技能。

通过游戏程序的设计训练可以提高自己的基本技能,更好地掌握字符串的表示方法和字符串函数的功能、Tc图形操作的基本知识、键盘上特殊键的获取以及图形方式下光标的显示,提高自己编程兴趣与编程水平,学会如何正确的书写程序设计说明文档,提高运用C语言解决实际问题的能力,巩固C语言语法规则的理解和掌握,学会通过源程序写出流程图,提高自学以及查阅资料的能力。 2、所用仪器设备 1、能正常工作的计算机一台; 2、WindowsXP; 3、TC程序; 4、Microsoft Word2003; 3、具体设计过程 3.1、程序功能 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体叉蛇头撞倒自己身体游戏结束。

3.2 设计思想 程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。

移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。

为了便于理解,定义两个结构体:食物与蛇。 3.3.设计的具体实现 (1)函数定义 函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用 #define N 200 #include /*图形头文件*/ #include /*包含rand等函数*/ 。

5.c语言实训贪吃蛇报告书

《高级语言程序设计》课程设计 实验报告

题目:贪吃蛇

专业:计算机

班级: 软件

姓名:

成绩:

指导教师:

完成日期:2008年09月23日

一、目的

1. 进一步掌握和利用C语言进行程设计的能力;

2、进一步理解和运用结构化程设计的思想和方法;

3、初步掌握开发一个小型实用系统的基本方法;

4、学会调试一个较长程序的基本方法;

5、学会利用流程图或N-S图表示算法;

6、掌握书写程设计开发文档的能力(书写课程设计报告);

二、内容与设计思想。

(1).系统功能与分析(填写你所设计的菜单及流程图)。

功能:进行贪食蛇游戏

分析:定义键盘方向键操作,随机数发生器产生食物,并分别利用函数判断贪食蛇的长度及游戏是否成功等.

并能够输入游戏成绩.

(2).数据结构

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;

(3).模块设计

根据功能需要:

源文件 :#include <stdio.h>

#include <graphics.h>

#include <stdlib.h>

#include <dos.h>

函数名 功能

void main() 游戏主程序

void Init(void); 图形驱动

void Close(void); 图形结束

void DrawK(void); 开始画面

void GameOver(void); 结束游戏

void GamePlay(void); 玩游戏具体过程

void PrScore(void); 输出成绩

(3)总体设计思想:

利用图形驱动,制作美观的游戏界面.

通过随机函数产生随机数,控制游戏过程食物的出现.

定义键盘操作,控制游戏过程蛇的移动方向.

画出边界,并判断游戏是否结束.

统计游戏过程蛇吃的食物数量,计算并输出游戏成绩.

(4)调试过程: 测试数据及结果,出现了哪些问题,如何修改的

这里,你就写一下你平时出错的地方,与如何修改的.这里我也不好帮你写.

(5)程序有待改进的地方及本次实习的收获和建议

收获:加深认识了程序编译过程的中团队合作的重要性.

提高了自己的编程能力

(7)源程序清单(主要代码)

清单只要将上面的程序全部粘帖就可以了.

关于贪吃蛇的毕业论文范文

安卓贪吃蛇毕业论文(求C语言的贪吃蛇毕业论文毕业设计)

1.求C语言的贪吃蛇毕业论文、毕业设计

#include #include #include #include #include const int H = 8; //地图的高 const int L = 16; //地图的长 char GameMap[H][L]; //游戏地图 int key; //按键保存 int sum = 1, over = 0; //蛇的长度, 游戏结束(自吃或碰墙) int dx[4] = {0, 0, -1, 1}; //左、右、上、下的方向 int dy[4] = {-1, 1, 0, 0}; struct Snake //蛇的每个节点的数据类型 { int x, y; //左边位置 int now; //保存当前节点的方向, 0,1,2,3分别为左右上下 }Snake[H*L]; const char Shead = '@'; //蛇头 const char Sbody = '#'; //蛇身 const char Sfood = '*'; //食物 const char Snode = '.'; //'.'在地图上标示为空 void Initial(); //地图的初始化 void Create_Food(); //在地图上随机产生食物 void Show(); //刷新显示地图 void Button(); //取出按键,并判断方向 void Move(); //蛇的移动 void Check_Border(); //检查蛇头是否越界 void Check_Head(int x, int y); //检查蛇头移动后的位置情况 int main() { Initial(); Show(); return 0; } void Initial() //地图的初始化 { int i, j; int hx, hy; system("title 贪吃蛇"); //控制台的标题 memset(GameMap, '.', sizeof(GameMap)); //初始化地图全部为空'.' system("cls"); srand(time(0)); //随机种子 hx = rand()%H; //产生蛇头 hy = rand()%L; GameMap[hx][hy] = Shead; Snake[0].x = hx; Snake[0].y = hy; Snake[0].now = -1; Create_Food(); //随机产生食物 for(i = 0; i < H; i++) //地图显示 { for(j = 0; j < L; j++) printf("%c", GameMap[i][j]); printf("\n"); } printf("\n小小C语言贪吃蛇\n"); printf("按任意方向键开始游戏\n"); getch(); //先接受一个按键,使蛇开始往该方向走 Button(); //取出按键,并判断方向 } void Create_Food() //在地图上随机产生食物 { int fx, fy; while(1) { fx = rand()%H; fy = rand()%L; if(GameMap[fx][fy] == '.') //不能出现在蛇所占有的位置 { GameMap[fx][fy] = Sfood; break; } } } void Show() //刷新显示地图 { int i, j; while(1) { _sleep(500); //延迟半秒(1000为1s),即每半秒刷新一次地图 Button(); //先判断按键在移动 Move(); if(over) //自吃或碰墙即游戏结束 { printf("\n**游戏结束**\n"); printf(" >_<\n"); getchar(); break; } system("cls"); //清空地图再显示刷新吼的地图 for(i = 0; i < H; i++) { for(j = 0; j < L; j++) printf("%c", GameMap[i][j]); printf("\n"); } printf("\n小小C语言贪吃蛇\n"); printf("按任意方向键开始游戏\n"); } } void Button() //取出按键,并判断方向 { if(kbhit() != 0) //检查当前是否有键盘输入,若有则返回一个非0值,否则返回0 { while(kbhit() != 0) //可能存在多个按键,要全部取完,以最后一个为主 key = getch(); //将按键从控制台中取出并保存到key中 switch(key) { //左 case 75: Snake[0].now = 0; break; //右 case 77: Snake[0].now = 1; break; //上 case 72: Snake[0].now = 2; break; //下 case 80: Snake[0].now = 3; break; } } } void Move() //蛇的移动 { int i, x, y; int t = sum; //保存当前蛇的长度 //记录当前蛇头的位置,并设置为空,蛇头先移动 x = Snake[0].x; y = Snake[0].y; GameMap[x][y] = '.'; Snake[0].x = Snake[0].x + dx[ Snake[0].now ]; Snake[0].y = Snake[0].y + dy[ Snake[0].now ]; Check_Border(); //蛇头是否越界 Check_Head(x, y); //蛇头移动后的位置情况,参数为: 蛇头的开始位置 if(sum == t) //未吃到食物即蛇身移动哦 for(i = 1; i < sum; i++) //要从蛇尾节点向前移动哦,前一个节点作为参照 { if(i == 1) //尾节点设置为空再移动 GameMap[ Snake[i].x ][ Snake[i].y ] = '.'; if(i == sum-1) //为蛇头后面的蛇身节点,特殊处理 { Snake[i].x = x; Snake[i].y = y; Snake[i].now = Snake[0].now; } else //其他蛇身即走到前一个蛇身位置 { Snake[i].x = Snake[i+1].x; Snake[i].y = Snake[i+1].y; Snake[i].now = Snake[i+1].now; } GameMap[ Snake[i].x ][ Snake[i].y ] = '#'; //移动后要置为'#'蛇身 } } void Check_Border() //检查蛇头是否越界 { if(Snake[0].x < 0 || Snake[0].x >= H || Snake[0].y < 0 || Snake[0].y >= L) over = 1; } void Check_Head(int x, int y) //检查蛇头移动后的位置情况 { if(GameMap[ Snake[0].x ][ Snake[0].y ] == '.') //为空 GameMap[ Snake[0].x ][ Snake[0].y ] = '@'; else if(GameMap[ Snake[0].x ][ Snake[0].y ] == '*') //为食物 { GameMap[ Snake[0].x ][ Snake[0].y ] = '@'; Snake[sum].x = x; //新增加的蛇身为蛇头后面的那个 Snake[sum].y = y; Snake[sum].now = Snake[0].now; GameMap[ Snake[sum].x ][ Snake[sum].y ] = '#'; sum++; Create_Food(); //食物吃完了马上再产生一个食物 } else over = 1; }。

安卓贪吃蛇毕业论文

单片机贪吃蛇毕业论文(要写毕业论文了,但是很纠结,不知道是单片机方面比较好写还是图像)

1.要写毕业论文了,但是很纠结,不知道是单片机方面比较好写还是图像

个人感觉单片机方向的论文比较好写也比较简单,而且也比较容易做出实物答辩的时候拿高分,比如说做一个mp3什么的,只要熟悉下SPI协议,处理器用STM32F103x系列,然后再买一个VS1003b的mp3解码芯片,很容易就可以做一个mp3出来,不仅看起来高大上,做起来也很简单,晚上的教程一堆一堆的,拈来可得

图形学方面的本人入坑五六年,说来说去除了数学还是数学,赶论文很多地方自己都不明白,拿脸部识别来说ANN,SVM,Adaboost,哪个不要花个把来月琢磨,而且还是建立在有一定底子的基础上,代码参考OpenCV,除非觉得自己有把握,不建议本科或者非图形学专业的论文搞,难度我就不说了,谁学谁知道

2.求助

比如用12864液晶显示吧,先初始化,再写地址,再写数据。

这个只能单次刷新。你可以以开头的为单位安排显示,如果按上(控制)(或者已有方向),在这个之前(方位标志的方向)写一个格行了。 同时消除最后一个格子。

至于加长啊,。 (就是说你只按前一步的时候不用消除最后一个格子就行了)

这个显示不是很难,因为第次只会移动一个。

这个你要设立一个坐标,如果超过了会从下面或上面出来。

其实一步步来 真的很简单

那也很简单,用逐行扫描,首先对所有点进行编码,再把亮的那些点记录到另一数组,再进行解码(主要求出第行扫描时列的值),得出每行要扫描的数据(包括即行送1,列送你求出编码,具体看电路的接法 )。

3.单片机论文

基于MSP430 单片机的电源监控管理系统 引言 大功率直流开关电源由PFC 和DC-DC 变换器组成,为了提高可靠性,并能够对其进行脱机或远程监控管理,在开关电源模块内设置监控管理系统。

该系统对电源故障类进行监控,对电源输出的电压电流进行自动设定和调节,通过串行通信接口,与远程中心监控站进行远程监控和管理,这一功能在通信系统基站供电系统中尤为重要。本文提出了一种基于MSP430单片机的电源监控管理系统的设计和实现。

1 系统结构和硬件电路设计 系统的整体设计结构如图1所示。本系统采用的核心芯片为TI公司推出16位系列单片机MSP430。

MSP430具有集成度高,外围设备丰富,超低功耗等优点。单片集成了多通道12bit的A/D转换、片内精密比较器、多个具有PWM功能的定时器、片内USART、看门狗定时器、片内数控振荡器(DCO)、大量的I/O端口以及大容量的片内存储器,采用串行在线编程方法,单片可以满足绝大多数的应用需要。

MSP430的这种高集成度使应用人员不必在接口、外接I/O及存储器上花太多的精力,而可以方便的设计真正意义上的单片系统,在许多领域得到了广泛的应用。下面介绍该系统可以实现的功能和基于MSP430F149的电控系统的设计。

1.1 系统功能:a.开机控制。上电后,单片机开始工作,按下电源键,点亮指示灯后,将电网220V接入PFC,开关电源启动工作,然后接于负载。

b.电压设定和调节。用单片机A/D口采集开关电源的输出电压值,并显示于液晶屏上,通过单片机控制数字电位计调节输出电压值,实现自动调节;或者通过键盘的左右键选出电压调节页面,用上下键进行手动调节;也可以通过通信接口实现远程调节。

c.电流调节。多台开关电源并联使用时,要求各台电源的负载电压相等。

单片机A/D口采集转换成电压值的负载电流值,通过通信口得到各台电流值,取电流平均值,控制数字电位计调节输出电压,使输出负载电流达到平均值;或者通过键盘的左右键选出电流调节页面,用上下键进行手动调节。d.故障报警。

单片机通过光电耦合器检测到各项输入输出故障时,扬声器产生蜂鸣,相应的报警灯闪烁,并在液晶屏上显示故障类型及处理方法。e.监测。

单片机A/D口对电网电压,输出电压,输出电流进行采集测量,当出现超限时进行报警。f.通信。

包括单片机与各台开关电源间的通信和单片机与中心监控站的通信。1.2 电压调节电路 电压调节电路由单片机、数字电位计X9313和可调分流基准芯片TL431组成,其电路原理图如图2所示。

Xicor9313是固态非易失性电位器,可用作数字控制的微调电位器。TL431是TI生产的一个有良好的热稳定性能的三端可调分流基准源,它的输出电压用两个电阻就可以任意地设置到从VREF(2.5V)到36V范围内的任何值。

工作时,单片机的一个IO控制INC计数输入脚,为其提供计数脉冲,此输入端为下降沿触发。另一个IO控制U/D升降输入端,当U/D为高电平时,X9313内部计数器进行加法计数,VW端的输出电压上升,由于VW接地,使VH端电压降低,而TL431的REF输出端电压为恒定的2.5V,从而使Vcc处输出电压升高;同理当U/D为低电平时,Vcc处输出电压降低,这样就实现了电压输出调节。

1.3 模拟数据采集 MSP430F149内嵌入一个高精度的,具有采样与保持功能的12位ADC转换模块,内部提供各种采样与保持时钟源。MSP430有8个外部输入通道可选, 最高采样速度可达200KHZ,并且还内置温度传感器,可以测量芯片内的温度,如果测量温度高于或低于预设的温度是,可以通过外接部件显示告警信息,同时具有6种可编程选择的内部参考电压。

该转换模块为一些需要模拟量采集的场合提供了便利。我们选择的参考电压是0~2.5V,这样MSP430F149的AD分辨率就是2.5/4096 = 0.61V左右。

由于输入的模拟电压量较高,不能直接与单片机的ADC采样端口相连,因此用串联一个滑动变阻器的方法进行了降压处理,成功解决了上述问题。1.4 人机对话设计 系统的人机操作界面由液晶显示屏、指示灯和键盘组成。

液晶选用的是基于T6963C 的液晶模块YM12864。键盘采用的是3*3 的阵列接法,系统采用了图形用户界面,操作简单易行,显示实用美观。

工作时,液晶屏可以实时显示采集到的电网电压、输出电压、输出电流及各种报警信息,操作相应键盘可以进行显示页面的切换,对输出电压,输出电流进行自动、手动及远程控制调节。当有报警信息产生时,相应得指示灯会闪烁警示,同时与单片机连接的扬声器会产生报警蜂鸣声,以提醒操作人员做出相应的处理。

2 系统软件设计430 支持汇编语言和C 语言两种语言编程,因此可以在一个工程文件中同时用两种语言,使用汇编语言,便于在调试时寻找逻辑和指令的联系及地址的定位正确与否。使用C 语言进行编程大大减少了工作量,编好后的程序可读性好,易于修改和维护。

开发工具使用IARSystems 公司的IAR Embedded Workbench,它集成了编辑、编译、链接、下载与在线调试(Debug)等多种功能,使用方便,并具备高效的C 语言编译能力。考虑到软件开发效率及可维护性,系统软件设计遵循模块化的编程。

4.我想用51单片机做一个贪吃蛇游戏,用8*8点阵.求代码

#include #define uchar unsigned char#define SNAKE 20 //最大长度#define TIME 50 //显示延时时间#define SPEED 71 //速度控制//#define keyenable 1sbit keyenable=P3^6; //方向使能/*sbit keyx=P0^1; //左右sbit keyy=P0^2; //上下 *///sbit up=P0^0;sbit up=P3^3; //downsbit down=P3^1;sbit right=P3^2;sbit left=P3^4;uchar x[SNAKE+1];uchar y[SNAKE+1]; uchar time,n,i,e; //延时时间,当前蛇长,通用循环变量,当前速度 char addx,addy; //位移偏移量/********************延时程序*********************/void delay(char MS){char us,usn;while(MS!=0){usn = 0;while(usn!=0){us=0xff;while (us!=0){us--;};usn--;}MS--;}}/*******************************************判断碰撞*******************************************/bit knock(){bit k;k=0;if(x[1]>7||y[1]>7)k=1; //撞墙for(i=2;i1;i--){x[i]=x[i-1];y[i]=y[i-1];} //x[n-1]=x[2];y[n-1]=y[2]; x[1]=x[2]+addx;y[1]=y[2]+addy; //移动 } } }。

单片机贪吃蛇毕业论文

java版贪吃蛇毕业论文

1.java中的贪吃蛇程序

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.*; public class SnakeGame extends JFrame implements KeyListener{ private int stat=1,direction=0,bodylen=6,headx=7,heady=8, tailx=1,taily=8,tail,foodx,foody,food;//初始化定义变量 public final int EAST=1,WEST=2,SOUTH=3,NORTH=4;//方向常量 int [][] fillblock=new int [20][20];//定义蛇身所占位置 public SnakeGame() {//构造函数 super("贪吃蛇"); setSize(510,510); setVisible(true);//设定窗口属性 addKeyListener(this);//添加监听 (JFrame.EXIT_ON_CLOSE); for(int i=1;i<=7;i++) fillblock[i][8]=EAST;//初始化蛇身属性 direction=EAST;//方向初始化的设置 FoodLocate(); //定位食物 while (stat==1){ fillblock[headx][heady]=direction; switch(direction){ case 1:headx++;break; case 2:headx--;break; case 3:heady++;break; case 4:heady--;break; }//蛇头的前进 if(heady>19||headx>19||tailx>19||taily>19||heady<0||headx<0||tailx<0||taily<0||fillblock[headx][heady]!=0){ stat=0; break; } //判断游戏是否结束 try{ Thread.sleep(150); } catch(InterruptedException e){}//延迟 fillblock[headx][heady]=direction; if(headx==foodx&&heady==foody){//吃到食物 FoodLocate(); food=2; try{ Thread.sleep(100); } catch(InterruptedException e){}//延迟 } if(food!=0)food--; else{tail=fillblock[tailx][taily]; fillblock[tailx][taily]=0;//蛇尾的消除 switch(tail){ case 1:tailx++;break; case 2:tailx--;break; case 3:taily++;break; case 4:taily--;break; }//蛇尾的前进 } repaint(); } if(stat==0) JOptionPane.showMessageDialog(null,"GAME OVER","Game Over",JOptionPane.INFORMATION_MESSAGE); } public void keyPressed(KeyEvent e) {//按键响应 int keyCode=e.getKeyCode(); if(stat==1) switch(keyCode){ case KeyEvent.VK_UP:if(direction!=SOUTH) direction=NORTH;break; case KeyEvent.VK_DOWN:if(direction!=NORTH)direction=SOUTH;break; case KeyEvent.VK_LEFT:if(direction!=EAST)direction=WEST;break; case KeyEvent.VK_RIGHT:if (direction!=WEST)direction=EAST;break; } } public void keyReleased(KeyEvent e){}//空函数 public void keyTyped(KeyEvent e){} //空函数 public void FoodLocate(){//定位食物坐标 do{ Random r=new Random(); foodx=r.nextInt(20); foody=r.nextInt(20); }while (fillblock[foodx][foody]!=0); } public void paint(Graphics g){//画图 super.paint(g); g.setColor(Color.BLUE); for(int i=0;i<20;i++) for(int j=0;j<20;j++) if (fillblock[i][j]!=0) g.fillRect(25*i+5,25*j+5,24,24); g.setColor(Color.RED); g.fillRect(foodx*25+5,foody*25+5,24,24); } public static void main(String[] args) {//主程序 SnakeGame application=new SnakeGame(); } }。

2.求C语言的贪吃蛇毕业论文、毕业设计

#include #include #include #include #include const int H = 8; //地图的高 const int L = 16; //地图的长 char GameMap[H][L]; //游戏地图 int key; //按键保存 int sum = 1, over = 0; //蛇的长度, 游戏结束(自吃或碰墙) int dx[4] = {0, 0, -1, 1}; //左、右、上、下的方向 int dy[4] = {-1, 1, 0, 0}; struct Snake //蛇的每个节点的数据类型 { int x, y; //左边位置 int now; //保存当前节点的方向, 0,1,2,3分别为左右上下 }Snake[H*L]; const char Shead = '@'; //蛇头 const char Sbody = '#'; //蛇身 const char Sfood = '*'; //食物 const char Snode = '.'; //'.'在地图上标示为空 void Initial(); //地图的初始化 void Create_Food(); //在地图上随机产生食物 void Show(); //刷新显示地图 void Button(); //取出按键,并判断方向 void Move(); //蛇的移动 void Check_Border(); //检查蛇头是否越界 void Check_Head(int x, int y); //检查蛇头移动后的位置情况 int main() { Initial(); Show(); return 0; } void Initial() //地图的初始化 { int i, j; int hx, hy; system("title 贪吃蛇"); //控制台的标题 memset(GameMap, '.', sizeof(GameMap)); //初始化地图全部为空'.' system("cls"); srand(time(0)); //随机种子 hx = rand()%H; //产生蛇头 hy = rand()%L; GameMap[hx][hy] = Shead; Snake[0].x = hx; Snake[0].y = hy; Snake[0].now = -1; Create_Food(); //随机产生食物 for(i = 0; i < H; i++) //地图显示 { for(j = 0; j < L; j++) printf("%c", GameMap[i][j]); printf("\n"); } printf("\n小小C语言贪吃蛇\n"); printf("按任意方向键开始游戏\n"); getch(); //先接受一个按键,使蛇开始往该方向走 Button(); //取出按键,并判断方向 } void Create_Food() //在地图上随机产生食物 { int fx, fy; while(1) { fx = rand()%H; fy = rand()%L; if(GameMap[fx][fy] == '.') //不能出现在蛇所占有的位置 { GameMap[fx][fy] = Sfood; break; } } } void Show() //刷新显示地图 { int i, j; while(1) { _sleep(500); //延迟半秒(1000为1s),即每半秒刷新一次地图 Button(); //先判断按键在移动 Move(); if(over) //自吃或碰墙即游戏结束 { printf("\n**游戏结束**\n"); printf(" >_<\n"); getchar(); break; } system("cls"); //清空地图再显示刷新吼的地图 for(i = 0; i < H; i++) { for(j = 0; j < L; j++) printf("%c", GameMap[i][j]); printf("\n"); } printf("\n小小C语言贪吃蛇\n"); printf("按任意方向键开始游戏\n"); } } void Button() //取出按键,并判断方向 { if(kbhit() != 0) //检查当前是否有键盘输入,若有则返回一个非0值,否则返回0 { while(kbhit() != 0) //可能存在多个按键,要全部取完,以最后一个为主 key = getch(); //将按键从控制台中取出并保存到key中 switch(key) { //左 case 75: Snake[0].now = 0; break; //右 case 77: Snake[0].now = 1; break; //上 case 72: Snake[0].now = 2; break; //下 case 80: Snake[0].now = 3; break; } } } void Move() //蛇的移动 { int i, x, y; int t = sum; //保存当前蛇的长度 //记录当前蛇头的位置,并设置为空,蛇头先移动 x = Snake[0].x; y = Snake[0].y; GameMap[x][y] = '.'; Snake[0].x = Snake[0].x + dx[ Snake[0].now ]; Snake[0].y = Snake[0].y + dy[ Snake[0].now ]; Check_Border(); //蛇头是否越界 Check_Head(x, y); //蛇头移动后的位置情况,参数为: 蛇头的开始位置 if(sum == t) //未吃到食物即蛇身移动哦 for(i = 1; i < sum; i++) //要从蛇尾节点向前移动哦,前一个节点作为参照 { if(i == 1) //尾节点设置为空再移动 GameMap[ Snake[i].x ][ Snake[i].y ] = '.'; if(i == sum-1) //为蛇头后面的蛇身节点,特殊处理 { Snake[i].x = x; Snake[i].y = y; Snake[i].now = Snake[0].now; } else //其他蛇身即走到前一个蛇身位置 { Snake[i].x = Snake[i+1].x; Snake[i].y = Snake[i+1].y; Snake[i].now = Snake[i+1].now; } GameMap[ Snake[i].x ][ Snake[i].y ] = '#'; //移动后要置为'#'蛇身 } } void Check_Border() //检查蛇头是否越界 { if(Snake[0].x < 0 || Snake[0].x >= H || Snake[0].y < 0 || Snake[0].y >= L) over = 1; } void Check_Head(int x, int y) //检查蛇头移动后的位置情况 { if(GameMap[ Snake[0].x ][ Snake[0].y ] == '.') //为空 GameMap[ Snake[0].x ][ Snake[0].y ] = '@'; else if(GameMap[ Snake[0].x ][ Snake[0].y ] == '*') //为食物 { GameMap[ Snake[0].x ][ Snake[0].y ] = '@'; Snake[sum].x = x; //新增加的蛇身为蛇头后面的那个 Snake[sum].y = y; Snake[sum].now = Snake[0].now; GameMap[ Snake[sum].x ][ Snake[sum].y ] = '#'; sum++; Create_Food(); //食物吃完了马上再产生一个食物 } else over = 1; }。

3.用JAVA设计游戏:贪吃蛇游戏

用MVC方式实现的贪吃蛇游戏,共有4个类。

运行GreedSnake运行即可。主要是观察者模式的使用,我已经添加了很多注释了。

1、/* * 程序名称:贪食蛇 * 原作者:BigF * 修改者:algo * 说明:我以前也用C写过这个程序,现在看到BigF用Java写的这个,发现虽然作者自称是Java的初学者, * 但是明显编写程序的素养不错,程序结构写得很清晰,有些细微得地方也写得很简洁,一时兴起之 * 下,我认真解读了这个程序,发现数据和表现分开得很好,而我近日正在学习MVC设计模式, * 因此尝试把程序得结构改了一下,用MVC模式来实现,对源程序得改动不多。 * 我同时也为程序增加了一些自己理解得注释,希望对大家阅读有帮助。

*/ package mvcTest; /** * @author WangYu * @version 1.0 * Description: * * Create on :Date :2005-6-13 Time:15:57:16 * LastModified: * History: */ public class GreedSnake { public static void main(String[] args) { SnakeModel model = new SnakeModel(20,30); SnakeControl control = new SnakeControl(model); SnakeView view = new SnakeView(model,control); //添加一个观察者,让view成为model的观察者 model.addObserver(view); (new Thread(model)).start(); } } ------------------------------------------------------------- 2、 package mvcTest; //SnakeControl.java import java.awt.event.KeyEvent; import java.awt.event.KeyListener; /** * MVC中的Controler,负责接收用户的操作,并把用户操作通知Model */ public class SnakeControl implements KeyListener{ SnakeModel model; public SnakeControl(SnakeModel model){ this.model = model; } public void keyPressed(KeyEvent e) { int keyCode = e.getKeyCode(); if (model.running){ // 运行状态下,处理的按键 switch (keyCode) { case KeyEvent.VK_UP: model.changeDirection(SnakeModel.UP); break; case KeyEvent.VK_DOWN: model.changeDirection(SnakeModel.DOWN); break; case KeyEvent.VK_LEFT: model.changeDirection(SnakeModel.LEFT); break; case KeyEvent.VK_RIGHT: model.changeDirection(SnakeModel.RIGHT); break; case KeyEvent.VK_ADD: case KeyEvent.VK_PAGE_UP: model.speedUp(); break; case KeyEvent.VK_SUBTRACT: case KeyEvent.VK_PAGE_DOWN: model.speedDown(); break; case KeyEvent.VK_SPACE: case KeyEvent.VK_P: model.changePauseState(); break; default: } } // 任何情况下处理的按键,按键导致重新启动游戏 if (keyCode == KeyEvent.VK_R || keyCode == KeyEvent.VK_S || keyCode == KeyEvent.VK_ENTER) { model.reset(); } } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } } ------------------------------------------------------------- 3、/* * */ package mvcTest; /** * 游戏的Model类,负责所有游戏相关数据及运行 * @author WangYu * @version 1.0 * Description: * * Create on :Date :2005-6-13 Time:15:58:33 * LastModified: * History: */ //SnakeModel.java import javax.swing.*; import java.util.Arrays; import java.util.LinkedList; import java.util.Observable; import java.util.Random; /** * 游戏的Model类,负责所有游戏相关数据及运行 */ class SnakeModel extends Observable implements Runnable { boolean[][] matrix; // 指示位置上有没蛇体或食物 LinkedList nodeArray = new LinkedList(); // 蛇体 Node food; int maxX; int maxY; int direction = 2; // 蛇运行的方向 boolean running = false; // 运行状态 int timeInterval = 200; // 时间间隔,毫秒 double speedChangeRate = 0.75; // 每次得速度变化率 boolean paused = false; // 暂停标志 int score = 0; // 得分 int countMove = 0; // 吃到食物前移动的次数 // UP and DOWN should be even // RIGHT and LEFT should be odd public static final int UP = 2; public static final int DOWN = 4; public static final int LEFT = 1; public static final int RIGHT = 3; public SnakeModel( int maxX, int maxY) { this.maxX = maxX; this.maxY = maxY; reset(); } public void reset(){ direction = SnakeModel.UP; // 蛇运行的方向 timeInterval = 200; // 时间间隔,毫秒 paused = false; // 暂停标志 score = 0; // 得分 countMove = 0; // 吃到食物前移动的次数 // initial matirx, 全部清0 matrix = new boolean[maxX][]; for (int i = 0; i < maxX; ++i) { matrix[i] = new boolean[maxY]; Arrays.fill(matrix[i], false); } // initial the snake // 初始化蛇体,如果横向位置超过20个,长度为10,否则为横向位置的一半 int initArrayLength = maxX > 20 ? 10 : maxX / 2; nodeArray.clear(); for (int i = 0; i < initArrayLength; ++i) { int x = maxX / 2 + i;//maxX被初始化为20 int y = maxY / 2; //maxY被初始化为30 //nodeArray[x,y]: [10,15]-[11,15]-[12,15]~~[20,15] //默认的运行方向向上,所以游戏一开始nodeArray就变为: // [10,14]-[10,15]-[11,15]-[12,15]~~[19,15] nodeArray.addLast(new Node(x, y)); matrix[x][y] = true; } 。

4.贪吃蛇程序用JAVA编写

//drawNode():绘画某一结点(蛇身或食物) //---------------------------------------------------------------------- private void drawNode(Graphics g,Node n) { g.fillRect(n.x*nodeWidth,n.y*nodeHeight,nodeWidth-1,nodeHeight-1); } //---------------------------------------------------------------------- //updateScore():改变计分牌 //---------------------------------------------------------------------- public void updateScore() { String s='Score: '+snakeModel.score; [Page]labelScore.setText(s); } //---------------------------------------------------------------------- //begin():游戏开始,放置贪吃蛇 //---------------------------------------------------------------------- void begin() { if(snakeModel==null||!snakeModel.running) { snakeModel=new SnakeModel(this,canvasWidth/nodeWidth, this.canvasHeight/nodeHeight); (new Thread(snakeModel)).start(); } } //---------------------------------------------------------------------- //main():主函数 //---------------------------------------------------------------------- public static void main(String[] args) { GreedSnake gs=new GreedSnake(); } } /************************************************************************** *文件名:SnakeModel.java *作者:C.Jason *要点分析: *1)数据结构:matrix[][]用来存储地图上面的信息,如果什么也没有设置为false, * 如果有食物或蛇,设置为true;nodeArray,一个LinkedList,用来保存蛇的每 * 一节;food用来保存食物的位置;而Node类是保存每个位置的信息。

*2)重要函数: * changeDirection(int newDirection) ,用来改变蛇前进的方向,而且只是 * 保存头部的前进方向,因为其他的前进方向已经用位置来指明了。 其中newDirection * 必须和原来的direction不是相反方向,所以相反方向的值用了同样的奇偶性。

在测试 * 的时候使用了direction%2!=newDirection%2 进行判断。 * moveOn(),用来更新蛇的位置,对于当前方向,把头部位置进行相应改变。

如果越界, * 结束;否则,检测是否遇到食物(加头部)或身体(结束);如果什么都没有,加上头部, * 去掉尾部。由于用了LinkedList数据结构,省去了相当多的麻烦。

*************************************************************************/ import java.util.*; import javax.swing.*; //---------------------------------------------------------------------- //Node:结点类 //---------------------------------------------------------------------- class Node { int x; int y; Node(int x,int y) { this.x=x; this.y=y; } } //---------------------------------------------------------------------- //SnakeModel:贪吃蛇模型 //---------------------------------------------------------------------- class SnakeModel implements Runnable { GreedSnake gs; boolean[][] matrix;// 界面数据保存在数组里 LinkedList nodeArray=new LinkedList(); Node food; int maxX;//最大宽度 int maxY;//最大长度 int direction=2;//方向 boolean running=false; int timeInterval=200;// 间隔时间(速度) double speedChangeRate=0.75;// 速度改变程度 [Page]boolean paused=false;// 游戏状态 int score=0; int countMove=0; // UP和DOWN是偶数,RIGHT和LEFT是奇数 public static final int UP=2; public static final int DOWN=4; public static final int LEFT=1; public static final int RIGHT=3; //---------------------------------------------------------------------- //GreedModel():初始化界面 //---------------------------------------------------------------------- public SnakeModel(GreedSnake gs,int maxX,int maxY) { this.gs=gs; this.maxX=maxX; this.maxY=maxY; matrix=new boolean[maxX][]; for(int i=0;i20 ? 10 : maxX/2; for(int i=0;i

5.如何用Java语言写一个贪吃蛇游戏

去百度文库,查看完整内容>内容来自用户:5702309用Java编写的贪吃蛇代码下面是我用java编写的一个贪吃蛇游戏源代码.我个人是比较喜欢玩游戏的,所以学习编程二年多了,很想做个游戏程序,由于能力有限,一直没能做好,后来突然看同学在手机上玩“贪吃蛇”,故想做出来,其一是因为此游戏界面容易设计,算法也比较简单,今天我就把我程序的代码和算法介绍一下,顺便把程序界面皮肤设计说一下。

程序中一个关于游戏信息的类如下,由于类的说明在程序中写的很清楚了,就不再多解释了:#include "time.h"//方向定义const CPoint UP(CPoint(0,-1));const CPoint DOWN(CPoint(0,1));const CPoint LEFT(CPoint(-1,0));const CPoint RIGHT(CPoint(1,0));//速度快慢定义const int HIGH = 75;const int NORMAL = 180;const int SLOW = 300;const int MAX = 80; //表示转向数const int LENGTH = 10;class GameMsg{public:GameMsg(void): m_icon(0){InitGame();}void InitGame(int up = VK_UP, int down = VK_DOWN, int left = VK_LEFT, int right = VK_RIGHT){srand((unsigned)time(NULL));m_gameSpeed = NORMAL;m_speedNum = 2;m_snakeNum = 4;for(int i=0; i

6.求一个关于JAVA的论文

目 录 一、概要设计……………………………………………………………3 二、程序整体设计说明…………………………………………….…..4 三、程序部分源代码及注释…………………………………………….9 四、测试结果………………………………………………………….24 五、设计心得…………………………………………………………25 六、致 谢…………………………………………………………25 七、参考文献…………………………………………………………25 【摘 要】该程序是一个图形界面的java文档编辑器,其界面主要采用了awt包, 程序实现了文本编辑器的基本功能有:新建文件、打开文件、文件保存、文件另存为、剪切、复制、粘贴、删除、查找/替换、改变字体大小,另外还利用Time类的schedule方法实现了文件的定时自动更新功能,并创建备份文件,由于该编辑器是用的awt包,所以在技术上没有实现将Java的关键字以不同颜色显示功能。

【关键字】java 编辑器 一、概要设计 Java程序编辑器是:图形界面、线程、流与文件等技术的综合应用。 图形界面的实现:考虑到简单、实用、高效等特点,就选择了AWT来完成实现,在选择组件上,文本编辑区就选用了TaxtArea作为主要的部件。

线程实现文件自动保存:在相关的参考书上查阅到在Time类中有一个schedule方法可以在后台自动完成一定的功能,而且调用起来相当简单,于是就用了Time类中的schedule方法来实现文件自动保存及备份功能。 文件操作的实现:利用了字符文件流FileReader和FileWriter类来实现。

由于Java的特性,可能用任何一个编辑器来编辑,于是就将Windows中的记事本作为模仿对象,根据实现情况删减了其中的一些功能,如自动换行,设置字体,打印等功能。 在设计类的时候,考虑到简单明了,就用了两个类,一个主类和一个默认属性类作为程序的整体框架,所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。

主类完成对象的实例化及显示。这们设计的优点是:条理清晰,容易理解,容易修改。

这样设计的缺点是:不利于共享类中的方法。 二、程序整体设计说明 2.1、程序框架图 2.2、程序中所用类说明 (1)用户自定义类 类名:EditInstantiation 作用:实例化对象 继承的父类:WindowAdapter 主要成员变量: Frame myFrm // 定义主窗体 TextArea myText // 定义文本编辑区 Dialog myDlgFind,myDlgFindont //查找及设置字体对话框 TextField TFfind, TFreplace, TffontSize //查找对话框和字体窗体中的文本行 Button BfontOK, Bfind, Breplace, Bnext, Bcancel //定义和创建各按钮 Label Lf, Lr, Ls //定义和创建各标签 MenuBar Mbbar //定义和创建主菜单 Menu Mfile,Medit,Mformation,Mhelp //定义和创建主菜单中的选项 Toolkit toolKit Clipboard myCB //剪切板对象 FileDialog myFDlg //定义文件对话框 Choice ChfontName //定义和创建字体选择框 private int VIindex = 1; //构成文件名后缀变量 private String VSsubFixStr=".java"; //构成文件名扩展名变量 private String VSmyFileName = "Document1",VSmyBFileName; //文件名及备份文件名变量 private File VFmyFile=new File(VSmyFileName+VIindex+".java"); //文件名变量 private int VIsearchPosition=0; //查找位置指针 private Timer VTtime; //实例化一个Time类 private int VImin=1; // schedule方法中的一个时间参数 private int VItype=JOptionPane.INFORMATION_MESSAGE; //提示对话框类型 private String VStitle; //提示对话框标题 private String VSmessage; //提示对话框信息 private boolean VBchanged = true; //改变字体的一个标识 private int VIfontSizeMin = 8, VIfontSizeMax = 40, VIfontSizeChangedStep = 2; //设置字体大小及步长 主要成员方法: public void init() //初始化各部件菜单的定义和事件的监听 public void displayEdit ()//显示窗体及调用Time中的schedule方法 public void windowClosing () //关闭窗体 public void save //保存文件方法 a.内部类类名:KeyEvents 作用:实现菜单的事件的响应功能 继承的父类:KeyAdapter 主要成员变量:无 成员方法:actionPerformed()、keyPressed() b.内部类类名:FindKeyEvent 作用:实现查找中各部件事件的响应功能 继承的父类:无 主要成员变量:无 成员方法:actionPerformed () c.内部类类名:fontEvent 作用:实现字体中各部件事件的响应功能 继承的父类:无 主要成员变量:无 成员方法:ItemListener(),ActionListener() (2)用户自定义类与Java类的继承关系图如下: 自定义类 Java 类 线程使用说明 2.3、实现接口方法 本程序用到的方法有:schedule其方法描述如下: schedule(事件,启动时间,间隔时间); 2.4、线程应用 本程序为文本编辑器,为实现自动更新,应用到了线程,每隔1分钟对文件进行自动更新 2.5、异常处理说明 (1)打开文件时的异常处理 需要处理的异常:IOException 处理方法:捕获异常后,显示捕获的异常 (2)保存文件时的异常处理 需要处理的异常:IOException 处理方法:捕获异常后,。

java版贪吃蛇毕业论文

mfc贪吃蛇毕业论文

1.本人想用MFC做一个贪吃蛇

我以前用WIN32做过一个贪吃蛇,MFC没有必要。

1,要用MFC的话,只需要建立一个窗口,可以去掉那些没有必要的文档视图 类,只留下一个自制的窗口类。当然既然要用MFC,一些基本的消息映射还是应该明白的,其他过多的用不到什么了。

2,当初我的初始化的画面是在程序加载的时候在窗口上覆盖一个图片,当接到开始的命令时进入游戏逻辑部分。

3,根据第一条,现在只剩下了窗口类和你自己建立的类了(比如蛇类)画面的现实自然在窗口类的消息响应中完成,至于其他逻辑部分,当然在你自己的类中完成了。

最后,建议你找找别人的源代码学习学习。

2.本人想用MFC做一个贪吃蛇

我以前用WIN32做过一个贪吃蛇,MFC没有必要。

1,要用MFC的话,只需要建立一个窗口,可以去掉那些没有必要的文档视图 类,只留下一个自制的窗口类。当然既然要用MFC,一些基本的消息映射还是应该明白的,其他过多的用不到什么了。

2,当初我的初始化的画面是在程序加载的时候在窗口上覆盖一个图片,当接到开始的命令时进入游戏逻辑部分。3,根据第一条,现在只剩下了窗口类和你自己建立的类了(比如蛇类)画面的现实自然在窗口类的消息响应中完成,至于其他逻辑部分,当然在你自己的类中完成了。

最后,建议你找找别人的源代码学习学习。

3.求份详细的贪吃蛇课程设计报告

贪吃蛇游戏----《C程序设计课程设计》

一、设计要求

编写C语言程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉(蛇头撞到自己的身体)游戏结束。

二、设计内容

1.游戏界面:边框表示围墙,红色矩形代表蛇,绿色小方块代表食物。

2.设计思路

这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时由于没有庆平的原因,原来蛇的位置和新蛇的位置差一个单位,所以看起来社会多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是画矩形块和覆盖矩形块。

3.数据结构

#define N 200

stuct Food

{

int x ; /*食物的横坐标*/

int y ; /*食物的纵坐标*/

int yes ; /*判断是否要出现食物的变量*/

}food /*食物的结构体*/

struct Snake

{

intx[N]; /*蛇的横坐标*/

inty[N]; /*蛇的纵坐标*/

intnode; /*蛇的节数*/

intdirection; /*蛇的移动方向*/

intlife; /*蛇生命,0活着,1死亡*/

}snake;

4.主要函数

1)主函数main():初始化图形系统,调用DrawK()画出开始画面,调用函数Gameplay(),即玩游戏过程,游戏结束后调用Close()关闭图形系统,结束程序。

2)画界面函数DrawK();

3)游戏具体过程函数Gameplay();

4)游戏结束函数Gameplay(),游戏结束,清除屏幕,输出分数,显示游戏结束信息。

5)PrScore(),输出分数。

6)Close()函数图形结束。在显示游戏结束信息的画面时,按任意键关闭图形系统,结束程序。

4.能帮我写份详细的贪吃蛇游戏课程设计报告不

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 Init(void);/*图形驱动*/void Close(void);/*图形结束*/void DrawK(void);/*开始画面*/void GameOver(void);/*结束游戏*/void GamePlay(void);/*玩游戏具体过程*/void PrScore(void);/*输出成绩*//*主函数*/void main(void){ Init();/*图形驱动*/ DrawK();/*开始画面*/ GamePlay();/*玩游戏具体过程*/ Close();/*图形结束*/}/*图形驱动*/void Init(void){ int gd=DETECT,gm; initgraph(&gd,&gm,"c:\tc"); cleardevice();}/*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/void DrawK(void){/*setbkcolor(LIGHTGREEN);*/ setcolor(11); setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/ for(i=50;i0;i--)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/ { snake。

x[i]=snake。x[i-1]; snake。

y[i]=snake。y[i-1]; } /*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/ switch(snake。

direction) { case 1:snake。x[0] =10;break; case 2: snake。

x[0]-=10;break; case 3: snake。 y[0]-=10;break; case 4: snake。

y[0] =10;break; } for(i=3;i595||snake。 y[0]455)/*蛇是否撞到墙壁*/ { GameOver();/*本次游戏结束*/ snake。

life=1; /*蛇死*/ } if(snake。 life==1)/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/ break; if(snake。

x[0]==food。x&&snake。

y[0]==food。 y)/*吃到食物以后*/ { setcolor(0);/*把画面上的食物东西去掉*/ rectangle(food。

x,food。 y,food。

x 10,food。y-10); snake。

x[snake。node]=-20;snake。

y[snake。node]=-20; /*新的一节先放在看不见的位置,下次循环就取前一节的位置*/ snake。

node ;/*蛇的身体长一节*/ food。yes=1;/*画面上需要出现新的食物*/ score =10; PrScore();/*输出新得分*/ } setcolor(4);/*画出蛇*/ for(i=0;i node;i ) rectangle(snake。

x[i],snake。y[i],snake。

x[i] 10, snake。y[i]-10); delay(gamespeed); setcolor(0);/*用黑色去除蛇的的最后一节*/ rectangle(snake。

x[snake。node-1],snake。

y[snake。node-1], snake。

x[snake。node-1] 10,snake。

y[snake。node-1]-10); } /*endwhile(!kbhit)*/ if(snake。

life==1)/*如果蛇死就跳出循环*/ break; key=bioskey(0);/*接收按键*/ if(key==ESC)/*按ESC键退出*/ break; else if(key==UP&&snake。 direction!=4)/*判断是否往相反的方向移动*/ snake。

direction=3; else if(key==RIGHT&&snake。 direction!=2) snake。

direction=1; else if(key==LEFT&&snake。 direction!=1) snake。

direction=2; else if(key==DOWN&&snake。 direction!=3) snake。

direction=4; }/*endwhile(1)*/}/*游戏结束*/void GameOver(void){ cleardevice(); PrScore(); setcolor(RED); settextstyle(0,0,4); outtextxy(200,200,"GAME OVER"); getch();}/*输出成绩*/void PrScore(void){ char str[10]; setfillstyle(SOLID_FILL,YELLOW); bar(50,15,220,35); setcolor(6); settextstyle(0,0,2);。

mfc贪吃蛇毕业论文

关于c语言的毕业论文

1.本人急需C语言程序设计论文一篇

谈及C语言,我想凡是学过它的朋友都有这样一种感觉,那就是“让我欢喜让我忧。”

欢喜的是,C语言功能非常强大、应用广泛,一旦掌握了后,你就可以理直气壮地对他人说“我是电脑高手!”,而且以后若是再自学其他语言就显得轻而易举了。忧虑的是,C语言犹如“少林武功”一般博大精深,太难学了。

其实就笔者认为C语言并非是“difficult(困难)”的,只要你能理清思路,掌握它的精髓,那么自学C语言是一件非常容易且又其乐无穷的事。今天本人就与大家一起谈谈如何学习C语言或者说学习C语言应从哪几方面着手。

了解一些基本知识 一.C语言的背景 就个人感触,无论学习哪门语言首先应该了解一下自己所学语言的背景,也可以说它的发展史。 C语言属于高级程序语言的一种,它的前身是“ALGOL”。

其创始人是布朗·W·卡尼汉和丹尼斯·M·利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。

然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。1987年美国标准化协会制定了C语言的国际标准,简称“ANSI C”,从此以后它便成为一种广泛使用的程序语言。

C语言的优点很多,主要的有如下四点: 1.兼备高级语言与低级语言的优点,属于一种中间语言。 2.它是一种结构化程序设计语言,非常适合结构化程序设计。

3.有较丰富的数据类型、运算符以及函数供以选用。 4.直接与内存打交道,使修改、编辑其他程序与文档变得轻松,简单。

二.二大语系二种不同的学习方法 其实高级程序语言分为两大语系。例如:C,C++(C语言的扩展),QBASIC,VB(BASIC的可视化),JAVAs cript,Js cript ,VBs cript,JAVA,ASP,FOXPRO,PERL等等。

一路是以C为主的程序语言,例如:JAVAs cript,JAVA等,这类语言在函数的调用,程序语句的书写,循环的控制都极为相似。另一路是以BASIC为首的程序语言,例如:FOXPRO,VBs cript等,此类语言同样具有相似的函数调用,程序语句书写以及循环控制,但与C语系是不同的。

因此若是您以前是从QBASIC起家的,那么在学习C语言前最好是先洗洗脑,千万不要把学习BASIC的方法以及思路用在C身上。 讲到这里,我想大家对C语言一定有了感性认识吧!下面让我们再升华一下,全方位亲密接触它。

学习C语言必须从以下四点入手,也就是说,只要你能掌握这四点的内容,那么基本上就大功告成了。 亲密接触C语言 一.输入输出 C语言的输入输出是非常严格的,或许在其他程序语言中我们可以不关心这个问题,但在C语言中,我们必须要彻底了解它。

由于篇幅有限,因此笔者不能详谈,有兴趣的朋友可以参考由著名程序语言教授谭浩强先生主编,由清华大学出版社出版的《C程序设计第二版》。不过这里笔者还是有几点要简单的谈一下。

1.二维浮点数数组的输入 二维浮点数数组的输入(即:通过键盘给二维浮点数数组赋值)在很多专业书中都没有详细讲过这个问题。在给二维浮点数数组赋值时一定要先声明一个变量,接着把数值赋予这个变量,最后把变量数值赋予二维浮点数数组赋值。

2.注意输出格式中“%”后的字符 C语言的输出说复杂不复杂,因为常用的都很简单。可说不复杂也未必,记得曾在一次等级考前辅导我们C语言的教授讲道:“如果C语言要考得很难的话,根本不用考什么指针,只要专考输出格式,我想百分之九十九的学生都不及格。”

当时我们无不认同。从这则事例中可以看出C语言的输出格式之复杂程度。

因此大家在学习它时千万要学会辨别输出格式中“%”后的字符,每个字符都有其意义,也都有其作用。 二.优先级 说道优先级,有很多朋友都不是很了解或说很模糊。

为此笔者想先通过一个例子让各位有个概念。什么叫优先级?比方说,我们在公交车终点站排座队时总会遇到70岁以上的老人不需要排队就能上车的情景,这就是优先级的涵义。

C程序在运行时也象排队坐车一样,首先照顾那些优先级高的运算符,若是优先级相同,那么就象遇到两位(或两位以上)70岁以上的老人那样,让他们依次上车。但是C语言中的优先级的运算并不是千篇一律的,只能说是在大多数情况下,有些运算符的优先级有其自己的特点,因此这点大家要注意。

例如条件表达式:条件?结果1:结果2,这种表达式很多朋友都知道,它的作用与IF…ELSE…条件判断语句很雷同,它运算时的优先级就不是按照C语言的规则来完成的。所以说对于优先级各位编程爱好者一定灵活掌握,不要死记硬背。

三.指针 就个人认为,C语言中的指针是最有特色的,当然也是最难学的。指针说穿了,其实是变量的一种表现形式,只不过这种变量记载的不是数值而是地址。

就象一个人可以用姓名来表示自己,也可以用身份证号码来表示自己一样。笔者涉足编程已经有三年多了,在这期间曾经收到过很多网友的电子邮件询问学习指针的方法。

就本人感触,学习指针最好是先学些计算机硬件工作的原理,例如:直接寻址,间接寻址等,只有了解了这些内容以后,你再学指针就比较容易理会,毕竟C语言是一门介于机器语言与高级语言中间的语言,没有一些硬件工作知识是很难领悟它的真谛的。然而。

2.计算机c语言 学了有啥子感觉的论文 800字

我很羡慕一个只识面很广的人,说真的,我不是八面玲珑什么都懂点,除了现在对计算机兴趣浓厚之外,对其他的知识是一无所知,当然,我看我的计算机知识也相当的不尽如人意(不过正在努力的学习中)发着帖子的知识交流学习,我想对于每个人有自己的处境和思想,所以大千世界的人们为人处世的方式都是不同的,不能说谁绝对的错,也不能说谁绝对的对,当然每个人可以表达自己对别人的质疑和否定或者其他的,也许我们本来就不能把自己的想法强加给别人,!以前的自己总是觉得自己的很多想法是对的,所以总是在别人的面前说自己的观点不管是语气还是什么其他,总是不能很自然的被别人接受或是引起别人的误解,在大学生活中(还没毕业),我懂得了很多,其中很重要的一条就是不要把自己的想法强加给别人!!!呵呵所以这里只是就想表达一下自己的看法!很多人都拼命的学习各种语言,其实我一直是是这么认为的(当然你可以不这么认为),对于语言我真的是深有很多感触的至于说有没有必要学很多很多的语言,我觉啊得,如果精力够可以(还有个前提),就是你把一门语言学得真的有很熟悉,呵呵,,只能说熟悉(什么大项目没做怎么能说精通呢?)比如说你学C语言吧!你把基本的语法都知道,呵呵,,基本的知识点都烂熟于心,呵呵,,估计一般的什么二级三级啊什么估计是能满分吧!!但这算熟悉吗?我觉得不算呵呵,,起码的你能把指针以及内存的管理都很熟悉,(内存的机制应该弄的很清楚就好,觉得自己能在别人面前把这些说清楚就可以)以及C语言的一些底层机制都能很清楚,当然还要对C语言的库有一定的了结,还有在Linux/Unix下的一些C的编程,熟悉常用用的编辑软件VC,TC等以及他们之间的区别等等,以及常用的算法起码都能实现,最好能用他做些小东西出来,还有的就是要深入的了结这个语言的有缺点以及他的编程思想(比如C是面向过程编程的语言,与OO相比他的简洁和封装方面很不然人意处,在软件工程方面的确和很多OO的语言相比是很糟糕,我不敢想象用C开发个上了几十万行代码的软件,当然C也有他自己的一些处理方法,为什么要函数,实现功能的封装,实现模块化,还有我们学数据结构是用C语言来实现的,所以可以更深入的理解到这一点,在数据结构中,我们把数据和操作分开来实现,特别是强调功能函数的独立性,这样就实现了一定风装效果,以及在移植这方面也带来了很多的方便,当然C没有把数据和操作封装在一起,应为他是面向过程的,没有这语法层面上的支持!后来学了C++,有支持面像OO的,C++就把数据和操作都封装到类里面去,实现了很好的数据隐蔽性,从这个基础引申出了C++很多其他功能,,,慢慢这样的思考着你就明白了C++是怎么样比C更符合软件工程的思想的(当然此处只是说封装的一部分),那么我们C是不如C++,那么我们是不是也可以尽可能的想C++一样实现很好的数据和操作的封装呢?至少先前做得好,当然是可以的,我们可以不能把数据和操作封装在有一块,至少应该把数据按数据尽可能的封装在一起,把操作写得很清楚和模块化,就像在数据结构里一样先来实现很清晰的数据和操作之间的分离和统一!在举个例子就是在C++中有很多标准模板库(STL),在C中,是不是我们在编程中用到这种泛型编程的思想呢,当然我们的C不能像C++那样做得好,但可以给予我们很多提示,我们在编写函数功能模块时是不是应该也注意他的通用性,以及对我设计算法时候的是不是要注意对问题解决的普遍性,而不是就是论事,而这些又是非常符合我软件工程的思想的,向这些你在不同的语言跨度中产生的思考不是什么时候都有的,当你对于一门语言的了解不是很清楚的时候,你在不同语言中的比较所得到的也只是一些很浅显的东西,其实在很多自己思想层面没有真正的产生实质的变化,我想到最后其实你两门语言都学得不怎么样,如果只是为了学语言而学语言,其实也就没有用意义了,其实到最后你什么都没有学好,最后你多的只不过是嘴巴的说辞而已!!个人绝对很多东西最好是能深入的学习,深入的学习才能体会到他魅力和其实实实在在的东西,你的才能从思想层面去发生改变!!这样的话语言才真正的触类旁通了,!一步一个脚印学才是,光光追求表面上浮躁的知识其实真的对自己没有太多的好处,只不过是你的说辞多了,自认为自己知道很多,这种语言知道哪种语言也知道,可是叫你做点实实在在的东西出来时,你用这种语言做不出来,用哪种语言做不出来!那样就不怎么好,,,当然不是说你不应该学很多知识,知识想说不要跳跃的学很多东西,一种知识还没有真正的学好,又急于换到其他的去学!!这样只会捡了芝麻丢了西瓜!浪费了很多时间和精力!!不值得!!

呵呵,,以上只是个人愚见!!!无强加之意,时间仓促,水平有限,不对之处请批评指正,我写这么多也指在交流学习!忘大家都发表一下自己的看法!!!

3.求电子系的毕业论文,有关C语言那类的

电子类(单片机类)毕业设计目录 双击自动滚屏 文章来源:一流设计吧 发布者:16sheji8 发布时间:2008-6-26 10:10:28 阅读:2053次 电子类目录 001CDMA通信系统中的接入信道部分进行仿真与分析.doc 002LED显示屏动态显示和远程监控的实现.doc 003MCS-51单片机温度控制系统.doc 004PLC电路在备用自动投入中.doc 005PLC在变电站变压器自动化中的实现.doc 006USB接口设计.pdf 007USB数据采集系统论文.doc 008OFDM通信系统基带数据.pdf 009变频恒压供水控制系统的研究.doc 010超声波测距模块的设计.doc 011车辆牌照图像识别算法研究与实现.doc 012城市交通决策支持系统.doc 013出租车计价器课程设计任务书.doc 014单片机CHMOS技术毕业设计.doc 015单片机程序控制语音播放.doc 016单片机串行通信发射机.doc 017单片机的数字钟设计.doc 018单片机的智能电源管理系统.doc 019单片机课程设计__电子密码锁报告.doc 020单片机课程设计-交通灯.doc 021单片机控制步进电机.doc 022单片机控制交通灯.doc 022单片机软件喂狗方式和硬件喂狗方式的比较.pdf 023单片机小系统板安装实习报告.doc 024单片机作息时间控制1.doc 025单片机作息时间控制.doc 026点阵电子显示屏设计.doc 027电动智能小车(完整论文).doc 028电力电子技术在绿色照明电路中的应用.doc 029电力拖动控制系统设计.doc 030电力线载波调制解调器设计.doc 031电气火灾自动保护型断路器的设计.doc 032电视伴音红外转发器的设计.doc 033电信运营商收入保障系统设计与实现.doc 034电子测评仪的设计.doc 035电子电路的电子仿真实验研究.doc 036电子设计大赛点阵电子显示屏(A题).doc 037对漏电保护安全性能的剖析.doc 038多传感器障碍物检测系统的软件设计.doc 039火灾自动报警系统设计.doc 040基于16位单片机的语音电子门锁系统.doc 041基于51单片机的多路温度采集控制系统设计.doc 042基于AC3的虚拟环绕声实现.doc 043基于GSM短信模块的家庭防盗报警系统.doc 044基于Linux的SNMP构建中小规模企业网管理系统.kdh 045基于Lotus DominoNotes的办公自动化系统研究与实现.caj 046基于PLC的中密度纤维板生产线智能监控系统的研究.NH 047基于SNMP的网络应用软件监控系统设计.caj 048基于VB实现PC机与单片机的串行通讯.doc 049基于WEB的CAI课件写作系统的设计与实现.NH 050基于XML的WEB数据库信息发布系统的研究与设计.nh 051基于车轮制动力测量系统评价汽车制动性能.KDH 052基于单片机的电器遥控器设计.doc 053基于单片机的多功能智能小车设计(电路+程序+论文).doc 054移相全桥型零电压开关PWM电路的设计.doc 055基于单片机的数码录音与播放系统.doc 056基于单片机控制的霓虹灯控制器.doc 本文来自: 一流设计吧() 详细出处参考: /onews.asp?id=69。

4.计算机论文范文3000字

毕业论文是教学科研过程的一个环节,也是学业成绩考核和评定的一种重要方式。

毕业论文的目的在于总结学生在校期间的学习成果,培养学生具有综合地创造性地运用所学的全部专业知识和技能解决较为复杂问题的能力并使他们受到科学研究的基本训练。标题标题是文章的眉目。

各类文章的标题,样式繁多,但无论是何种形式,总要以全部或不同的侧面体现作者的写作意图、文章的主旨。毕业论文的标题一般分为总标题、副标题、分标题几种。

总标题总标题是文章总体内容的体现。常见的写法有:①揭示课题的实质。

这种形式的标题,高度概括全文内容,往往就是文章的中心论点。它具有高度的明确性,便于读者把握全文内容的核心。

诸如此类的标题很多,也很普遍。如《关于经济体制的模式问题》、《经济中心论》、《县级行政机构改革之我见》等。

②提问式。这类标题用设问句的方式,隐去要回答的内容,实际上作者的观点是十分明确的,只不过语意婉转,需要读者加以思考罢了。

这种形式的标题因其观点含蓄,轻易激起读者的注重。如《家庭联产承包制就是单干吗?》、《商品经济等同于资本主义经济吗?》等。

③交代内容范围。这种形式的标题,从其本身的角度看,看不出作者所指的观点,只是对文章内容的范围做出限定。

拟定这种标题,一方面是文章的主要论点难以用一句简短的话加以归纳;另一方面,交代文章内容的范围,可引起同仁读者的注重,以求引起共鸣。这种形式的标题也较普遍。

如《试论我国农村的双层经营体制》、《正确处理中心和地方、条条与块块的关系》、《战后西方贸易自由化剖析》等。④用判定句式。

这种形式的标题给予全文内容的限定,可伸可缩,具有很大的灵活性。文章研究对象是具体的,面较小,但引申的思想又须有很强的概括性,面较宽。

这种从小处着眼,大处着手的标题,有利于科学思维和科学研究的拓展。如《从乡镇企业的兴起看中国农村的希望之光》、《科技进步与农业经济》、《从“劳动创造了美”看美的本质》等。

5.C语言论文怎么写

应当是1.实用小型通讯录2.学生成绩管理系统3.工资管理系统 论文有以下几点2113要求:(1)摘要 摘要是论文内容的简短陈述,一般不超过400字。

关键词应为5261反映论文主题内容的通用技术词汇,一般为4个左右,一定要4102在摘要中出现。(2)目录目录要层次清晰,要给出标题及页次(3)正文课程设1653计论文一般不少于4000字。

正文应按目录中编排的章节依次撰写,要求计算正确,版论述清楚,文字简练通顺,权插图简明,书写整洁。 要附带原程序,原程序不能少于300行.要有流程图。

6.球一份关于单片机或c语言的论文

一·基于MSP430 单片机的电源监控管理系统(单片机论文) 引言 大功率直流开关电源由PFC 和DC-DC 变换器组成,为了提高可靠性,并能够对其进行脱机或远程监控管理,在开关电源模块内设置监控管理系统。

该系统对电源故障类进行监控,对电源输出的电压电流进行自动设定和调节,通过串行通信接口,与远程中心监控站进行远程监控和管理,这一功能在通信系统基站供电系统中尤为重要。本文提出了一种基于MSP430单片机的电源监控管理系统的设计和实现。

1 系统结构和硬件电路设计 系统的整体设计结构如图1所示。本系统采用的核心芯片为TI公司推出16位系列单片机MSP430。

MSP430具有集成度高,外围设备丰富,超低功耗等优点。单片集成了多通道12bit的A/D转换、片内精密比较器、多个具有PWM功能的定时器、片内USART、看门狗定时器、片内数控振荡器(DCO)、大量的I/O端口以及大容量的片内存储器,采用串行在线编程方法,单片可以满足绝大多数的应用需要。

MSP430的这种高集成度使应用人员不必在接口、外接I/O及存储器上花太多的精力,而可以方便的设计真正意义上的单片系统,在许多领域得到了广泛的应用。下面介绍该系统可以实现的功能和基于MSP430F149的电控系统的设计。

1.1 系统功能:a.开机控制。上电后,单片机开始工作,按下电源键,点亮指示灯后,将电网220V接入PFC,开关电源启动工作,然后接于负载。

b.电压设定和调节。用单片机A/D口采集开关电源的输出电压值,并显示于液晶屏上,通过单片机控制数字电位计调节输出电压值,实现自动调节;或者通过键盘的左右键选出电压调节页面,用上下键进行手动调节;也可以通过通信接口实现远程调节。

c.电流调节。多台开关电源并联使用时,要求各台电源的负载电压相等。

单片机A/D口采集转换成电压值的负载电流值,通过通信口得到各台电流值,取电流平均值,控制数字电位计调节输出电压,使输出负载电流达到平均值;或者通过键盘的左右键选出电流调节页面,用上下键进行手动调节。d.故障报警。

单片机通过光电耦合器检测到各项输入输出故障时,扬声器产生蜂鸣,相应的报警灯闪烁,并在液晶屏上显示故障类型及处理方法。e.监测。

单片机A/D口对电网电压,输出电压,输出电流进行采集测量,当出现超限时进行报警。f.通信。

包括单片机与各台开关电源间的通信和单片机与中心监控站的通信。1.2 电压调节电路 电压调节电路由单片机、数字电位计X9313和可调分流基准芯片TL431组成,其电路原理图如图2所示。

Xicor9313是固态非易失性电位器,可用作数字控制的微调电位器。TL431是TI生产的一个有良好的热稳定性能的三端可调分流基准源,它的输出电压用两个电阻就可以任意地设置到从VREF(2.5V)到36V范围内的任何值。

工作时,单片机的一个IO控制INC计数输入脚,为其提供计数脉冲,此输入端为下降沿触发。另一个IO控制U/D升降输入端,当U/D为高电平时,X9313内部计数器进行加法计数,VW端的输出电压上升,由于VW接地,使VH端电压降低,而TL431的REF输出端电压为恒定的2.5V,从而使Vcc处输出电压升高;同理当U/D为低电平时,Vcc处输出电压降低,这样就实现了电压输出调节。

1.3 模拟数据采集 MSP430F149内嵌入一个高精度的,具有采样与保持功能的12位ADC转换模块,内部提供各种采样与保持时钟源。MSP430有8个外部输入通道可选, 最高采样速度可达200KHZ,并且还内置温度传感器,可以测量芯片内的温度,如果测量温度高于或低于预设的温度是,可以通过外接部件显示告警信息,同时具有6种可编程选择的内部参考电压。

该转换模块为一些需要模拟量采集的场合提供了便利。我们选择的参考电压是0~2.5V,这样MSP430F149的AD分辨率就是2.5/4096 = 0.61V左右。

由于输入的模拟电压量较高,不能直接与单片机的ADC采样端口相连,因此用串联一个滑动变阻器的方法进行了降压处理,成功解决了上述问题。1.4 人机对话设计 系统的人机操作界面由液晶显示屏、指示灯和键盘组成。

液晶选用的是基于T6963C 的液晶模块YM12864。键盘采用的是3*3 的阵列接法,系统采用了图形用户界面,操作简单易行,显示实用美观。

工作时,液晶屏可以实时显示采集到的电网电压、输出电压、输出电流及各种报警信息,操作相应键盘可以进行显示页面的切换,对输出电压,输出电流进行自动、手动及远程控制调节。当有报警信息产生时,相应得指示灯会闪烁警示,同时与单片机连接的扬声器会产生报警蜂鸣声,以提醒操作人员做出相应的处理。

2 系统软件设计430 支持汇编语言和C 语言两种语言编程,因此可以在一个工程文件中同时用两种语言,使用汇编语言,便于在调试时寻找逻辑和指令的联系及地址的定位正确与否。使用C 语言进行编程大大减少了工作量,编好后的程序可读性好,易于修改和维护。

开发工具使用IARSystems 公司的IAR Embedded Workbench,它集成了编辑、编译、链接、下载与在线调试(Debug)等多种功能,使用方便,并具备高效的C 语言编译能力。考虑到软件开发效率及可维护性,系统软件设。

关于c语言的毕业论文

贪吃蛇游戏毕业论文

1.求份详细的贪吃蛇课程设计报告

贪吃蛇游戏----《C程序设计课程设计》

一、设计要求

编写C语言程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉(蛇头撞到自己的身体)游戏结束。

二、设计内容

1.游戏界面:边框表示围墙,红色矩形代表蛇,绿色小方块代表食物。

2.设计思路

这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时由于没有庆平的原因,原来蛇的位置和新蛇的位置差一个单位,所以看起来社会多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是画矩形块和覆盖矩形块。

3.数据结构

#define N 200

stuct Food

{

int x ; /*食物的横坐标*/

int y ; /*食物的纵坐标*/

int yes ; /*判断是否要出现食物的变量*/

}food /*食物的结构体*/

struct Snake

{

intx[N]; /*蛇的横坐标*/

inty[N]; /*蛇的纵坐标*/

intnode; /*蛇的节数*/

intdirection; /*蛇的移动方向*/

intlife; /*蛇生命,0活着,1死亡*/

}snake;

4.主要函数

1)主函数main():初始化图形系统,调用DrawK()画出开始画面,调用函数Gameplay(),即玩游戏过程,游戏结束后调用Close()关闭图形系统,结束程序。

2)画界面函数DrawK();

3)游戏具体过程函数Gameplay();

4)游戏结束函数Gameplay(),游戏结束,清除屏幕,输出分数,显示游戏结束信息。

5)PrScore(),输出分数。

6)Close()函数图形结束。在显示游戏结束信息的画面时,按任意键关闭图形系统,结束程序。

2.求一篇关于游戏开发的论文,急

C语言是一种结构化语言,尽管在当前,可视化语言发展迅速,普及很快,但C语

言作为一种基础的语言,它的优势依然存在,甚至有时它是不可替代的,特别是和硬件接口技术相联系的软件。贪吃蛇游戏是一种简单的大众的游戏,自从计算机实现以来,深受广大电脑玩家的喜爱,但是现在流行的贪吃蛇游戏软件大多缺乏美观的界面,和容易的操作方法,电脑的AI值也不是很高。本文通过C语言在计算机图形学方面的编程,设计了贪吃蛇游戏软件,使该软件具有美观友好的界面,在人机对弈时,使电脑具有较高的智商。

本游戏是以Turbo C 2.0语言作为开发工具,采用搜索及其改进的α-β剪枝算法设计最优落子点开发游戏软件。本文详细地介绍了贪吃蛇游戏软件设计的全过程,描述了该软件的功能,以及和其他贪吃蛇程序的一些比较。

关键词:结构化语言;最优落子点算法;搜索算法;α-β剪枝算法。

3.急求 设计贪吃蛇实验报告

学生课程设计(论文) 题 目: 贪吃蛇游戏程序设计指导 学生姓名: 学 号:200910801001 所在院(系): 计算机学院 专 业: 计算机科学与技术 班 级: 2009级一班 指导教师: 何春燕 职称: 讲 师 2010年06月 18日 目录 摘要…………………………………………………………6 1、设计要求………………………………………………….7 2、所用仪器设备…………………………………………….7 3、具体设计过程…………………………………………….8. 3.1、程序功能……………………………………………8 3.2设计思想………………………………………………8 3.3.设计的具体实现……………………………………8. 3.4 总体流程图………………………………………….14 3.5、程序代码编写及注释………………………………..15 3.6调试问题及解决方法…………………………………21 3.7调试结果…………………………………………….22. 4设计心得体会………………………………………………25. 5、参考文献………………………………………………..26 摘 要 编写C语言程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被蛇吃掉,这时蛇的身体长一节,同时计10分,接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体游戏结束。

作为一个完整的程序,尤其是一个完整的游戏,必须考虑人机交流与用户体验。游戏的界面不能太丑,更不能连个简单的界面都没有。

游戏应该有个比较漂亮的界面,在有必要硬件支持和软件的支持下,游戏开发者必须最大限度的使游戏美观。游戏的美观是一方面,游戏的内在素质是另一方面。

一个游戏的优劣,最终由玩家决定。在游戏与玩家见面之前,游戏开发者要设计一种让玩家投入的游戏模式,并且在一定的游戏规则下进行。

关键词 贪吃蛇 流程图 c语言 源程序 turbo C 贪吃蛇游戏程序设计 1、设计要求 通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。 (1).收集资料,分析课题,分解问题,形成总体设计思路; (2).深入分析各个小问题,列出大纲,编写各部分程序模块; (3).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍; (4).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行; (5).完成课程设计报告,并进行答辩 C语言是一种易学易懂的通用程序设计语言,由于它具有功能性强,运用简洁,灵活兼有高级语言与低级语言的优点,以及“目标程序效率高”可移植性和能在各种系统上普遍实现等特点使它成为当今世界上的主流程序设计语言之一,同时被选作目前全世界广泛应用,同时也是大学生必修的科目。

作为一位当代的大学生更要很好的利用它,学好一门设计语言,实现学以至用。 制作C程序报告,可以巩固和加深自己对C语言课程的基本知识的理解和掌握,并且能够掌握C语言编程和程序调试的基本技能。

通过游戏程序的设计训练可以提高自己的基本技能,更好地掌握字符串的表示方法和字符串函数的功能、Tc图形操作的基本知识、键盘上特殊键的获取以及图形方式下光标的显示,提高自己编程兴趣与编程水平,学会如何正确的书写程序设计说明文档,提高运用C语言解决实际问题的能力,巩固C语言语法规则的理解和掌握,学会通过源程序写出流程图,提高自学以及查阅资料的能力。 2、所用仪器设备 1、能正常工作的计算机一台; 2、WindowsXP; 3、TC程序; 4、Microsoft Word2003; 3、具体设计过程 3.1、程序功能 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体叉蛇头撞倒自己身体游戏结束。

3.2 设计思想 程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。

移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。

为了便于理解,定义两个结构体:食物与蛇。 3.3.设计的具体实现 (1)函数定义 函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用 #define N 200 #include /*图形头文件*/ #include /*包含rand等函数*/ 。

4.贪吃蛇的历史,背景等相关问题

蛇引诱夏娃吃了苹果之后,就被贬为毒虫,阴险的象征。

而蛇吃东西是整只动物吞进去的,大概在文艺复兴的时候(好象是那个时候但是不确定)就有人发明的一种游戏,是现在贪吃蛇的前身。后来慢慢的发展就变成了今天的贪吃蛇了。

蛇引诱夏娃吃了苹果之后,就被贬为毒虫,阴险的象征。

而蛇吃东西是整只动物吞进去的,大概在文艺复兴的时候(好象是那个时候但是不确定)就有人发明的一种游戏,是现在贪吃蛇的前身。后来慢慢的发展就变成了今天的贪吃蛇

贪吃蛇游戏背景

贪吃蛇游戏毕业论文

c语言贪吃蛇毕业论文

1.c语言实训贪吃蛇报告书

《高级语言程序设计》课程设计 实验报告

题目:贪吃蛇

专业:计算机

班级: 软件

姓名:

成绩:

指导教师:

完成日期:2008年09月23日

一、目的

1. 进一步掌握和利用C语言进行程设计的能力;

2、进一步理解和运用结构化程设计的思想和方法;

3、初步掌握开发一个小型实用系统的基本方法;

4、学会调试一个较长程序的基本方法;

5、学会利用流程图或N-S图表示算法;

6、掌握书写程设计开发文档的能力(书写课程设计报告);

二、内容与设计思想。

(1).系统功能与分析(填写你所设计的菜单及流程图)。

功能:进行贪食蛇游戏

分析:定义键盘方向键操作,随机数发生器产生食物,并分别利用函数判断贪食蛇的长度及游戏是否成功等.

并能够输入游戏成绩.

(2).数据结构

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;

(3).模块设计

根据功能需要:

源文件 :#include <stdio.h>

#include <graphics.h>

#include <stdlib.h>

#include <dos.h>

函数名 功能

void main() 游戏主程序

void Init(void); 图形驱动

void Close(void); 图形结束

void DrawK(void); 开始画面

void GameOver(void); 结束游戏

void GamePlay(void); 玩游戏具体过程

void PrScore(void); 输出成绩

(3)总体设计思想:

利用图形驱动,制作美观的游戏界面.

通过随机函数产生随机数,控制游戏过程食物的出现.

定义键盘操作,控制游戏过程蛇的移动方向.

画出边界,并判断游戏是否结束.

统计游戏过程蛇吃的食物数量,计算并输出游戏成绩.

(4)调试过程: 测试数据及结果,出现了哪些问题,如何修改的

这里,你就写一下你平时出错的地方,与如何修改的.这里我也不好帮你写.

(5)程序有待改进的地方及本次实习的收获和建议

收获:加深认识了程序编译过程的中团队合作的重要性.

提高了自己的编程能力

(7)源程序清单(主要代码)

清单只要将上面的程序全部粘帖就可以了.

2.C语言课程设计 贪吃蛇

2.1程序功能介绍贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。

2.2程序整体设计说明一个游戏要有开始部分,运行部分,结束部分(实际上开始部分与运行部分是一体的)。2.2.1设计思路这个程序的关键是表示蛇的图形以及蛇的移动。

用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。

如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时由于没有庆平的原因,原来蛇的位置和新蛇的位置差一个单位,所以看起来社会多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是画矩形块和覆盖矩形块2.2.2数据结构设计及用法说明 开始部分:游戏是运行在图形模式下的,所以第一步一定是初始化图形模式,接着要有开始的界面,就像书有封面一样,我设置了一个游戏的标题画面,除了游戏标题画面我还设置了一个欢迎画面。

标题画面以后,还要为游戏的运行部分作初始化,包括绘制游戏运行时的背景,对游戏某些重 要变量的初始化。运行部分:作为游戏的核心部分,这里包括的函数比较多,也就是模块比较多,首先让我模拟一下贪吃蛇的游戏模式:某个世界上突然出现一条蛇,它很短,它的运动神经异常,它没法停止自己的多动症在它的世界里就只有食物,它很饿,也很贪吃;同样在不明原因的情况下,食物从天而降,可惜的是没有落到嘴边;饥饿的主人公,不管它有没有毒,也不问食物的来历,径直向食物爬去;它吃到食物啦,它超出想象的同化能力让食物很快的成为自己身体的一部分,它的身子变长啦。

当它吃到第一颗食物时,上帝有给它第二颗,于是它吃了第二颗,于是又变长了,于是又有第三颗……它的身子是一直的加长,它不管自己过长身体的麻烦——转身不便,继续吃下去,现在它是直接把巴张大,好让食物有个绿色通道。但是在某天的下午,它咬到了自己,它才想起自己是一条毒蛇,于是晕死过去(不是毒死);又或者它往食物冲锋的时候,它失去控制,撞到了墙上。

第一轮循环:第一步,出现食物;第二步,蛇不停运动;第三步,检查蛇是撞到自己或墙壁;由第四步起游戏有两条支线(A、B):A :第四步,蛇没有碰到自己或墙壁,蛇继续前进,绘制蛇的动作;第五步,判断蛇是否吃到食物,如果蛇吃到食物,身子变长,原来的食物消失;第六步,让玩家输入控制指令,让蛇在下一轮循环的第二步改变运动方向;第七步,第二轮循环的第一步,重复第一轮的步骤;B:第四步,蛇碰到自己或墙壁,终止游戏。结束部分:游戏结束时,显示“GAME OVER”,已经是约定俗成的规律了,我的游戏也不例外。

除了游戏结束画面外,我还设置了一个游戏退出画面,“善始善终”嘛。有了上述的大致划分,我把整个程序划分成(13+2)个模块(其实就是函数)2.2.3程序结构(流程图)图2.1流程图依据所需要处理的任务要求,规划输入数据和输出结果,决定存放数据的数据结构。

C语言中数据结构集中体现在数据类型上,因此在进行C语言程序设计时,应统筹规划程序中所使用的变量,数组,指针等,以及它们的类型等。这点是很重要的,如果在此期间选择不合适的变量或者数组,将来修改就十分困难。

现在分析一下贪吃蛇游戏中的元素,继而得出与它们对应的在程序中的描述:蛇:基本描述:长度,颜色,位置。对应数据与数据类型:长度—虽然可以用坐标表示,但是这样的话,运算量将很大,所以换算成较大的单位—节数,以固定长度的每节描述;坐标--整型;颜色--整型; 位置--X,Y坐标。

增加的描述:蛇运动的方向,蛇的生命。对应数据与数据类型:这些描述是为了与程序的按键的输入部分与判断游戏结束部分相联系而设的。

方向只有四个方向:上下左右。可以设置与之对应的四个整型数:3、4、2、1。

生命就只有两种情况:死或生,对应0或1。食物: 基本描述:颜色,位置。

对应数据与数据类型:由于颜色设成固定的,所以不再讨论。位置—X、Y坐标。

增加的描述:食物的存在。对应数据与数据类型:这是为了避免重复出现食物而设置的,与绘制食物的函数有联系。

只有两个值:0或1(没有食物或有食物)其他的元素:墙,由于它在显示上是作为背景而存在的,所以并没有什么说明实际的墙壁就是四条直线组成的边框,由坐标描述。还需要的变量:键盘键入的键值(作为全局变量,整型);经常要使用的循环变量;自定义的填充图案;说明文字的字符数组;游戏的记分;游戏的速度(蛇的速度)。

图2.2蛇的不停运动的关键算法的流程图2.2.4各模块的功能及程序说明主要模。

3.C语言课程设计 贪吃蛇

2.1程序功能介绍 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。

2.2程序整体设计说明 一个游戏要有开始部分,运行部分,结束部分(实际上开始部分与运行部分是一体的)。 2.2.1设计思路 这个程序的关键是表示蛇的图形以及蛇的移动。

用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。

如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时由于没有庆平的原因,原来蛇的位置和新蛇的位置差一个单位,所以看起来社会多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是画矩形块和覆盖矩形块 2.2.2数据结构设计及用法说明 开始部分: 游戏是运行在图形模式下的,所以第一步一定是初始化图形模式,接着要有开始的界面,就像书有封面一样,我设置了一个游戏的标题画面,除了游戏标题画面我还设置了一个欢迎画面。

标题画面以后,还要为游戏的运行部分作初始化,包括绘制游戏运行时的背景,对游戏某些重 要变量的初始化。 运行部分: 作为游戏的核心部分,这里包括的函数比较多,也就是模块比较多,首先让我模拟一下贪吃蛇的游戏模式:某个世界上突然出现一条蛇,它很短,它的运动神经异常,它没法停止自己的多动症在它的世界里就只有食物,它很饿,也很贪吃;同样在不明原因的情况下,食物从天而降,可惜的是没有落到嘴边;饥饿的主人公,不管它有没有毒,也不问食物的来历,径直向食物爬去;它吃到食物啦,它超出想象的同化能力让食物很快的成为自己身体的一部分,它的身子变长啦。

当它吃到第一颗食物时,上帝有给它第二颗,于是它吃了第二颗,于是又变长了,于是又有第三颗……它的身子是一直的加长,它不管自己过长身体的麻烦——转身不便,继续吃下去,现在它是直接把巴张大,好让食物有个绿色通道。但是在某天的下午,它咬到了自己,它才想起自己是一条毒蛇,于是晕死过去(不是毒死);又或者它往食物冲锋的时候,它失去控制,撞到了墙上。

第一轮循环:第一步,出现食物;第二步,蛇不停运动;第三步,检查蛇是撞到自己或墙壁;由第四步起游戏有两条支线(A、B): A :第四步,蛇没有碰到自己或墙壁,蛇继续前进,绘制蛇的动作;第五步,判断蛇是否吃到食物,如果蛇吃到食物,身子变长,原来的食物消失;第六步,让玩家输入控制指令,让蛇在下一轮循环的第二步改变运动方向;第七步,第二轮循环的第一步,重复第一轮的步骤; B:第四步,蛇碰到自己或墙壁,终止游戏。 结束部分: 游戏结束时,显示“GAME OVER”,已经是约定俗成的规律了,我的游戏也不例外。

除了游戏结束画面外,我还设置了一个游戏退出画面,“善始善终”嘛。 有了上述的大致划分,我把整个程序划分成(13+2)个模块(其实就是函数) 2.2.3程序结构(流程图) 图2.1流程图 依据所需要处理的任务要求,规划输入数据和输出结果,决定存放数据的数据结构。

C语言中数据结构集中体现在数据类型上,因此在进行C语言程序设计时,应统筹规划程序中所使用的变量,数组,指针等,以及它们的类型等。这点是很重要的,如果在此期间选择不合适的变量或者数组,将来修改就十分困难。

现在分析一下贪吃蛇游戏中的元素,继而得出与它们对应的在程序中的描述: 蛇: 基本描述:长度,颜色,位置。 对应数据与数据类型:长度—虽然可以用坐标表示,但是这样的话,运算量将很大,所以换算成较大的单位—节数,以固定长度的每节描述;坐标--整型;颜色--整型; 位置--X,Y坐标。

增加的描述:蛇运动的方向,蛇的生命。 对应数据与数据类型:这些描述是为了与程序的按键的输入部分与判断游戏结束部分相联系而设的。

方向只有四个方向:上下左右。可以设置与之对应的四个整型数:3、4、2、1。

生命就只有两种情况:死或生,对应0或1。 食物: 基本描述:颜色,位置。

对应数据与数据类型:由于颜色设成固定的,所以不再讨论。位置—X、Y坐标。

增加的描述:食物的存在。 对应数据与数据类型:这是为了避免重复出现食物而设置的,与绘制食物的函数有联系。

只有两个值:0或1(没有食物或有食物) 其他的元素:墙,由于它在显示上是作为背景而存在的,所以并没有什么说明实际的墙壁就是四条直线组成的边框,由坐标描述。 还需要的变量:键盘键入的键值(作为全局变量,整型);经常要使用的循环变量;自定义的填充图案;说明文字的字符数组;游戏的记分;游戏的速度(蛇的速度)。

图2.2蛇的不停运动的关键算法的流程图 2.2.4各模块的功能。

4.C语言简易课程设计贪吃蛇

#define N 200 #include #include #include #define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4800 #define ESC 0x011b int i,key; int score=0;/*得分*/ int gamespeed=50000;/*游戏速度自己调整*/ 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 Init(void);/*图形驱动*/ void Close(void);/*图形结束*/ void DrawK(void);/*开始画面*/ void GameOver(void);/*结束游戏*/ void GamePlay(void);/*玩游戏具体过程*/ void PrScore(void);/*输出成绩*/ /*主函数*/ void main(void) { Init();/*图形驱动*/ DrawK();/*开始画面*/ GamePlay();/*玩游戏具体过程*/ Close();/*图形结束*/ } /*图形驱动*/ void Init(void) { int gd=DETECT,gm; initgraph(&gd,&gm,"c:\\tc"); cleardevice(); } /*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/ void DrawK(void) { /*setbkcolor(LIGHTGREEN);*/ setcolor(11); setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/ for(i=50;i<=600;i+=10)/*画围墙*/ { rectangle(i,40,i+10,49); /*上边*/ rectangle(i,451,i+10,460);/*下边*/ } for(i=40;i<=450;i+=10) { rectangle(50,i,59,i+10); /*左边*/ rectangle(601,i,610,i+10);/*右边*/ } } /*玩游戏具体过程*/ void GamePlay(void) { randomize();/*随机数发生器*/ food.yes=1;/*1表示需要出现新食物,0表示已经存在食物*/ snake.life=0;/*活着*/ snake.direction=1;/*方向往右*/ snake.x[0]=100;snake.y[0]=100;/*蛇头*/ snake.x[1]=110;snake.y[1]=100; snake.node=2;/*节数*/ PrScore();/*输出得分*/ while(1)/*可以重复玩游戏,压ESC键结束*/ { while(!kbhit())/*在没有按键的情况下,蛇自己移动身体*/ { if(food.yes==1)/*需要出现新食物*/ { food.x=rand()%400+60; food.y=rand()%350+60; while(food.x%10!=0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/ food.x++; while(food.y%10!=0) food.y++; food.yes=0;/*画面上有食物了*/ } if(food.yes==0)/*画面上有食物了就要显示*/ { setcolor(GREEN); rectangle(food.x,food.y,food.x+10,food.y-10); } for(i=snake.node-1;i>0;i--)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/ { snake.x[i]=snake.x[i-1]; snake.y[i]=snake.y[i-1]; } /*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/ switch(snake.direction) { case 1:snake.x[0]+=10;break; case 2: snake.x[0]-=10;break; case 3: snake.y[0]-=10;break; case 4: snake.y[0]+=10;break; } for(i=3;i595||snake.y[0]<55|| snake.y[0]>455)/*蛇是否撞到墙壁*/ { GameOver();/*本次游戏结束*/ snake.life=1; /*蛇死*/ } if(snake.life==1)/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/ break; if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/ { setcolor(0);/*把画面上的食物东西去掉*/ rectangle(food.x,food.y,food.x+10,food.y-10); snake.x[snake.node]=-20;snake.y[snake.node]=-20; /*新的一节先放在看不见的位置,下次循环就取前一节的位置*/ snake.node++;/*蛇的身体长一节*/ food.yes=1;/*画面上需要出现新的食物*/ score+=10; PrScore();/*输出新得分*/ } setcolor(4);/*画出蛇*/ for(i=0;i

5.急求C语言程序设计—贪吃蛇的总结·

C++

#include <iostream>

using namespace std;

char num[16] = {

'0', '1', '2', '3', '4', '5', '6', '7',

'8', '9', 'A', 'B', 'C', 'D', 'E', 'F'

};

int ToInt(char &n){

if (n<='9') return (int )(n-48);

else return (int )(n-'A'+10);

}

int main(){

int P = 10, Q; \\Q是要输入的2 8 16进制

string N = "";

while (cin >> Q >> N){

if (N == "0"){

cout << 0 << endl;

return 0;

}

string OUT = "";

long long sum = 0, p = 1;

for (int i = 0; i<N.size(); i++){

sum += ToInt(N[N.size()-1-i])*p;

p*=P;

}

while (sum>0) OUT.insert(0, 1, num[sum%Q]), sum/=Q;

cout << OUT << endl;

}

return 0;

6.C语言简易课程设计贪吃蛇

#define N 200 #include #include #include #define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4800 #define ESC 0x011b int i,key; int score=0;/*得分*/ int gamespeed=50000;/*游戏速度自己调整*/ 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 Init(void);/*图形驱动*/ void Close(void);/*图形结束*/ void DrawK(void);/*开始画面*/ void GameOver(void);/*结束游戏*/ void GamePlay(void);/*玩游戏具体过程*/ void PrScore(void);/*输出成绩*/ /*主函数*/ void main(void) { Init();/*图形驱动*/ DrawK();/*开始画面*/ GamePlay();/*玩游戏具体过程*/ Close();/*图形结束*/ } /*图形驱动*/ void Init(void) { int gd=DETECT,gm; initgraph(&gd,&gm,"c:\\tc"); cleardevice(); } /*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/ void DrawK(void) { /*setbkcolor(LIGHTGREEN);*/ setcolor(11); setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/ for(i=50;i<=600;i+=10)/*画围墙*/ { rectangle(i,40,i+10,49); /*上边*/ rectangle(i,451,i+10,460);/*下边*/ } for(i=40;i<=450;i+=10) { rectangle(50,i,59,i+10); /*左边*/ rectangle(601,i,610,i+10);/*右边*/ } } /*玩游戏具体过程*/ void GamePlay(void) { randomize();/*随机数发生器*/ food.yes=1;/*1表示需要出现新食物,0表示已经存在食物*/ snake.life=0;/*活着*/ snake.direction=1;/*方向往右*/ snake.x[0]=100;snake.y[0]=100;/*蛇头*/ snake.x[1]=110;snake.y[1]=100; snake.node=2;/*节数*/ PrScore();/*输出得分*/ while(1)/*可以重复玩游戏,压ESC键结束*/ { while(!kbhit())/*在没有按键的情况下,蛇自己移动身体*/ { if(food.yes==1)/*需要出现新食物*/ { food.x=rand()%400+60; food.y=rand()%350+60; while(food.x%10!=0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/ food.x++; while(food.y%10!=0) food.y++; food.yes=0;/*画面上有食物了*/ } if(food.yes==0)/*画面上有食物了就要显示*/ { setcolor(GREEN); rectangle(food.x,food.y,food.x+10,food.y-10); } for(i=snake.node-1;i>0;i--)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/ { snake.x[i]=snake.x[i-1]; snake.y[i]=snake.y[i-1]; } /*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/ switch(snake.direction) { case 1:snake.x[0]+=10;break; case 2: snake.x[0]-=10;break; case 3: snake.y[0]-=10;break; case 4: snake.y[0]+=10;break; } for(i=3;i595||snake.y[0]<55|| snake.y[0]>455)/*蛇是否撞到墙壁*/ { GameOver();/*本次游戏结束*/ snake.life=1; /*蛇死*/ } if(snake.life==1)/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/ break; if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/ { setcolor(0);/*把画面上的食物东西去掉*/ rectangle(food.x,food.y,food.x+10,food.y-10); snake.x[snake.node]=-20;snake.y[snake.node]=-20; /*新的一节先放在看不见的位置,下次循环就取前一节的位置*/ snake.node++;/*蛇的身体长一节*/ food.yes=1;/*画面上需要出现新的食物*/ score+=10; PrScore();/*输出新得分*/ } setcolor(4);/*画出蛇*/ for(i=0;i

c语言贪吃蛇毕业论文

贪吃蛇毕业论文

1.贪吃蛇的历史,背景等相关问题

蛇引诱夏娃吃了苹果之后,就被贬为毒虫,阴险的象征。

而蛇吃东西是整只动物吞进去的,大概在文艺复兴的时候(好象是那个时候但是不确定)就有人发明的一种游戏,是现在贪吃蛇的前身。后来慢慢的发展就变成了今天的贪吃蛇了。

蛇引诱夏娃吃了苹果之后,就被贬为毒虫,阴险的象征。

而蛇吃东西是整只动物吞进去的,大概在文艺复兴的时候(好象是那个时候但是不确定)就有人发明的一种游戏,是现在贪吃蛇的前身。后来慢慢的发展就变成了今天的贪吃蛇

贪吃蛇游戏背景

2.要写毕业论文了,但是很纠结,不知道是单片机方面比较好写还是图像

个人感觉单片机方向的论文比较好写也比较简单,而且也比较容易做出实物答辩的时候拿高分,比如说做一个mp3什么的,只要熟悉下SPI协议,处理器用STM32F103x系列,然后再买一个VS1003b的mp3解码芯片,很容易就可以做一个mp3出来,不仅看起来高大上,做起来也很简单,晚上的教程一堆一堆的,拈来可得

图形学方面的本人入坑五六年,说来说去除了数学还是数学,赶论文很多地方自己都不明白,拿脸部识别来说ANN,SVM,Adaboost,哪个不要花个把来月琢磨,而且还是建立在有一定底子的基础上,代码参考OpenCV,除非觉得自己有把握,不建议本科或者非图形学专业的论文搞,难度我就不说了,谁学谁知道

贪吃蛇毕业论文

转载请注明出处众文网 » 基于c语言的贪吃蛇毕业论文

资讯

毕业设计网站论文

阅读(423)

本文主要为您介绍毕业设计网站论文,内容包括求几个毕业论文样本的网站,供参考.,高分求VB或网站程序论文和毕业设计,马上就毕业了,网站设计与制作的论文该怎么写。目前信息化技术的迅速普及和广泛应用,大量各行各业工作人员开始利用网络这种

资讯

关于信用社毕业论文

阅读(440)

本文主要为您介绍关于信用社毕业论文,内容包括我要写一份关于农村信用合作联社的论文,写什么题目的什么好呢?,信用社经济类毕业论文贷款方面的,能帮我写个关于某县农村信用社发展现状及分析的毕业论文的提纲搜。希望对你有所帮助。推荐一个

资讯

变频器在平网印花机设计与应用毕业论文设计

阅读(454)

本文主要为您介绍变频器在平网印花机设计与应用毕业论文设计,内容包括电气自动化论文题目,紧急需要“自行车上的物理知识”研究性学习论文,1500字以上,请大,急求一篇关于变频调速或者变频器的外文文献,要论文形式的搜狗。1. PLC控制花样喷

资讯

论善意取得毕业论文

阅读(411)

本文主要为您介绍论善意取得毕业论文,内容包括毕业论文善意取得制度创新之处,善意为话题写一篇议论文800字谢谢了,急!求助翻译论文摘要<论善意取得制度研究>。善意取得是《物权法》中的一项重要制度,关于善意取得制度的适用范围,主要有两种观

资讯

关于变频器的毕业论文

阅读(464)

本文主要为您介绍关于变频器的毕业论文,内容包括求毕业论文:变频器的设计,求PLC变频器毕业论文de外语参考文献,翻译求助——变频器等方面的专业论文的摘要。黄慧敏. 通用变频器应用中的问题及对策[J].矿山机械.2004(11)曹玉泉,王主恩. 异步

资讯

毕业设计科技小论文

阅读(406)

本文主要为您介绍毕业设计科技小论文,内容包括科技小论文可以写什么内容?,科技小论文400字,如何写科技小论文(3000字以内)?。比如;选好课题撰写科技小论文,首先要考虑写什么,也就是课题的选择。选择课题是写好论文的关键。要注意以下原则:价值

资讯

关于针棉织品染整专业毕业论文

阅读(464)

本文主要为您介绍关于针棉织品染整专业毕业论文,内容包括求一篇染整毕业论文,染整技术在毛发领域的应用论文,求一篇与染织专业有关的论文,1000到2000字左右~谢谢各位大神了~。进入21世纪,绿色环保纺织品成为纺织品种的新视点,在运用千变万化

资讯

毕业论文专家评阅意见

阅读(426)

本文主要为您介绍毕业论文专家评阅意见,内容包括论文评阅意见怎么写,大学毕业论文的评阅人评语怎么写,大学毕业论文的评阅人评语怎么写。研究生应按时认真完成学位论文并按照本学校研究生学位论文撰写要求中提出的有关事项和格式撰写论文。

资讯

子空间毕业论文

阅读(389)

本文主要为您介绍子空间毕业论文,内容包括子空间的交与和,子空间聚类文章簇集合并部分怎么写?,关于受限子空间图像识别的论文,中英文对照。最小二乘方法最早是有高斯提出的,他用这种方法解决了天文学方面的问题,特别是确定了某些行星和彗星的

资讯

广东金融学院毕业论文模板

阅读(423)

本文主要为您介绍广东金融学院毕业论文模板,内容包括金融学毕业论文,感觉好难啊,谁能发我几篇范文,金融学论文,怎么写,金融专业毕业论文范文。原发布者:zyling1208 对金融学的认识的论文金融市场交易之间不是单纯的买卖关系,更主要的是借贷关

资讯

会计信息失真的深层原因和对策研究毕业论文

阅读(400)

本文主要为您介绍会计信息失真的深层原因和对策研究毕业论文,内容包括有谁写过关于我国会计失真原因及对策的毕业论文,求助相关资料百,会计信息失真的原因及对策研究这个会计毕业论文好不好写,如果不,求《浅谈会计信息失真的成因与对策》的

资讯

本科毕业论文范文百度文库

阅读(366)

本文主要为您介绍本科毕业论文范文百度文库,内容包括毕业论文范文,本科毕业论文的标准格式及范文,求毕业论文、范文也可以。毕业论文格式论文题目:要求准确、简练、醒目、新颖。2、目录:目录是论文中主要段落的简表。(短篇论文不必列目录)3、提

资讯

汽车轮胎的保养与维护毕业论文

阅读(473)

本文主要为您介绍汽车轮胎的保养与维护毕业论文,内容包括汽车轮胎的日常维护毕业论文怎么写?,汽车轮胎的日常维护毕业论文怎么写?,汽车专业写一篇关于汽车轮胎的毕业论文。最初的气压轮胎是 1888年 英国的兽医 John Boyd Dunlop ,他先用橡胶

资讯

毕业论文一稿怎么写

阅读(390)

本文主要为您介绍毕业论文一稿怎么写,内容包括毕业论文一稿怎么写计算机专业记账本,毕业论文初稿怎么写,毕业论文如何写。按研究问题的大小不同可以把论文范文分、为宏观论文范文和微观论文范文。凡属国家全局性、带有普遍性并对局部工作有

资讯

一村一名大学生农业生产经营毕业论文

阅读(467)

本文主要为您介绍一村一名大学生农业生产经营毕业论文,内容包括求一篇发展新农村大学生1500字论文,急求一篇农村经济管理毕业论文,三千字左右谢谢!,经济管理毕业论文题目适度规模经营与农业现代化急!!。“建设社会主义新农村”是今年全党社