CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG
2.2. Phân tích thiết kế
2.2.1 Sơ đồ phân cấp chức năng
Hình 2.4 Sơ đồ phân cấp chức năng
2.2.2 Sơ đồ luồng dữ liệu
Trả lời yêu cầu
Yêu cầu chức năng
Hình 2.5 Sơ đồ luồng dữ liệu mức khung cảnh
2.2.3 Sơ đồ luồng dữ liệu mức đỉnh
Trả lời yêu cầu
Yêu cầu
Trả lời yêu cầu
Hình 2.6 Sơ đồ luồng dữ liệu mức đỉnh
Funny version 1.0
Trò chơi Hướng dẫn Giới thiệu
Người sử dụng Funny version
1.0
Người sử dụng
Bắt đầu
Hướng dẫn
2.2.4 Mô hình lớp
Mô hình lớp thể hiện mối liên hệ giữa các lớp với nhau, liên kết với nhau tạo giúp chương trình hoạt động tốt, tối ưu.
Hình 2.7 Mô hình lớp
Lớp MainActivity
Là lớp chính của chương trình, nó xử lý đa số yêu cầu của người sử dụng. Lớp này liên kết, có quan hệ đến hầu hết các lớp khác trong mô hình.
Lớp Mhg1
Lớp này có chức năng cho người dùng chơi trò chơi ở màn hình trò chơi 1.
Bảng 2.1 Code nút khóa ở màn hình trò chơi 1.
private void nutkhoa(){
btndanh.setOnClickListener(new
View.OnClickListener() { @Override
public void onClick(View v) {
long sss=spinlv.getSelectedItemId();
blv = sss + "";
if(Integer.parseInt(blv) == 0){
Toast.makeText(mhg1.this,"Choose
Level",Toast.LENGTH_SHORT).show();}
else {
so1 =
Integer.parseInt(txtlb1.getText().toString());
Main Activity Mhg2 Mhg1 GioiThieu Activity HuongDan Activity
so2 =
Integer.parseInt(txtlb2.getText().toString());
if (so1 < 13 && so2 < 13){
if (so1 > so2) {
spinlv.setVisibility(View.INVISIBLE);
txtkq.setText("1");
txtkq.setVisibility(View.INVISIBLE);
imgv1.setImageResource(R.drawable.hinhbantay);
imgv2.setImageResource(R.drawable.hinhbantay);
btngo.setBackgroundResource(R.drawable.maupl1);
btngo.setVisibility(View.VISIBLE);
btngo.setEnabled(true);
btnclb1.setVisibility(View.INVISIBLE);
btnclb2.setVisibility(View.INVISIBLE);
btndanh.setVisibility(View.INVISIBLE); } else if (so1 < so2) {
spinlv.setVisibility(View.INVISIBLE);
txtkq.setText("2");
txtkq.setVisibility(View.INVISIBLE);
imgv1.setImageResource(R.drawable.hinhbantay);
imgv2.setImageResource(R.drawable.hinhbantay);
btngo.setBackgroundResource(R.drawable.maupl2);
btngo.setVisibility(View.VISIBLE);
btngo.setEnabled(true);
btnclb1.setVisibility(View.INVISIBLE);
btnclb2.setVisibility(View.INVISIBLE);
btndanh.setVisibility(View.INVISIBLE); } else if (so1 == so2) {
txtkq.setVisibility(View.VISIBLE);
txtkq.setText("Reselect");
Toast.makeText(mhg1.this,"Reselect",Toast.LENGTH_
SHORT).show();
btngo.setVisibility(View.INVISIBLE);
imgv1.setImageResource(R.drawable.matsaulabai);
imgv2.setImageResource(R.drawable.matsaulabai);
btnclb1.setEnabled(true);
btnclb2.setEnabled(true);
btngo.setEnabled(false);
btnclb1.setVisibility(View.VISIBLE);
btnclb2.setVisibility(View.VISIBLE);
btndanh.setVisibility(View.VISIBLE);
txtlb1.setText("13");
}}
else {
if (so1 >=13 && so2 >= 13){
Toast.makeText(mhg1.this,"Choose
Card",Toast.LENGTH_SHORT).show();}
else if (so1 >= 13){
Toast.makeText(mhg1.this,"Player1 Choose
Card",Toast.LENGTH_SHORT).show();}
else if (so2 >= 13){
Toast.makeText(mhg1.this,"Player2 Choose
Card",Toast.LENGTH_SHORT).show();
}}} }});}
Lớp Mhg2
Lớp này có chức năng cho người dùng chơi trò chơi ở màn hình trò chơi 2.
Bảng 2.2 Các hiệu ứng Animation sử dụng trong trò chơi
Animation anim_mover, anim_movel, anim_choi1, anim_choi2, anim_hoimau1, anim_hoimau2, anim_utils, anim_utils1, anim_utisgk, anim_utiashe1, anim_utiashe, anim_uticadic; Lớp Hướng dẫn
Lớp này hiển thị nội dung hướng dẫn cách chơi game Funny. Lớp GioiThieu Activity
Giới thiệu thông tin khái quát về phần mềm bao gồm: + Tên trò chơi.
+ Tên tác giả. + Lợi ích trò chơi.
Bảng 2.3 Code lớp giới thiệu
public class Gioithieu extends Activity {
LinearLayout lngth;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gioithieu); getWindow().setFlags(WindowManager.LayoutParams.F
LAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FU LLSCREEN); lngth = (LinearLayout)findViewById(R.id.activity_gioithie u); lngth.setBackgroundResource(R.drawable.nengioithi eu); } }