実現したいこと
4枚の画像の共通点を見つけて2つのグループに分ける、というクイズアプリを作成しています。
4枚の画像が表示される位置を毎回変更したいのですがどのようにすればよいのでしょうか?
該当のソースコード
class QuestionActivity_4 : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_question4) // Viewの取得 val btn1: ImageButton = findViewById(R.id.btn1) val btn2: ImageButton = findViewById(R.id.btn2) val btn3: ImageButton = findViewById(R.id.btn4) val btn4: ImageButton = findViewById(R.id.btn3) val btnGroup1_4: Button = findViewById(R.id.btnGroup1_4) val btnGroup2_4: Button = findViewById(R.id.btnGroup2_4) val btnAnswer: Button = findViewById(R.id.btnAnswer) //変数宣言 var answer1 = 0 var answer2 = 0 var answer3 = 0 var answer4 = 0 var kind = 0 //listの宣言 val list = listOf(0,1,2,3) val num =list.shuffled() //when式 when(num[0]){ 0 -> { btn1.setImageResource(R.drawable.ichigo) btn2.setImageResource(R.drawable.enpitu) btn3.setImageResource(R.drawable.kesigomu) btn4.setImageResource(R.drawable.apple) } 1 -> {btn1.setImageResource(R.drawable.ichigo) btn2.setImageResource(R.drawable.enpitu) btn3.setImageResource(R.drawable.kesigomu) btn4.setImageResource(R.drawable.apple) } 2 -> {btn1.setImageResource(R.drawable.ichigo) btn2.setImageResource(R.drawable.enpitu) btn3.setImageResource(R.drawable.kesigomu) btn4.setImageResource(R.drawable.apple) } 3 -> {btn1.setImageResource(R.drawable.ichigo) btn2.setImageResource(R.drawable.enpitu) btn3.setImageResource(R.drawable.kesigomu) btn4.setImageResource(R.drawable.apple) } }
試したこと
listのシャッフル機能を使って、出力される値によってwhen式で画像を変更するようにしましたが、もっとスマートな方法があるような気がしてなりません。しかもこのコードだと完全なランダムにはなりませんし...
あなたの回答
tips
プレビュー