自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(0)
  • 资源 (15)
  • 收藏
  • 关注

空空如也

JqueryXtree

是用JqueryZtree插件完成的树状显示数据。 包含多种显示方式!

2013-05-13

android百度地图文档

• 1 简介 • 2 基础知识 • 3 地图图层 o 3.1 底图 o 3.2 实时交通信息 o 3.3 卫星图 o 3.4 实景图 • 4 覆盖物 o 4.1 覆盖物的抽象基类:Overlay o 4.2 当前位置:MyLocationOverlay o 4.3 分条目覆盖物:ItemizedOverlay o 4.4 本地搜索覆盖物:PoiOverlay o 4.5 驾车路线覆盖物:RouteOverlay o 4.6 换乘路线覆盖物:TransitOverlay • 5 服务类 o 5.1 搜索服务 o 5.2 POI搜索及PoiOverlay o 5.3 驾车路线搜索及RouteOverlay o 5.4 步行路线搜索及RouteOverlay o 5.5 公交换乘路线搜索及TransitOverlay o 5.6 地址信息查询 • 6 事件 o 6.1 定位监听 o 6.2 一般事件监听

2013-05-13

webdynpro 学习资料

 Web Dynpro 采用了一种高级的 MVC / Data Binding 架构模式,并且提供非常友好的编程界面。Web 界面可以使用拖拉的形式进行开发。由于 Web Dynpro 运行于 SAP NetWeaver 平台,该平台在传统 Dynpro 开发上的优势也被使用的淋漓尽致。使用 Web Dynpro 可以非常迅速的开发出企业级的应用程序,开发者只需要关注其业务流程,关于版本管理、质量控制、发布、性能等内容仍然由 NetWeaver 平台帮助完成。

2012-08-21

AJAX学习基础

异步的JavaScript和XML AJAX=一堆Javascript和XML 1998年时就有人开始使用,直到04、05年才真正被公众所接受。它没有提供任何新技术,主要是使用原有技术提升用户体验。 主要是通过JavaScript操作DOM,让页面进行局部的刷新而不是整个页面重载,从而减少网络传输的数据。 AJAX主要得到Google公司的支持,Google特别推崇AJAX。

2012-06-11

操作系统考试难点

由于 OS 随着计算机技术和应用需求的不断发展,由简单变为复杂,由低级变为高级,故在学习“ OS 的引入和发展”时,应对下述几个问题有较清晰的认真:   (1) 早期无 OS 的计算机系统中,存在着所谓的“人机矛盾”和“ CPU-I/O 设备速度不匹配的矛盾。”它们对计算机资源的利用率有何严重的影响?   (2) 单道批处理系统中引入了哪些技术,它们是如何解决上述两对矛盾的?   (3) 单道批处理系统还存在哪些不足之处,而多道批处理系统又是通过哪些技术措施来解决这些不足的?

2012-06-11

数据结构考试试题

1.数据的四种存储结构是(A) A.顺序存储结构、链接存储结构、索引存储结构和散列存储结构 B.线性存储结构、非线性存储结构、树型存储结构和图型存储结构 C.集合存储结构、一对一存储结构、一对多存储结构和多对多存储结构 D.顺序存储结构、树型存储结构、图型存储结构和散列存储结构 2.若对某线性表最常用的操作是在最后一个结点之后插入一个新结点或删除最后一个结点,要使操作时间最少,下列选项中,应选择的存储结构是(C) A.无头结点的单向链表 B.带头结点的单向链表 C.带头结点的双循环链表 D.带头结点的单循环链表

2012-06-11

java面试题

java找工作必问问题!列举了各类java基础知识题!

2012-06-11

高级数据库技术(ADO.NET&XML) slides

PPT课件!! 难得能找有的!!! SqlConnection Conn1 = new SqlConnection( ); Conn1.ConnectionString = "Integrated Security=SSPI; Initial Catalog=northwind"; Conn1.Open( ); SqlConnection Conn2 = new SqlConnection( ); Conn2.ConnectionString = "Initial Catalog=northwind; Integrated Security=SSPI";

2010-04-21

ADO.NET程序设计模拟题

很少能找到的题库!!! 1 ADO.NET 模型中的下列哪些对象属于Connected 对象? A. Connection B. DataAdapter C. DataReader D. DataSet 正确答案:ABC 2 在ADO.NET 中,为访问DataTable 对象从数据源提取的数据行。可使用DataTable 对象的_______属性。 A. Rows B. Columns C. Constraints D. DataSet 正确答案:A 3 在ADO.NET 中使用XML 支持时,以下哪些建议是可取的? A. 从DataSet 读取XML 格式的数据 B. 使用XML 格式的数据填充DataSet C. 为DataSet 创建XML 格式的构架描述 D. 将数据以XML 格式保存在数据库中 正确答案:ABC

