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