-3

这是我的第一个应用程序,我正在尝试编写一个简单的骗子骰子游戏。

我在主要活动类中编写了所有内容,随机掷骰子,输入出价的文本编辑框和出价和调用的按钮。

那么在游戏运行后,我如何让它跟踪比分并再次运行呢?

我尝试使用重新启动按钮制作另一个活动屏幕,并在游戏结束后将其转到那里,以便我可以重新启动主要活动。但是,我可以从该屏幕按返回(电话键)并在上一场比赛结束时卡住。

此外,我正在尝试使用数组来跟踪输赢,但不确定如何将其从活动中来回移动。

4

4 回答 4

0

要重新启动主要活动,您可以执行

finish();
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            startActivity(new Intent(getContext(), YourMainActivity.class));// then call again

并使用首选项或 sqlite 保留您的数据

于 2012-08-17T07:42:59.403 回答
0

好吧,您可以只创建一个包含数字的全局数组,并在用户单击按钮或您想要触发滚动的任何内容时运行一个方法。向您展示的一种简单方法是

<Button
    android:layout_height="wrap_content"
    android: layout_width="wrap_content"
    android:text="Touch Me"
    android:on click="leRoll" />

然后在您的活动中,您可以调用一个方法leRoll,当单击“触摸我”按钮时触发该方法。所有得分的节省都可以使用全局数组在其中完成。

于 2012-08-17T07:44:19.360 回答
0

我建议你在 SQLite 数据库中记录你的得失。这听起来可能有点矫枉过正,但它非常适合存储任意数量的重复结构化数据位。如果开销太大,则打开一个文件并将新的游戏分数附加到末尾,或者将它们存储在 SharedPreferences 中的字符串数组中。这三个中的任何一个对于存储简单的值向量都是一个不错的选择,您事先不知道可能有多少值,并且您可以从应用程序的任何部分读取它们。

您应该使用 SharedPreference 来保存当前的游戏状态,以便您的游戏 Activity 每次返回时都能显示正确的内容。游戏结束后,立即写入游戏状态的 SharedPreference 值,表示玩家处于游戏结束状态。然后,当 Activity 下一次启动时,它会知道开始一个新游戏。

于 2012-08-17T08:20:22.773 回答
0

不完全确定这是否是您正在寻找的,但是:

您可以覆盖后退按钮以转到第二个活动的屏幕。

public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
  Intent intentstart = new Intent(Activity2.this, MainActivity.class);
  intentstart.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  startActivity(intentstart);
  return true;
}
return super.onKeyDown(keyCode, event);    
}
于 2012-08-17T07:49:36.237 回答