您好,欢迎访问三七文档
安卓课程设计报告设计题目:五子棋目录一.需求分析..............................................................................2二.功能模块..............................................................................2三.界面设计...............................................................................3四.分工说明...............................................................................5五.所遇到的问题......................................................................5六.代码注释.................................................................................6一.需求分析网络技术的日新月异让世界惊叹,高速发展的网络技术和日渐成熟的3G网络,让越来越多的用户沉浸在手机的世界而无限欢快。不管是逛街、乘地铁,还是吃饭,排队,跟随潮流的时尚一群都利用拇指掌控着周围的一切,似乎只有手机才能让他们真正体验娱乐的极致。手机已然成为本世纪最有作为、最受欢迎的发明。而手机的流行更成就了相关应用和网站,让他们在移动互联网大放异彩的当下备受用户关注。二.功能模块三.界面设计3.1开始界面主界面游戏开始界面开始游戏认输推出3.2游戏界面3.3点击认输界面四.分工说明张哲:编辑main代码刘凯:获取MainAct丁章华:写报告黄思淳:程序注释叶浩:编辑MyView代码五.所遇到的问题1登录界面的部分功能没有实现。2界面的布局没有很清晰。3部分代码不够简洁。六.代码注释publicMyView(Contextcontext,floatwidth,floatheight){super(context);//TODOAuto-generatedconstructorstubthis.width=(float)(width);this.height=(float)(height);flag=true;holder=this.getHolder();this.setFocusable(true);holder.addCallback(this);bitmap=BitmapFactory.decodeStream(getResources().openRawResource(R.drawable.chess_2));chess=newint[9][9];msg=点击开始;}publicvoidmyDraw(){//获得画布Canvascanvas=holder.lockCanvas();//获得画笔Paintpaint=newPaint();//绘画paint.setAntiAlias(true);Matrixmatrix=newMatrix();intww=bitmap.getWidth();//获取资源位图的宽inthh=bitmap.getHeight();//获取资源位图的高floatw=(width/(float)ww);floath=(float)((height/(float)hh)/1.1);matrix.postScale(w,h);//获取缩放比例Bitmapbmp=Bitmap.createBitmap(bitmap,0,0,ww,hh,matrix,true);//根据缩放比例获取新的位图canvas.drawBitmap(bmp,0,0,paint);//在屏幕上画出位图intsx=(int)width;intsy=(int)(height/1.1);paint.setColor(Color.BLACK);//适应屏幕画横线竖线tempy=(float)((0.6*sy-(0.6*sy)%8-16)/8);ax=(sx-tempy*8)/2;ay=(float)(((0.6*sy)%8)/2)+8;bx=sx-(sx-tempy*8)/2;cy=(float)(0.6*sy-((0.6*sy)%8)/2-8);//System.out.println(MyView:===========+tempy);for(inti=0;i9;i++){canvas.drawLine(ax,ay+tempy*i,bx,ay+tempy*i,paint);canvas.drawLine(ax+tempy*i,ay,ax+tempy*i,cy,paint);}//画棋盘下方现实信息paint.setColor(Color.BLACK);paint.setTextSize(30);//floattx=3*sx/8;//floatty=(float)(0.75*sy);canvas.drawText(msg,3*sx/8-25,(float)(0.72*sy),paint);canvas.drawText(开始,(float)(0.175*sx),(float)(0.92*sy),paint);canvas.drawText(认输,(float)(0.425*sx),(float)(0.92*sy),paint);canvas.drawText(退出,(float)(0.675*sx),(float)(0.92*sy),paint);//画棋子intqx,qy;for(inti=0;i9;i++){for(intj=0;j9;j++){//画黑棋if(chess[i][j]==1){qx=(int)(ax+i*tempy);qy=(int)(ay+j*tempy);paint.setColor(Color.BLACK);canvas.drawCircle(qx,qy,tempy/3,paint);}//画白棋elseif(chess[i][j]==2){qx=(int)(ax+i*tempy);qy=(int)(ay+j*tempy);paint.setColor(Color.WHITE);canvas.drawCircle(qx,qy,tempy/3,paint);}}}if(canvas!=null){holder.unlockCanvasAndPost(canvas);}}@OverridepublicbooleanonTouchEvent(MotionEventevent){//TODOAuto-generatedmethodstubsuper.onTouchEvent(event);x=(int)event.getX();y=(int)event.getY();floatxx=event.getX();floatyy=event.getY();System.out.println(点击的坐标:+xx+:+yy);intsx=(int)width;intsy=(int)(height/1.1);//点击开始if(x=0.125*sx&&x=0.375*sx&&y=0.86*sy&&y=0.98*sy){game_start=true;msg=黑方落子;myDraw();}//点击认输if(x0.375*sx&&x=0.625*sx&&y=0.86*sy&&y=0.98*sy){game_start=false;if(isBlack)msg=黑方认输;elseif(!isBlack)msg=白方认输;myDraw();}//点击退出if(x0.625*sx&&x=0.875*sx&&y=0.86*sy&&y=0.98*sy){System.exit(0);}elseif(game_start){if(x=ax&&y=ay&&(x=bx+tempy)&&y=(cy+tempy)){x=(int)((x-ax)/tempy);y=(int)((y-ay)/tempy);System.out.println(变换成下标后xy的值:+x+:+y);if(chess[x][y]==0){//黑方下棋if(isBlack){chess[x][y]=1;isBlack=false;msg=白方落子;}//白方下棋else{chess[x][y]=2;isBlack=true;msg=黑方落子;}booleanisWin=checkWin(x,y);if(isWin){if(isBlack==false){msg=黑方获胜;game_start=false;}elseif(isBlack==true){msg=白方获胜;game_start=false;}}}myDraw();}}returntrue;}
本文标题:安卓课程设计报告
链接地址:https://www.777doc.com/doc-4772615 .html