Android - 如何重复游戏

时间:2015-02-21 16:53:59

标签: android

我是Java / Android的绝对初学者,出于学习目的,我尝试开发一个简单的游戏,这是一个非常简单的数字猜谜游戏:

1.该应用程序生成1到100之间的随机数 2.玩家输入数字,应用程序告诉玩家他的号码是否太小,太大或正确 3.如果输入的号码是正确的,那么应用程序会询问“你想用相同的号码重复游戏吗?(是/否)”
4.如果玩家选择“是”,则应重复相同的游戏。 “相同”游戏意味着应该再次使用相同的数字进行猜测(没有新的随机数) 5.如果玩家选择“否”,则游戏应重复并生成新的随机数

步骤1-3正在工作中 我的问题是第4步和第5步,所以基本上我的问题在于重复游戏
我的代码:

public class frm_main extends ActionBarActivity {

private int     iGuessThisNumber;  //random number.
public  Context myContext;


@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.frm_main_layout);

    myContext = this;                                                               
    final TextView lblMeldung   = (TextView) findViewById((R.id.lblMeldung));     
    final EditText txtMyNumber = (EditText) findViewById(R.id.txtMyNumber);      

    //***********************************************************************************************************
    //   generate number that player must guess
    iGuessThisNumber = classCommonCode._generateRandomNumber(100);

    //***********************************************************************************************************
    //    check for DONE  Click in numeric softkeyboard
    txtMyNumber.setOnEditorActionListener(  new TextView.OnEditorActionListener()   
        {
            @Override
            public boolean onEditorAction(TextView myTextView, int action, KeyEvent arg2event)
            {

                if (action == EditorInfo.IME_ACTION_DONE)
                //DONE was clicked - so player has entered his number
                {
                    //read number softkeyboard into integer
                    int iPlayerNumber; 
                    iPlayerNumber = Integer.parseInt(myTextView.getText().toString());

                    //compare player's number with random number and inform player about result (too big, too small, correct)
                    if (iPlayerNumber > iGuessThisNumber) {
                        lblMeldung.setText("Your number " + iPlayerNumber + " is too big");
                    }
                    if (iPlayerNumber < iGuessThisNumber) {
                        lblMeldung.setText("Your number " + iPlayerNumber + " is too small");
                    }
                    if (iPlayerNumber == iGuessThisNumber) {
                        lblMeldung.setText("Your number is CORRECT");

                        //ask if game should be repeated using the same number:
                        boolean bRepeatGameWithSameNumber; 
                        bRepeatGameWithSameNumber = classCommonCode._Ask("Do you want to repeat this game using teh same number?")
                        //so here is my problem:
                        /*
                        if (bRepeatGameWithSameNumber)
                        {what to do in this case ?}
                        else
                        {what to do in this case ?}
                        */

                    }

                    //clear numeric softkeyboard for next game
                    myTextView.setText("");

                    return true;// if return true the softkeyboard is not closed
                }

                return false;  //Return true if you have consumed the action (DONE Buttonon was clicked, else false.
            }
        }
    );

}

1 个答案:

答案 0 :(得分:0)

if (bRepeatGameWithSameNumber)
   { // just reset your views to what should they display at beginning }
else 
   { iGuessThisNumber = classCommonCode._generateRandomNumber(100);
     // reset your views to what should they display at beginning }