《安卓课程设计报告_2.docx》由会员分享,可在线阅读,更多相关《安卓课程设计报告_2.docx(11页珍藏版)》请在第一文库网上搜索。
1、安卓课程设计报告设计题目:五子棋目录一.需求分析2二.功能模块2三.界面设计3四.分工说明5五.所遇到的问题5六.代码注释6一.需求分析网络技术的口新月异让世界惊叹,高速发展的网络技术和口渐成熟的3G网络,让越来越多的用户沉浸在手机的世界而无限欢快。不管是逛街、乘地铁,还是吃饭,排队,跟随潮流的时尚一群都利用拇指掌控着周围的一切,似乎只有手机才能让他们真正体验娱乐的极致。手机已然成为本世纪最有作为、最受欢迎的发明。而手机的流行更成就了相关应用和网站,让他们在移动互联网大放异彩的当下备受用户关注。二.功能模块.主界面游戏开始界面.界面设计3.1开始界面开始游戏自制五子棋游戏点击开始开始认输退出3
2、.2游戏界面3.3点击认输界面四.分工说明张哲:编辑main代码刘凯:获取MainAct丁章华:写报告黄思淳:程序注释叶浩:编辑MyVieW代码五.所遇到的问题1登录界面的部分功能没有实现。2界面的布局没有很清晰。3部分代码不够简洁。六,代码注释pub1icMyView(Contextcontext,f1oatwidth,f1oatheight)super(context);/TODOAuto-generatedconstructorstubthis.width=(f1oat)(width);this.height=(f1oat)(height);f1ag=true;ho1der=this.g
3、etHo1der();this.setFocusab1e(true);ho1der.addCa11back(this);bitmap=BitmapFactory.decodeStream(getResources().openRawResource(R.drawab1e.chess-2);chess=newint99;msg=点击开始”;1pub1icvoidmyDraw()(获得画布Canvascanvas=ho1der.1ockCanvas();获得画笔Paintpaint=newPaint();/绘画paint.setAntiA1ias(true);Matrixmatrix=newMat
4、rix();intww=bitmap.getWidth();/获取资源位图的宽inthh=bitmap.getHeight();获取资源位图的高f1oatw=(width(f1oat)ww);f1oath=(f1oat)(height(f1oat)hh)1.1);matrix.postSca1e(w,h);获取缩放比例Bitmapbmp=Bitmap.createBitmap(bitmap,0,0,ww,hh,matrix,true);根据缩放比例获取新的位图canvas.drawBitmap(bmp,0,0,Paint);在屏幕上画出位图intsx=(int)width;intsy=(int
5、)(height/1.1);paint.setCo1or(Co1or.B1ACK);适应屏幕画横线竖线tempy=(f1oat)(0.6*sy-(0.6*sy)%8-16)/8);ax=(sx-tempy*8)2;ay=(f1oat)(O.6*sy)%8)2)+8;bx=sx-(sx-tempy*8)2;cy=(f1oat)(0.6*sy-(0.6*sy)%8)2-8);/System.out.print1n(MyView:=+tempy);for(inti=0;i9;i+)(canvas.draw1ine(ax,ay+tempy*i,bx,ay+tempy*i,paint);canvas.d
6、raw1ine(ax+tempy*i,ay,ax+tempy*i,cy,paint);)画棋盘下方现实信息paint.setCo1or(Co1or.B1ACK);paint.setTextSize(30);/f1oattx=3*sx8;/f1oatty=(f1oat)(0.75*sy);canvas.drawText(msg,3*sx8-25,(f1oat)(0.72*sy),paint);CanVaS.drawText(开始,(f1oat)(0.175*sx),(f1oat)(0.92*sy),paint);canvas.drawText(iii,(f1oat)(0.425*sx),(f1o
7、at)(0.92*sy),paint);canvas.drawText(ifi,(f1oat)(0.675*sx),(f1oat)(0.92*sy),paint);画棋子intqx,qy;for(inti=0;i9;i+)(for(intj=0;j=O.125*sx&x=0.86*sy&y0.375*sx&x=0.86*sy&y0.625*sx&x=0.86*sy&y=ax&y=ay&(x=bx+tempy)&y=(cy+tempy)(x=(int)(x-ax)tempy);y=(int)(y-ay)tempy);SyStem.out.print1n(变换成下标后xy的值:+x+:+y);if(chessxy=O)(黑方下棋if(isB1ack)(chessxy=1;isBIack=fa1se;msg=白方落子”;白方下棋e1se(chessxy=2;isB1ack=true;msg=黑方落子”;)boo1eanisWin=checkWin(x,y);if(isWin)(if(isB1ack=fa1se)(msg=黑方获胜”;game_start=fa1se;)e1seif(isB1ack=true)(msg=白方获胜game_start=fa1se;)myDraw();)returntrue;