《Android移动开发技术实验指导书》由会员分享,可在线阅读,更多相关《Android移动开发技术实验指导书(9页珍藏版)》请在人人文库网上搜索。
1、北京理工大学珠海学院计算机学院Android移动开发技术课内实验指导书任课教师:魏志軍Android移动开发技术实验(三)指导书一、实践目的综合运用布局组件、小部件,完成一个猜鸡蛋的小游戏。二、实践主要内容及要求本实践课程要求学生运用布局组件、小部件的基本知识,完成一个猜鸡蛋的小游戏,通过随机函数来进行简单的算法设计,可以使鸡蛋随机出现在不同的鞋子里;玩家可以点击不同的鞋子来猜测鸡蛋所处的位置。猜中,则显示恭喜您,猜对了,祝你幸福!信息;猜错,则提示很抱歉,猜错了,要不要再试一次?。可以通过再玩一次按钮,进行下一轮游戏。三、实践基本步骤1) 创建主界面主界面布局如下图所示:界面设计时,整体可以。
2、采用一个背景图片background.jpg使用合理的布局对整个界面垂直方向划分3个区域:区域1:一个TextView,用于显示游戏信息,初始显示:猜猜鸡蛋在哪只鞋子里?,在猜测的过程中,显示相应的猜测提示信息。区域2:使用合理的布局,在水平方向上划分3等分,每个布局中使用ImgView来显示不同的图片。在游戏初始阶段和再玩一次按钮被点击之后,显示shoe_default.png图片区域3:放置再玩一次按钮2) 算法设计:l 布局设计中的3个ImageView,在玩家猜测之后,将要显示一个结果界面,如下所示:其中一个有蛋,两外两个没蛋。而且图片是半透明的即在玩家点击之后,要显示猜测的实际结果,。
3、此时3个ImageView显示的图片需要进行重新设定,其设定的值来自于res中的png图片shoe_sorry.pngshoe_ok.png3个ImageView所显示的顺序,可以预先在数组中进行预设定。int imageIds = new int R.drawable.shoe_ok, R.drawable.shoe_sorry,R.drawable.shoe_sorry ; / 定义一个保存全部图片ID的数组然后在程序运行的过程中,通过随机函数重新设定它们在数组中的顺序。for (int i = 0; i 3; i+) int temp = imageIdsi; / 将数组元素i保存到临时。
4、变量中int index = (int) (Math.random() * 2); / 生成一个随机数imageIdsi = imageIdsindex; / 将随机数指定的数组元素的内容赋给数组元素iimageIdsindex = temp; / 将临时变量的值赋值给随机数组指定的那个数组元素玩家猜测时点击图片,即可根据所点击的图片的序号与数组中相对应的序号的实际图片进行判断,如果该图片是shoe_ok.png,则猜测正确,提示恭喜您,猜对了,祝你幸福!;否则,提示很抱歉,猜错了,要不要再试一次?1) “再玩一次”按钮点击之后,显示页面如初始页面所示:public class MainAct。
5、ivity extends Activity int imageIds = new int R.drawable.shoe_ok, R.drawable.shoe_sorry,R.drawable.shoe_sorry ; / 定义一个保存全部图片ID的数组private ImageView image1; /ImageView组件1private ImageView image2; /ImageView组件2private ImageView image3; /ImageView组件3private TextView result;/显示结果listener mlisttenter=new 。
6、listener();Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.main);image1 = (ImageView) findViewById(R.id.imageView1);image2 = (ImageView) findViewById(R.id.imageView2);image3 = (ImageView) findViewById(R.id.imageView3);result = (TextV。
7、iew) findViewById(R.id.textView1);Button button = (Button) findViewById(R.id.button1); / 获取“再玩一次”按钮reset(); / 将鞋子的顺序打乱/ 为第一只鞋子添加单击事件监听image1.setOnClickListener(mlisttenter);/ 为第二只鞋子添加单击事件监听image2.setOnClickListener(mlisttenter);/ 为第三只鞋子添加单击事件监听image3.setOnClickListener(mlisttenter);/ 为“再玩一次”按钮添加事件监听。
8、器button.setOnClickListener(mlisttenter);public class listener implements OnClickListenerOverridepublic void onClick(View arg0) / TODO Auto-generated method stubswitch (arg0.getId()case R.id.imageView1:isRight( arg0, 0); / 判断结果break;case R.id.imageView2:isRight( arg0, 1); / 判断结果break; case R.id.image。
9、View3 :isRight(arg0, 2); / 判断结果break;case R.id.button1 :reset();result.setText(R.string.title); / 将标题恢复为默认值image1.setAlpha(255);image2.setAlpha(255);image3.setAlpha(255);image1.setImageDrawable(getResources().getDrawable(R.drawable.shoe_default);image2.setImageDrawable(getResources().getDrawable(R.d。
10、rawable.shoe_default);image3.setImageDrawable(getResources().getDrawable(R.drawable.shoe_default);break;/* 判断猜出的结果* * param v* param index*/private void isRight(View v, int index) / 使用随机数组中图片资源ID设置每个ImageViewimage1.setImageDrawable(getResources().getDrawable(imageIds0);image2.setImageDrawable(getRes。
11、ources().getDrawable(imageIds1);image3.setImageDrawable(getResources().getDrawable(imageIds2);/ 为每个ImageView设置半透明效果image1.setAlpha(100);image2.setAlpha(100);image3.setAlpha(100);ImageView v1 = (ImageView) v; / 获取被单击的图像视图v1.setAlpha(255); / 设置图像视图的透明度if (imageIdsindex = R.drawable.shoe_ok) / 判断是否猜对re。
12、sult.setText(恭喜您,猜对了,祝你幸福!); else result.setText(很抱歉,猜错了,要不要再试一次?);/* 重新开始*/private void reset() for (int i = 0; i 3; i+) int temp = imageIdsi; /将数组元素i保存到临时变量中int index = (int) (Math.random() * 2); /生成一个随机数imageIdsi = imageIdsindex; /将随机数指定的数组元素的内容赋值给数组元素iimageIdsindex = temp; /将临时变量的值赋值给随机数组指定的那个数组元素。