移动平台开发作品展示
移动平台开发作品展示
周芳张文杰谢殊凡
作品简介
一、作品简介
Ø 应用名称:一笔画
Ø 功能:随机生成一笔画图案。玩家可以在屏幕上描绘图案,程序会判
定绘制成功或者失败。
Ø 设计目的:制作一个休闲益智类的小游戏
设计思路
二、设计思路
Ø 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)