2010-04-21

计算机操作系统习题集

操作系统习题集 参考教材: 汤小丹等编著,计算机操作系统(第三版),西安电子科技大学出版社,2007年版; 何炎祥等编著,计算机操作系统,清华大学出版社,2005年版; 邹恒明著,计算机的心智操作系统之哲学原理,机械工业出版社,2009年4月。 第一章 操作系统引论 1.1 选择题 1.下列哪一条是在操作系统设计中引入多道程序技术的好处? A. 使并发执行成为可能 B. 简化操作系统的实现 C. 减少对内存容量的需求 D. 便于实施存储保护 2.Windows XP属于下列哪一类操作系统? A. 单用户单任务 B. 单用户多任务 C. 多用户 D. 批处理 3.下列哪一条不是批处理系统的优点?D A. 吞吐量大 B. 资源利用率高 C. 系统开销小 D. 响应及时 4.能及时处理由过程控制反馈的数据并作出响应的操作系统是( ) A、分时系统 B、网络系统 C、实时系统 D、批处理系统

2010-04-21

面向对象c#试题参考

2.下列选项中,(c)是引用类型。 a)enum类型 b)struct类型 c)string类型 d)int类型 3.关于ASP.NET中的代码隐藏文件的描述正确的是(a) a)Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用C#创建,该文件将具有“.ascx.cs”扩展名。 b)项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件。 c)项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件。 d)以上都不正确。 4.以下描述错误的是(a) a)在C++中支持抽象类而在C#中不支持抽象类。 b)C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。 c)在C#中可使用 new 修饰符显式隐藏从基类继承的成员。 d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。 5.C#的数据类型有(b) a)值类型和调用类型; b)值类型和引用类型; c)引用类型和关系类型; d)关系类型和调用类型; 6.下列描述错误的是(d)

2010-04-21

sql试 题答案和试题

一、选择题:(20分) 1、根据关系数据基于的数据模型——关系模型的特征判定下列正确的一项:(___) A、只存在一对多的实体关系,以图形方式来表示。 B、以二维表格结构来保存数据,在关系表中不答应有重复行存在。 C、能体现一对多、多对多的关系,但不能体现一对一的关系。 D、关系模型数据库是数据库发展的最初阶段。 2、在“连接”组中有两种连接认证方式,其中在(___)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。 A、Windows身份验证 B、SQL Server 身份验证 C、以超级用户身份登录时 D、其他方式登录时 3、SQL Server 2000 在安装之前,应留意的事项:(___) A、SQL Server 2000的任何版本在安装时都不用考虑操作系统的制约。 B、SQL Server 2000的安装对硬件的要求不作任何限制。 C、SQL Server 2000 在安装之前,必须在操作系统级启用TCP/IP。 D、在Windows NT Server 4.0上安装SQL Server 2000时,最低的要求是必须安装Service Pack 4(SP4)以上。 4、关系数据库中,主键是(1___),主键的建立有(2___)种方法,当运用Transact-SQL语句创建主键时,可以是(3___)。 ⑴ A、为标识表中唯一的实体 B、创建唯一的索引,答应空值 C、只答应以表中第一字段建立 D、答应有多个主键的 ⑵ A、一 B、二 C、三 D、四 ⑶ A、create table table1 (column1 char(13) not null primary, column2 int not) on primary; B、alter table table1 with notcheck add constraint [PK_table1] primary key nonclustered ( column1) on primary; C、alter table table1 column1 primary key ; 5、表在数据库中是一个非常重要的数据对象,它是用来(1___)各种数据内容的,数据库创建后就可以创建表了,创建表可以用(2___)等方法来创建。 ⑴ A、显示 B、查询 C、存放 D、检索 ⑵ A、企业治理器 B、查询分析器 C、OSQL D、企业治理器和CREATE TABLE语句 6、为数据表创建索引的目的是(1___),可以在创建表时用(2___)来创建唯一索引,也可以用(2___)来创建唯一索引。 ⑴ A、提高查询的检索性能 B、创建唯一索引 C、创建主键 D、归类 ⑵ A、设置主键约束,设置唯一约束 B、Create table,Create index C、设置主键约束,Create index D、以上都可以 7、 在Transact-SQL语法中,用来插入数据的命令是(___),用于更新的命令是(___)。 A、INSERT,UPDATE B、UPDATE,INSERT C、DELETE,UPDATE D、CREATE,INSERT INTO 8、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1___),使用要害字(2___)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(3___),假如在SELECT语句中使用集合函数时,一定在后面使用(4___)。 ⑴ A、SELECT,INTO B、SELECT,FROM C、SELECT,GROUP D、仅SELECT ⑵ A、DISTINCT B、UNION C、ALL C、TOP ⑶ A、JOIN B、UNION C、INTO C、LIKE ⑷ A、GROUP BY B、COMPUTE BY C、HAVING D、COMPUTE 9、视图是一种常用的数据对象,它是提供(1___)和(1___)数据的另一种途径,可以简化数据库操作,当使用多个数据表来建立视图时,表的连接不能使

