1

私は Android に慣れていないので、非常に単純なゲームを開発しています。ロジックは次のように記述されていますButton。5 秒後、値が に変わり
* * * * * * *、ユーザーはそれを下のテキスト フィールド (「数値」と入力) に入力する必要があります。そのテキスト フィールドの下には、Button「チェック」と「ヒントを与える」の 2 つの s があります。このチェックButtonは、ユーザーの値を元の値と比較TextViewし、結果 (「正しい」/「正しくない」) に従って a を変更します。ヒントButtonは、元の値に 3 つのランダムな数字を表示する必要があります。

その小さなアプリケーションについていくつか質問があります。

  1. ユーザーに元の値を表示するためにどのタイプを使用する必要があるかわかりません: a TextView、テキストフィールド、または何か他のもの?
  2. ユーザーがヒントを押したときに、アプリに元の値から 3 つのランダムな数字を表示させるにはどうすればよいButtonですか?

どんな助けでも大歓迎です。

4

1 に答える 1

0

1)。元の値をユーザーに表示するために使用する必要があるタイプがわかりません。TextView、テキストフィールド、またはその他のタイプですか。

このためにTextViewが行います。

2)。ユーザーがヒントボタンを押した場合に、アプリに元の値からランダムな3桁を表示させるにはどうすればよいですか?

うまくいけば、10桁の値(元の値)を格納するためにintを使用しています

サイズ10のintの配列を作成します

int[] digits = new int[10];

forループを使用して、10桁の数字から10桁すべてを区切ります。

int number = 1234567891
for(int i = 0; i < 10; i++){
  digits[i] = number % 2;
  number = number / 10;
}

これにより、10個のint値の配列が得られます

java.util.Randomクラスのオブジェクトを作成し、0〜9のランダムな値をフェッチします

Random r = new Random();
int pos1 = r.nextInt(9);

nextInt(int n)は、半開範囲[0、n)の疑似ランダム一様分布intを返します。

これらの値は、配列から数字を取得する位置です。したがって、これにより、0から9までのランダムな位置が得られます。

ランダムからランダムな値を生成するたびに、以前に生成された値と等しくならないように注意してください。たとえば、2桁目のランダムな位置を生成する場合は、最初の桁と等しくなるように確認する必要があります。

ヒントとしてTextViewに3桁すべて(ランダムに生成された3つの位置から取得)を表示でき ますこれで問題が解決することを願っています

編集済みパーツ Textviewの可視性をView.GONEに設定します。このプライベートTextViewテレビのようなものになります。

tv = (TextView)findViewById(R.id.textView01);
tv.setVisibility(View.GONE);

Button btn = (Button)findViewById(R.id.button01);
btn.setOnClickListener(new OnClickListener(){
   public void onClick(View view){
      tv.setVisibility(View.VISIBLE);
   }
});
于 2012-05-17T14:13:52.317 に答える