资源描述:
《实习报告:2008年暑期热情科技软件公司社会实践报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实习报告:2008年暑期热情科技软件公司社会实践报告2008年7月2日至7月26日,我来到了长沙热情科技软件公司进行了二十多天的社会实践。这些日子,社会实践报告是我人生中的一次难忘经历,这二十多天里,我接解了社会,懂得了工作间的乐趣和人际交往的复杂。这期间我用C语言独立开发了一款推箱子游戏,并得到了同事的好评,下面做个汇报:C语言程序设计推箱子游戏#include"stdio.h"#include"bios.h"#defineLEFT75#defineRIGHT77#defineUPPER72#define
2、DOWN80#defineESC27structBoxss/*定义箱子结构体,其中包含坐标属性*/{intx,y;};unionkeyboard/*定义读取键盘码的共用体类型*/{unsignedintiKeyInfo;charchKeyBit[2];};intfnGetKey(void)/*定义读取键盘码的函数*/{unionkeyboarduniKey1;/*定义读取键盘码的共用体变量*/while(bioskey(1)==0);/*检测用户是否按键*/uniKey1.iKeyInfo=bioskey(
3、0);/*读取按键信息*/return(uniKey1.chKeyBit[0]==0?uniKey1.chKeyBit[1]:uniKey1.chKeyBit[0]);/*返回ASCII码或扩充码*/}voidmain(){intiKey,x=11,y=6,tx=11,ty=6;/*x,y为人物移动后坐标,tx,ty为人物移动前坐标*/structBoxssBox[4];/*定义箱子数量*/intchMap[10][10]={/*用二维数组定义地图*/{0,0,0,0,0,0,0,0,0,0},/*0表示墙
4、1表示路2表示目标*/{0,1,0,0,0,0,1,1,1,0},{0,1,0,2,0,0,1,0,1,0},{0,1,0,1,0,0,1,0,1,0},{0,1,1,1,0,0,1,0,1,0},{0,1,0,0,0,0,1,0,1,0},{0,1,1,1,1,1,1,0,1,0},{0,1,0,1,0,0,0,0,2,0},{0,2,0,1,1,1,1,2,0,0},{0,0,0,0,0,0,0,0,0,0},};inti,j;Box[0].x=13;/*定义箱子的坐标属性*/Box[1].x=11;B
5、ox[2].x=14;Box[3].x=18;Box[0].y=8;Box[1].y=7;Box[2].y=13;Box[3].y=7;while(1)/*反复进行求移动的坐标运算*/{for(i=0;i<10;i++)/*输出新地图(刷新地图)*/{gotoxy(10,5+i);for(j=0;j<10;j++){if(chMap[i][j]==0)printf("#");if(chMap[i][j]==1)printf("");if(chMap[i][j]==2)printf("X");}}j=0;/*
6、判断是否所有箱子都在目标坐标上*/for(i=0;i<4;i++)if(chMap[Box[i].y-5][Box[i].x-10]==2)j++;if(j==4)/*如果所有箱子都就位输出"YOUWIN!"退出*/{clrscr();printf("YouWin!");break;}for(i=0;i<4;i++)/*在起始(或移动后)的坐标输出箱子*/{gotoxy(Box[i].x,Box[i].y);printf("0");}gotoxy(x,y);/*在起始(或移动后)的坐标输出人*/printf
7、("*b");tx=x;/*记录本次移动前的坐标*/ty=y;iKey=fnGetKey();if(iKey==LEFT&&chMap[y-5][x-1-10]!=0)/*按读取的按键信息改变坐标如果改变的坐标和墙(0)重合则不改变*/x--;if(iKey==RIGHT&&chMap[y-5][x+1-10]!=0)x++;if(iKey==UPPER&&chMap[y-1-5][x-10]!=0)y--;if(iKey==DOWN&&ch
8、Map[y+1-5][x-10]!=0)y++;/*输入ESC退出并输出"YOULOST"*/if(iKey==ESC){clrscr();printf("YouLost");break;}for(i=0;i<4;i++)/*如果移动后的人的坐标与箱子坐标重合,则改变箱子坐标向前一格*/if(Box[i].x==x&&Box[i].y==y){Box[i].x+=(x-tx);Box[i].y+=