2009-12-11

qiang ---tc

#include <graphics.h> #include <stdio.h> #include <dos.h> #include <conio.h> #include <bios.h> #include <math.h> #define UP 1 #define DOWN 2 #define LEFT 3 #define RIGHT 4 #define PI 3.141592653 struct MyPcaman { int x; int y; int radius; int direction; }aPcaman; int isOver; void init(void); void movingPcaman(void); void initPcaman(void); void drawPcaman(void); void clearPcaman(void); void movePcaman(void); int main() { init(); movingPcaman(); closegraph(); return 0; } void init() { #define WALL 1 #define BEAN 0 #define N 10 char buffer[100]; int sence[N][N]; int a,b,c,d,k,i; int gdriver,gmode; FILE *fp; gdriver = DETECT; initgraph(&gdriver,&gmode,"."); setbkcolor(BLACK); cleardevice(); fp=fopen("E:\\123.txt","rt"); fscanf(fp,"%d,%d,%d,%d\n",&a,&b,&c,&d); i=0; while(fgets(buffer,100,fp)!=NULL) { for(k=0;buffer[k]!='\n';k++) { sence[k][i]=buffer[k]-'0'; if(sence[k][i]==1) { setcolor(GREEN); rectangle(48*k,48*i,48*(k+1),48*(i+1)); aPcaman.x =aPcaman.x; aPcaman.y =aPcaman.y; } if(sence[k][i]==0) { setcolor(YELLOW); circle(k*48+24,i*48+24,10); setfillstyle(1,YELLOW); floodfill(k*48+24,i*48+24,YELLOW); } } i++; } initPcaman(); } void initPcaman() { aPcaman.x =72; aPcaman.y = 72; aPcaman.radius = 15; aPcaman.direction = RIGHT; isOver = 0; } void movingPcaman() { int i; int key; while(!isOver) { drawPcaman(); for(i=0;i<15;i++) delay(5000); while(bioskey(1)) { key = bioskey(0); switch(key) { case 0x4800: aPcaman.direction = UP; break; case 0x5000: aPcaman.direction = DOWN; break; case 0x4b00: aPcaman.direction = LEFT; break; case 0x4d00: aPcaman.direction = RIGHT; break; case 0x011b:isOver = 1; break; } } clearPcaman(); movePcaman(); } getch(); } void drawPcaman() { switch(aPcaman.direction) { case RIGHT: setcolor(YELLOW); arc(aPcaman.x,aPcaman.y,45,315,aPcaman.radius); line(aPcaman.x,aPcaman.y,aPcaman.x+cos(PI/4)*15,aPcaman.y-sin(PI/4)*15); line(aPcaman.x,aPcaman.y,aPcaman.x+cos(PI/4)*15,aPcaman.y+sin(PI/4)*15); break; case UP: setcolor(YELLOW); arc(aPcaman.x,aPcaman.y,135,45,aPcaman.radius); line(aPcaman.x,aPcaman.y,aPcaman.x-cos(PI/4)*15,aPcaman.y-sin(PI/4)*15); line(aPcaman.x,aPcaman.y,aPcaman.x+cos(PI/4)*15,aPcaman.y-sin(PI/4)*15); break; case LEFT: setcolor(YELLOW); arc(aPcaman.x,aPcaman.y,225,135,aPcaman.radius); line(aPcaman.x,aPcaman.y,aPcaman.x-cos(PI/4)*15,aPcaman.y+sin(PI/4)*15); line(aPcaman.x,aPcaman.y,aPcaman.x-cos(PI/4)*15,aPcaman.y-sin(PI/4)*15); break; case DOWN: setcolor(YELLOW); arc(aPcaman.x,aPcaman.y,315,225,aPcaman.radius); line(aPcaman.x,aPcaman.y,aPcaman.x+cos(PI/4)*15,aPcaman.y+sin(PI/4)*15); line(aPcaman.x,aPcaman.y,aPcaman.x-cos(PI/4)*15,aPcaman.y+sin(PI/4)*15); break; } } void clearPcaman() { switch(aPcaman.direction) { case RIGHT: setcolor(BLACK); setfillstyle(1,BLACK); bar(aPcaman.x-20,aPcaman.y-20,aPcaman.x+20,aPcaman.y+20); arc(aPcaman.x,aPcaman.y,45,315,aPcaman.radius); line(aPcaman.x,aPcaman.y,aPcaman.x+cos(PI/4)*15,aPcaman.y-sin(PI/4)*15); line(aPcaman.x,aPcaman.y,aPcaman.x+cos(PI/4)*15,aPcaman.y+sin(PI/4)*15); break; case UP: setcolor(BLACK); setfillstyle(1,BLACK); bar(aPcaman.x-20,aPcaman.y-20,aPcaman.x+20,aPcaman.y+20); arc(aPcaman.x,aPcaman.y,135,45,aPcaman.radius); line(aPcaman.x,aPcaman.y,aPcaman.x-cos(PI/4)*15,aPcaman.y-sin(PI/4)*15); line(aPcaman.x,aPcaman.y,aPcaman.x+cos(PI/4)*15,aPcaman.y-sin(PI/4)*15); break; case LEFT: setcolor(BLACK); setfillstyle(1,BLACK); bar(aPcaman.x-20,aPcaman.y-20,aPcaman.x+20,aPcaman.y+20); arc(aPcaman.x,aPcaman.y,225,135,aPcaman.radius); line(aPcaman.x,aPcaman.y,aPcaman.x-cos(PI/4)*15,aPcaman.y+sin(PI/4)*15); line(aPcaman.x,aPcaman.y,aPcaman.x-cos(PI/4)*15,aPcaman.y-sin(PI/4)*15); break; case DOWN: setcolor(BLACK); setfillstyle(1,BLACK); bar(aPcaman.x-20,aPcaman.y-20,aPcaman.x+20,aPcaman.y+20); arc(aPcaman.x,aPcaman.y,315,225,aPcaman.radius); line(aPcaman.x,aPcaman.y,aPcaman.x+cos(PI/4)*15,aPcaman.y+sin(PI/4)*15); line(aPcaman.x,aPcaman.y,aPcaman.x-cos(PI/4)*15,aPcaman.y+sin(PI/4)*15); break; } } void movePcaman() { switch(aPcaman.direction) { case UP: aPcaman.y-=48; break; case DOWN:aPcaman.y+=48; break; case LEFT:aPcaman.x-=48; break; case RIGHT:aPcaman.x+=48; break; } if( ( aPcaman.x>=15&&aPcaman.x<=625)&&(aPcaman.y>=15 &&aPcaman.y<=465)) isOver = 0; else isOver = 1; }

