我是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.
}
}
);
}
答案 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 }