package com.wing.poem.control; import android.app.AlertDialog; import android.content.DialogInterface; import android.util.Log; import android.widget.ArrayAdapter; import com.wing.poem.PoemActivity; import com.wing.poem.R; import com.wing.poem.vo.CheckPoint; import com.wing.poem.vo.Poem; public class Rule { public enum STATUS { NORMAL,ERROR,OVER,RIGHT; } private CheckPoint chpoint; private PoemActivity activity; private ArrayAdapter<String> adapter; private static Rule rule; public static Rule getInstance(PoemActivity activity){ if(rule == null) rule = new Rule(activity); return rule; } private Rule(PoemActivity activity){ this.activity = activity; } public void init(CheckPoint p,ArrayAdapter<String> adapter){ this.adapter = adapter; chpoint = p; } /** * * @param p * @param adapter * @param count * @return */ public void checkRight(int acitonNumber){ final STATUS result = getStatus(acitonNumber); Log.d("check", result+":"+acitonNumber); if(result!=STATUS.NORMAL){ activity.handler.removeMessages(0); String tips = activity.getResources().getStringArray(R.array.tips)[result.ordinal()]; new AlertDialog.Builder(activity) .setTitle(tips) .setPositiveButton(result==STATUS.RIGHT?R.string.next:R.string.retry, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { activity.initPoem(result==STATUS.RIGHT?true:false); } } ).setCancelable(false).show(); } } private STATUS getStatus(int time){ if(time<1) return STATUS.OVER; int[] key = chpoint.getKey(); if(adapter.getCount() >key.length){ return STATUS.NORMAL; }else if(key.length == adapter.getCount()){ for(int i=0;i<key.length;i++){ Log.d("check", i+":"+key[i]+":"+chpoint.getPoem().getContent().get(key[i])+":"+adapter.getItem(i)); if(!chpoint.getPoem().getContent().get(key[i]).equalsIgnoreCase(adapter.getItem(i))) return STATUS.NORMAL; } chpoint.setAchieve(time); return STATUS.RIGHT; }else{ return STATUS.ERROR; } } }
最近下载更多
最近浏览更多
anjuw521 LV1
7月10日
AIWU1234 LV2
6月9日
求学的熊猫 LV11
6月3日
yhwyhw1 LV2
2023年12月19日
lmroman LV8
2023年4月27日
sunny1314
2023年3月30日
暂无贡献等级
yzhszz LV3
2022年12月27日
Java开发工程师_初心 LV1
2022年9月12日
17366635519 LV1
2022年8月30日
1532593037 LV8
2022年6月3日