题 目: 学生成绩管理系统
成都
院 系: 信息科技学院
专 业: 计算机科学与技术
姓 名:
学 号:
指导教师:
日 期: 2010年9月26日
桂林电子科技大学信息科技学院
一、前言:
在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试自己编写一个比较复杂的程序系统。在为期两周的时间中,给我的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。在这里,我作为其中的参与者,自然感触良多。通过两周的C语言程序设计实训课程,我对C语言中比较重要的数组、函数、循环和指针指进行了进一步了解。在Win-TC的环境下反复调试、编译、运行后最终完成了贪食蛇程序。
二、贪食蛇源代码:
#define N 200
#include <graphics.h>
#include <stdlib.h>
#include <dos.h>
#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;/*蛇移动方向*/ went
熟能生巧英文
int life;/* 蛇的生命,0活着,1死亡*/
}snake;
void Init(void);/*图形驱动*/
豆芽儿
void Clo(void);/*图形结束*/
void DrawK(void);/*开始画面*/
void GameOver(void);/*结束游戏*/
void GamePlay(void);/*玩游戏具体过程*/
void PrScore(void);/*输出成绩*/
/*主函数*/
void main(void)
{
Init();/*图形驱动*/
DrawK();/*开始画面*/
GamePlay();/*玩游戏具体过程*/
Clo();/*图形结束*/
}
/*图形驱动*/
void Init(void)
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\tc");
cleardevice();
}
/*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/
void DrawK(void)
{
/*tbkcolor(LIGHTGREEN);*/
tcolor(11);
tlinestyle(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)
{
silu
rectangle(50,i,59,i+10); /*左边*/
中学生英语作文范文rectangle(601,i,610,i+10);/*右边*/
}
}
/*玩游戏具体过程*/
void GamePlay(void)
{
randomize();/*随机数发生器*/
好女孩英文s=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;
de=2;/*节数*/
PrScore();/*输出得分*/
while(1)/*可以重复玩游戏,压ESC键结束*/
{
while(!kbhit())/*在没有按键的情况下,蛇自己移动身体*/
{
s==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++;
s=0;/*画面上有食物了*/
}
s==0)/*画面上有食物了就要显示*/
{
tcolor(GREEN);
rectangle(food.x,food.y,food.x+10,food.y-10);
}
for(de-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)
{
ca 1:snake.x[0]+=10;break;
ca 2: snake.x[0]-=10;break;
ca 3: snake.y[0]-=10;break;
ca 4: snake.y[0]+=10;break;