2011网络工程认识实习指导书.doc
《2011网络工程认识实习指导书.doc》由会员分享,可在线阅读,更多相关《2011网络工程认识实习指导书.doc(14页珍藏版)》请在咨信网上搜索。
1、-精品word文档 值得下载 值得拥有-网络工程认识实习指导书一、实习基本知识【实习目的】认识实习是学生学习完第一个学年理论课程后,对于之前课程进行总结和之后进行准备必须完成的一项实践教学环节,是网络工程专业的第一个实习内容。通过认识实习,达到如下目的:1、较全面、深入地了解网络工程专业相关职业岗位的要求。2、进行程序开发的能力。3、学生能够有一个初步职业规划,能够有更加清晰的学习目标。【实习内容】综合布线、C语言综合实践、用人单位参观调研、人才招聘会、职业相关内容调研。【实习所用设施】l PC计算机,每位同学一台【实习任务及要求】实习任务及要求请参考网络工程认识实习任务书。二、实习基本操作方
2、法1、C语言综合实践;2、用人单位调研、人才招聘会,完成调研报告;3、综合布线;4、撰写实习报告。三、实习项目任务一C语言综合实践(1) 案例名称:黑白棋(2) 案例的目的黑白棋:练习C语言数组、函数和多重循环的相关知识,掌握C语言绘图的基本方法,通过游戏提高学生的学习兴趣,启发学生对博弈算法的思考,提高对VC+程序设计、人工智能等后续课程的学习热情。(3) 案例覆盖知识点二维数组、函数和子程序设计、分支嵌套和多重循环、DOS下C语言绘图的基本方法(4) 案例培养学生哪方面能力首先,作为一个简单的游戏,可以培养学生独立分析系统需求的能力,让学生进行系统功能模块划分的练习;其次,游戏中需要考虑的
3、情况较多,可以培养学生复杂分支和多重循环的设计能力;掌握C语言绘图的基本方法,为以后进行Windows程序设计打下基础;对于有能力的学生,鼓励他们进行人机对战功能的实现,可以提高学生算法设计能力;或者鼓励学生进行游戏的Windows改进,为后续的可视化程序设计奠定基础。(5) 做该案例需具体的前趋知识无(6) 案例需求描述黑白棋游戏是一个深受人们喜爱的游戏,通常是人机对奕,本程序设计为人与人对奕,一方执黑棋,一方执白棋,轮流走棋,每方都试图在游戏结束前让自己棋子的数目多于对方。按键盘上的方向键可以上下左右移动棋子,按回车键可以摆放棋子。黑白棋的详细规则:1)两人对奕,以轮流方式持黑子与白子。2
4、)开辟新局者持白子,加入者持黑子,白棋先走,之后以轮流方式将棋子置于棋盘格子中。3)在提示的格子中,选择一个格子下子。每个棋手下棋时,摆子的位置必须是以自己的棋子能包围住对方一个或多个棋子,被包围的对方棋子将变成自己的棋子。包围的方向可以是上下左右以及左右斜线共8个方向,只要能连成一条线即可。4)当轮到一个棋手摆子,而他没有可以包围对方棋子的位置时,他必须停步,让对方走棋,直到他可以走为止。5)当棋盘上有一方的棋子为0(也就是被对方吃完)或下满64格,游戏结束,棋子少者输。游戏初始界面如图1-l所示。当游戏一方胜利后显示胜利信息,如图1-2所示。程序设计中用深灰色代表黑棋。图1-1 游戏初始界
5、面图1-2 黑棋胜利的界面 (7) 需求分析描述文档黑白棋的游戏是要在一个8*8的网格中进行,而数组属于构造体类型,数组是具有相同数据类型的变量序列,序列中的每个变量成为元素,数组元素由一个统一标识的数组名和顺序好“下标”来表示。需要在游戏中定义一个二维数从而实现游戏的走棋、落棋、判断棋盘的变化等。游戏不同于基于C语言的其他程序(如学生成绩管理系统、教务工作管理系统、图书管理系统等)由于游戏本身的问地就在于缓解压力,所以基于C语言设计的游戏需要一个良好的游戏界面,给游戏者以轻松和愉快的感觉。TURBO C提供了70多个图形函数,这些函数包括在图形库文件graphics.LIB中,被定义在gra
6、phics.h中。有了强大的图形处理能力,去设计一个良好的人机交流界面是可行的。由于此游戏采用的是“人人对战”的模式,所以在游戏时,需要两个游戏者轮流下棋,棋手1走棋完毕后,经过判断棋盘变化过程后棋手2走棋,游戏过程需要在棋手间不断进行转化。在C语言中,提供了包括ifelse,switchcase等分支语句,综合运用这些分支语句,可以完成上述转化。黑白棋游戏双方共需要走棋64手,每次走棋后,都需要根据相同的标准判断棋盘变化,来判断旗子颜色的变化情况。显然需要运用循环语句来简化编程的长度。C语言中提供了whilefor等循环语句可以实现上述功能。游戏需要操作和输出显示游戏的结果,游戏的操作要由计
7、算机的外部设备在人的操作下完成。C语言本身并不提供输入和输出语句,输入和输出的操作都是由函数来完成的,在C语言的标准库函数中提供了一些输入和输出的函数,这些函数的指针都是针对系统隐含指定的输入和输出设备的。综合运用这些输入和输出的函数可以实现上述的功能。(8) 总体设计描述文档(包括子系统划分、功能划分以及对功能实现的代码化)在程序中,通过调用绘制棋盘、棋手对战、判断棋盘变化、改变棋子颜色等函数的调用来实现主函数的相应的功能,子函数功能如下:序号名称功能备注1main初始化初始化图形系统,画出棋盘2DrawQp绘制棋盘和初始棋子在棋盘中绘制8*8的格子,初始棋子3SetPlayColor设置棋
8、子第一次的颜色先走棋者持白子,后走棋黑子,每次交替4Playtoplay人人对战函数俩棋手交替走棋,定义键盘操作, 接收棋手的按键信息5MoveColor俩棋手交替走棋,定义键盘操作等棋子由初始位置到落子位置的路径不改变颜色6QpChange判断棋盘的变化,改变棋子的颜色每次走棋后,判断棋盘的变化情况,根据变化情况判断是否可以输出分数7DoScore处理分数根据棋盘上旗子的多少进行分数的处理8PrintScore输出成绩9playWin输出胜利者结果1、main()主函数按照语法规则,首先定义使用到的常数、全局变量、函数原型说明。棋盘状态用数组a88,初值为0,表示空格。函数的实体比较简单,因
9、为要输出图形,所以应初始化图形系统,图形工作方式正确确定后,画出棋盘,调用playtoplay()人人对弈函数开始游戏,一旦游戏结束后,关闭图形系统,程序结束。2、DrawQp()画棋盘函数背景颜色设为蓝色,从坐标(100,100)开始每隔40个单位用白色画一条水平直线,一条垂直线,构成棋盘,用循环语句实现。画线函数line()的参数为线的起点和终点坐标,注意要计算正确。函数setfillstyle()可以设置填充模式和填充颜色,fillellipse(int x, int y, int xradius, int yradius)以x和y为圆心,xradius和yradius为水平和垂直轴画一
10、填充椭圆,当xradius和yradius相等时,则画出的是圆,用它表示棋子。3、SetPlayColor()设置棋子的颜色因为是两个棋手,同时棋盘也在不断变化,所以要判断棋手和棋盘变化设置了这个函数,函数的参数为整型变量t,根据t的值来设计填充棋子的当前颜色,值为l代表白棋,值为2代表黑棋。4、MoveColorl()恢复原来格子的状态由于棋手在走棋的时候,他的棋子总是首先出现在棋盘的左上角,棋手要通过移动光标键走到要落子的位置,在经过的路程上显示当前棋子,就会覆盖原来的棋盘状态,所以一旦棋子走过后,就应恢复原来的状态,是空格的依然显示空格,是棋子的就显示原来棋子的颜色。因为棋子移动过程并没
11、有改变数组元素的值,所以可以根据数组元素的值判定原来的状态,如果值是l,就恢复白色棋子,值是2则恢复黑色棋子,否则恢复蓝色空格。5、playtoplay()人人对战函数这是游戏进行的函数,主要是接收棋手的按键消息,其处理过程如下:按Esc键程序可以随时结束。按上下左右光标键,则改变棋子移动的坐标值。按回车键后判断:1)如落子的位置已经有棋则无效,继续读下一次按键。2)如落子位置是空格,可以将棋子落入格内,调用函数QpChange()判断是否引起棋盘的变化,函数值为1有变化,为0没变化。如果棋盘有变化,说明将包围的对方棋子吃掉,统计当前分数,如果棋盘没有变化,则说明落子的位置无法包围对方的棋子也
12、视为无效棋,可以继续寻找合适的位置,但开始统计其落子次数,一旦尝试次数超过当前棋盘的空格数,则说明他无棋可走,则放弃此步,让对方下棋。3)如果棋子变化后,格子己占满64格或一方棋子为0,则游戏结束,显示胜利方信息,按任意键程序结束。重复上述步骤,直到游戏结束。这个函数中注意棋子的坐标和数组元素值的变化。playtoplay()程序流程图6、QpChange()判断棋盘变化当棋手按回车键落子后,就要分别往8个方向判断是否包围住对方棋子,如果是,则改变棋盘,也就是棋盘上黑白棋子的个数要发生变化。表示黑白棋的图形用屏幕上的像素坐标,而棋子的状态是数组元素a,所以要根据落子的坐标x和y计算出对应数组元
13、素a的下标i和j。i代表行,j代表列,对于88的棋盘,它们的值为07,如果j6,往右边判断,从当前位置开始,用循环语句判断右边是否有一个或连续多个对方的棋子,遇到自己的棋子或空格则结束循环,如果循环结束不是遇到空白,且列坐标小于8,则说明这些位置的棋子是被自己包围的对方棋子,将它们吃掉,也就是改变为自己的棋子,如果有棋子发生了变化,给棋盘变化标志值yes赋值为1,同样的方法向左、上、下等8个方向进行判断,并作相应的变化。如果所有方向都判断过,并且没有引起棋盘的变化,则棋盘变化标志值yes为0,返回yes,结束本函数。QpChange()程序流程图7、DoScore()处理分数根据当前数组元素的
14、值判断分数,也就是各方棋子的个数,如果数组元素值为1,白棋棋子数累加;如果数组元素值为2,则黑棋棋子数累加。8、PrintScore()输出成绩利用设置实体填充模式填充矩形条清除掉前次的成绩,再利用sprintf()函数将整数转换为字符串的形式,再利用outtextxy()函数将成绩输出。9、playWin()输出胜利者结果根据分数值scorel和score2的大小得出下棋的结果,输出赢者信息。(9) 详细设计文档1、画棋盘函数图形库文件:#include graphics.hTurbo C提供了70多个图形函数,这些函数包括在图形库文件graphics.LIB中,他们被定义在graphics
15、.h中。编写图形程序的时候,一定高包口头文件graphics.h。图形初始化函数:initgraph(&driver,&mode,“路径”)功能:装入图形驱动程序参数DRIVER指图形适配器驱动软件,用宏名或数字来表示,它实际上是一个枚举变量。当不知道所用的显示器是什么名称的时候,可将driver设置成DETECT,它将自动的检测所用的适配器的型号,并将相应的驱动程序装入,调节到最高分辨显示模式。参数MODE是每一种图形适配器的代码,可以是宏名或是数字,参数MODE不用说明具体的值,系统将采用最高的分辨率。设置背景颜色Setbkcolor(color)设置背景颜色。若不设置,则背景的颜色为黑色
16、Setcolor(color)设置画线的颜色或者是调色板的颜色。如果不设置,则系统指定为白色,其中COLOR为颜色的控制号或是颜色的宏名,为整形,设置的颜色保存到程序中遇到下一个设置颜色是为止。在本程序中,设置的背景颜色为蓝色,setbkcolor(BLUE),根据上述可知,此时,游戏界面的底色为蓝色。setcolor(0)将线的颜色设置为黑色,由此是为了取消了圆形图形周围的信息。画线:Line(x1,y1,x2,y2)从点(X1,Y1)到点(X2,Y2)画一条直线,颜色为当前的颜色,当前的位置是画线前的位置。for(i=100;i=420;i+=40) line(100,i,420,i);/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2011 网络工程 认识 实习 指导书
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。