2011-07-15 22 views
1

私は数独ゲームを作っています。難易度とスクリーンクラスの2つのクラスがあります。 'easy'ボタンを押すと、1から9までの乱数を生成したいので、その数はScreenクラスのレイアウトになるはずです。あるクラスから別のクラスに乱数を渡すにはどうすればいいですか?

私の「easy」ボタンはchoosedifficultyクラスレイアウトです。

+5

はブック「こんにちはアンドロイド」を取得し、それは(あなたが再利用できる)数独を構築し、あなたが言及した何をする方法を説明します(バックグラウンドミュージックを追加することさえできます):D – Augusto

+1

Screenクラスはどのようなクラスですか?それは活動ですか?ボタンが押されたときに起動しますか?おそらく、質問に関連するコードを表示する必要があります。 –

+0

yes画面クラスはアクティビティです。 –

答えて

2

う念のため、スドクは「1から9までの乱数だけではない」ので、アルゴリズムを適切に実装することをお勧めします。 (http://en.wikipedia.org/wiki/Sudoku_algorithmsを見てください)。

1つのアクティビティから別のアクティビティにデータを渡すことについては、そのインテントを使用できます。たとえば、次のように、その後

//In the place you launch your game 
Intent myIntent = new Intent(myContext, Screen.class); 
//sudoku is a String, for example, that contains the sudoku you want to pass 
myIntent.putExtra("sudokukey", sudoku); 
startActivity(myIntent); 

そして、データを取得する:

Bundle bundle = getIntent().getExtras(); 
String mySudoku = bundle.getString("sudokukey"); 
5

インテントエクストラを使用してアクティビティ間で情報を渡すことができます。あなたの場合、あなたは(私が何をしたいの操作を行い理解と仮定して)行うことができます:

public void startSudoku(int chosenDifficulty) { 
    Intent i = new Intent(this, // Your current activity 
     SudokuActivity.class); // The activity showing the Sudoku 
    i.addExtra("com.example.sudoku.DifficultyLevel", chosenDifficulty); 
    startActivity(i); 
    } 

次に、あなたの数独の活動ののonCreateメソッドでは、あなたは難易度を得ることができます。

private int difficulty = 0; 

protected void onCreate(Bundle savedInstanceState) { 
    Bundle extras = getIntent().getExtras(); 
    if (extras != null) { 
     difficulty = extras.getInt("com.example.sudoku.DifficultyLevel", 0); 
    } 
} 
関連する問題