2009-06-29

kuang tu--tc

#include<dos.h> #include<math.h> #include<bios.h> #include<stdio.h> #include<conio.h> #include<graphics.h> #define UP 1 #define DOWN 2 #define LEFT 3 #define RIGHT 4 #define N 10 #define WALL 1 #define BEAN 0 #define EMPTY -1 #define SIDE 480/N #define PI 3.141592653 void initscene(void); void init(void); void draw(void); void initCircle(void); void movingCircle(void); void moveCircle(void); void clearCircle(void); void drawCircle(void); void GameOver(void); void PrScore(void); int score=0; int direction; int isOver; int scene[10][10]; int a,b,c,d,i,k,x,y,radius,j,key,x,y,N1,running; char buffer[100]; int main() { init(); initscene(); draw(); drawCircle(); movingCircle(); closegraph(); return 0; } void init() { int gdriver,gmode; gdriver=DETECT; initgraph(&gdriver,&gmode,"."); setbkcolor(BLACK); } void initscene() { FILE *fp; fp=fopen("E:\\123.txt","r+"); fscanf(fp,"%d,%d,%d,%d\n",&a,&b,&c,&d); i=0; while((fgets(buffer,100,fp))!=NULL) { for(k=0;buffer[k]!='\n';k++) { scene[i][k]=buffer[k]-'0'; } i++; } } void draw() { for(k=0;k<10;k++) { for(i=0;i<10;i++) { if(scene[i][k]==1) { setfillstyle(1,GREEN); setcolor(BLUE); rectangle(48*k,48*i,48*(k+1),48*(i+1)); floodfill(48*k+1,48*i+1,BLUE); } if(scene[i][k]==0) { setfillstyle(1,WHITE); setcolor(WHITE); circle(48*k+24,48*i+24,10); floodfill(48*k+23,48*i+23,WHITE); } } } getch(); } int x=70; int y=70; int radius=20; void initCircle() { direction=RIGHT; isOver=0; } void movingCircle() { while(!isOver) { drawCircle(); for(i=0;i<10;i++) delay(10000); while(bioskey(1)) { key=bioskey(0); switch(key) { case 0x4800:direction=UP; break; case 0x5000:direction=DOWN; break; case 0x4b00:direction=LEFT; break; case 0x4d00:direction=RIGHT; break; case 0x011b:isOver=1; break; } } clearCircle(); moveCircle(); } getch(); } void drawCircle() { switch(direction) { case RIGHT: setcolor(RED); setfillstyle(1,BLUE); arc(x,y,30,330,radius); line(x,y,x+20*cos(PI/6),y-20*sin(PI/6)); line(x,y,x+20*cos(PI/4),y+20*sin(PI/6)); break; case UP: setcolor(RED); setfillstyle(1,BLUE); arc(x,y,150,30,radius); line(x,y,x-20*cos(PI/6),y-20*sin(PI/6)); line(x,y,x+20*cos(PI/4),y-20*sin(PI/6)); break; case LEFT: setcolor(RED); setfillstyle(1,BLUE); arc(x,y,210,150,radius); line(x,y,x-20*cos(PI/6),y+20*sin(PI/6)); line(x,y,x-20*cos(PI/4),y-20*sin(PI/6)); break; case DOWN: setcolor(RED); arc(x,y,330,210,radius); setfillstyle(1,BLUE); line(x,y,x+20*cos(PI/6),y+20*sin(PI/6)); line(x,y,x-20*cos(PI/4),y+20*sin(PI/6)); break; } } void clearCircle() { switch(direction) { case RIGHT: setcolor(BLACK); setfillstyle(1,BLACK); bar(x-15,y-20,x+20,y+20); arc(x,y,30,330,radius); line(x,y,x+20*cos(PI/6),y-20*sin(PI/6)); line(x,y,x+20*cos(PI/4),y+20*sin(PI/6)); break; case UP: setcolor(BLACK); setfillstyle(1,BLACK); bar(x-20,y-20,x+20,y+20); arc(x,y,30,330,radius); line(x,y,x-20*cos(PI/6),y-20*sin(PI/6)); line(x,y,x+20*cos(PI/4),y-20*sin(PI/6)); break; case LEFT: setcolor(BLACK); setfillstyle(1,BLACK); bar(x-20,y-20,x+20,y+20); arc(x,y,30,330,radius); line(x,y,x-20*cos(PI/6),y+20*sin(PI/6)); line(x,y,x-20*cos(PI/4),y-20*sin(PI/6)); break; case DOWN: setcolor(BLACK); setfillstyle(1,BLACK); bar(x-20,y-20,x+20,y+20); arc(x,y,30,330,radius); line(x,y,x+20*cos(PI/6),y+20*sin(PI/6)); line(x,y,x-20*cos(PI/4),y+20*sin(PI/6)); break; } score+=10; PrScore(); } void PrScore(void) { char str[10]; setfillstyle(SOLID_FILL,YELLOW); bar(475,425,620,445); setcolor(6); settextstyle(0,0,2); sprintf(str,"score:%d",score); outtextxy(480,430,str); } void moveCircle() { switch(direction) { case UP: y-=48; break; case DOWN:y+=48; break; case LEFT:x-=48; break; case RIGHT:x+=48; break; } if((x>=24&&x<=456)&&(y>=24&&y<=456)) isOver=0; else isOver=1; } void GameOver() { cleardevice(); PrScore(); setcolor(RED); settextstyle(0,0,4); outtextxy(200,200,"GAME OVER"); getch(); } 

2009-06-29

TANCHISHE---tc

this is a TC defin#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;/*蛇移动方向*/ 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;i<snake.node;i++)/*从蛇的第四节开始判断是否撞到自己了,因为蛇头为两节,第三节不可能拐过来*/ { if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0]) { GameOver();/*显示失败*/ snake.life=1; break; } } if(snake.x[0]<55||snake.x[0]>595||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<snake.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); sprintf(str,"score:%d",score); outtextxy(55,20,str); } /*图形结束*/ void Close(void) { getch(); closegraph(); } e

2009-06-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除