基于Android平台的24点游戏设计与实现需求分析(5)

2019-03-22 13:02

=

表5.2 资源文件名称与用途

资源目录 文 件 说 明 rotatecurrentweather.xml 渐变透明度动画效果 translatecloudleft.xml translatecloudright.xml translaterain01.xml Anim translaterain02.xml translaterain03.xml translaterain04.xml translaterain05.xml Drawable-hdpl drawable Drawable-ldpl Drawable-mdpi app.xml Main_bak.xml layout Main.xml Rank_time.xml Rank.xml values Xml color.xml strings.xml weatherwidget.xml 程序首页页面布局 程序显示主页面页面的布局 “详细显示”页面上边的显示当前的布局 详细显示”页面下布局 “详细显示”页面下边的显示的布局 保存颜色的XML文件 保存字符串的XML的文件 AppWidget的属性文件 这个文件夹里是工程里所用的图片,如有表示随机卡片、数字等,此处不赘述。 画面转换位置移动动画效果(从左至右) 画面转换位置移动动画效果(从右至左) 画面转换位置移动动画效果(从上至下) 画面转换位置移动动画效果(从上至下) 画面转换位置移动动画效果(从上至下) 画面转换位置移动动画效果(从上至下) 画面转换位置移动动画效果(从上至下) 5.2数据提供者

数据提供者ForecastProvider继承ContentProvider,是在应用程序间共享数据的一种接口机制。应用程序在不同的进程中运行,因此,数据和文件在不同的应用程序之间是不能够直接进行访问的。而CotentProvider为程序员提供了较高级的数据共享方法,应用程序可以指定需要共享的数据,而其他应用程序则可以在不知数据来源、路径的情况下,对共享数据进行查询、添加、删除和更新等操作。

1.程序首页代码

=

(1)public class AppActivity extends Activity implements OnClickListener{ (2)private final static String TAG = \(3)private Button btnStartGame; //开始游戏 (4)private Button btnRankList; //游戏排行 (5)private Spinner spiGameModel; //游戏模式 (6)private String gameModel; //游戏模式值 (7)public void onCreate(Bundle savedInstanceState) { (8)super.onCreate(savedInstanceState); (9)setContentView(R.layout.app);

(10)//获取开始游戏按钮并为其注册监听事件

(11)btnStartGame = (Button)findViewById(R.id.btnStartGame); (12)btnStartGame.setOnClickListener(this); (13)//获取游戏排行按钮并为其注册监听事件

(14)btnRankList = (Button)findViewById(R.id.btnRankList); (15)btnRankList.setOnClickListener(this); (16)//游戏模式下拉

(17)spiGameModel = (Spinner)findViewById(R.id.spiGameModel);

(18)ArrayAdapteradapter=ArrayAdapter.createFromResource( (19)this,R.array.gameModel, android.R.layout.simple_spinner_item); (20)adapter.setDropDownViewResouce(android.R.layout.simple_spinner_dropdown_item);

(21)spiGameModel.setAdapter(adapter);

(22)spiGameModel.setOnItemSelectedListener(newSpinner.OnItemSelectedListener() {

(23)public void onItemSelected(AdapterView arg0, View arg1, (24)int arg2, long arg3) { (25)//获取游戏模式

(26)gameModel = spiGameModel.getSelectedItem().toString(); (27)Log.i(TAG, \用户选择游戏模式[\(28)}

=

(29)public void onNothingSelected(AdapterView arg0) { (30)} (31)}); (32)}

(33)//按钮事件处理

(34)public void onClick(View v) { (35)switch (v.getId()) { (36)case R.id.btnStartGame: (37)startGame(); (38)break;

(39)case R.id.btnRankList: (40)viewRank(); (41)break; (42)default: (43)break; (44)} (45)}

(46)//开始游戏

(47)private void startGame(){ (48)Log.i(TAG,\开始新游戏...\

(49)Log.i(TAG, \选择的游戏模式 >> \(50)Intent intent = new Intent();

(51)intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); (52)intent.setClass(AppActivity.this, MainActivity.class); (53)intent.putExtra(\(54)this.startActivity(intent); (55)} (56)}

2.程序主界面代码

(1)public class MainActivity extends Activity implements OnClickListener{

=

(2)private final static String TAG = \

(3)private GameService gameService = new GameServiceImpl(); (4)private Game game; //运行中的游戏 (5)//private boolean changedCard = false;

(6)//private CalculateThread calThread; //计算题目答案线程 (7)private AnswerTime ansTimeThread; //计时线程 (8)private ControlCountDownTimer cdTimer; //倒计时器 (9)private InitTask initGameTask; //初始化游戏任务 (10)private CalculateTask calTask; //计算答案任务 (11)private ImageView firstCard; //第一张卡 (12)private ImageView secondCard;//第二张卡 (13)private ImageView thirdCard; //第三张卡 (14)private ImageView fourCard; //第四张卡 (15)private Button btnClear; //清空 (16)private Button btnSubmit; //确定 (17)private Button btnAnswer; //查看答案 (18)private Button btnNoAnswer; //无答案 (19)private Button btnNextSub; //下一题 (20)private Button btnFirstNum; //第一个随机数 (21)private Button btnSecondNum;//第二个随机数 (22)private Button btnThirdNum; //第三个随机数 (23)private Button btnFourNum; //第四个随机数 (24)private Button btnLeftBracket; //运算符左括号 (25)private Button btnRightBracket; //运算符右括号 (26)private Button btnAdd; //运算符加号 (27)private Button btnSubtract; //运算符减号 (28)private Button btnMultiply; //运算符乘号 (29)private Button btnDivide; //运算符除号

(30)private TableRow trRemainTime; //剩余时间行(控制其是否可见) (31)private TextView remainTime; //时间模式倒计时

=

(32)private TableRow trRemainSub; //剩余题目行(控制其是否可见) (33)private TextView remainSubject; //题目模式剩余题数 (34)private TextView wasteTime; //耗时 (35)private TextView rightSubject; //做对题数 (36)private TextView errorSubject; //做错题数 (37)private EditText inputExp; //表达式输入框

(38)private ProgressDialog progressDialog;//等待进度对话框 3.程序算法代码:

public class TwentyFour {

private static List exps = new ArrayList(); private final static char[] op={'+','-','*','/'}; public static List getExpression(Integer[] v){ exps.clear();

int[] nums = new int[]{v[0],v[1],v[2],v[3]}; evaluate(nums); return exps; }

private static void evaluate(int[] v){ for(int a=0;a<4;a++){ for(int b=0;b<4;b++){ if (a==b) continue; for (int c=0;c<4;c++){ if (a==c||b==c) continue; for (int d=0;d<4;d++){

if (a==d || b==d || c==d ) continue; check(v,new int[]{a,b,c,d}); } } } }


基于Android平台的24点游戏设计与实现需求分析(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:山东省社科联社科普及重点项目立项协议书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: