移动平台开发作品展示.PDF

移动平台开发作品展示

移动平台开发作品展示 周芳张文杰谢殊凡 作品简介 一、作品简介 Ø 应用名称:一笔画 Ø 功能:随机生成一笔画图案。玩家可以在屏幕上描绘图案,程序会判 定绘制成功或者失败。 Ø 设计目的:制作一个休闲益智类的小游戏 设计思路 二、设计思路 Ø 1.自动生成随机的一笔画 奇顶点:指数为奇数的顶点。 偶顶点:指数为偶数的顶点。 一笔画图形的必要条件是:奇顶点数目是0或者2 。 Ø 利用算法生成图案,图案由一些点和这些点之间的连线构成,生成图 案需有0或2个奇点,以保证能够一笔画出。 Ø 将这些点和连线记录下来,从触摸屏幕到松开屏幕的过程中,如果图 案中的所有连线都出现且仅出现过一次,则判定为过关,否则失败。 Ø 利用Canvas类和Paint类将图形显示到屏幕上。 二、设计思路 Ø 2.跟踪玩家绘制过程并判断正误 当触点位于一点A附近一定大小的区域时,认为玩家正在触碰该点, 该点作为当前正在画的线段的起点; 接下来,当玩家触碰下一点B时,认为玩家已画完一条线段,此时判 断这条线段是否: (1)正确; (2)未出现过;如果有一条不满足, 就认为游戏失败。 Ø 否则,将这条线段记录下来,再判断目前所有线段是否都已出现过, 若是则游戏成功,若没有,将点B作为当前正在画的线段的起点,重 复上述过程。 Ø 在成功之前,如果松开屏幕,则游戏失败。 详细设计 三、详细设计 Ø 1.自动生成一笔画 (1)随机生成点,将点的编号和坐标记录在数组中 (新生成的点和 之前的点间距离不能过近); (2)最初每个点都需连入两条线段(n=2) :每个点与它的下一点和相 隔一位的点相连。此时图案中无奇点,可一笔画出。也可在此基础 上任选两点再连一条线段,此时图案中有两奇点,也可一笔画出。 (3)根据刚才记录的各点的坐标和点与点间的连接情况,将图案显 示到屏幕上。 方法:利用Canvas类和Paint类。 三、详细设计 Ø 2.跟踪玩家绘制过程并判断正误 设置触点监听事件: (1)接触屏幕时,游戏开始,对变量进行初始化; (2)接触并移动过程中,动态地判断是否连入新的点;如果连入新的点,则认为连 了一条新线段;判断当前线段是否重复或者错误,如果是则游戏结束;否则将 这条线段记录下来,并判断是否成功,若成功则游戏结束,否则继续; (3)松开屏幕时,判断是否成功,若不是则失败。 public boolean //触摸并移动时刻 onTouchEvent(MotionEvent event) { case MotionEvent.ACTION_MOVE: ... //获得触摸的坐标 break; float x = event.getX(); //终止触摸时刻 float y = event.getY(); case MotionEvent.ACTION_UP: switch (event.getAction()) ... { break; //触摸屏幕时刻 } case MotionEvent.ACTION_DOWN: return true; ... break; } 代码分析 页面设计-main activity Button mode = (Button)findViewById(R.id.button1); mode.setOnClickListener(new View.OnClickListener() { @Override public void onClick(

文档评论(0)

1亿VIP精品文档

相关文档