diff --git a/app/src/main/java/com/wyattjmiller/dicerollerapp/DiceActivity.kt b/app/src/main/java/com/wyattjmiller/dicerollerapp/DiceActivity.kt index aec6bdb..8d1422f 100644 --- a/app/src/main/java/com/wyattjmiller/dicerollerapp/DiceActivity.kt +++ b/app/src/main/java/com/wyattjmiller/dicerollerapp/DiceActivity.kt @@ -6,10 +6,13 @@ import android.util.Log import android.view.View import android.widget.Button import android.widget.TextView +import kotlin.random.Random +import kotlin.random.nextInt class DiceActivity : AppCompatActivity() { // Private member variables per the layout + private lateinit var mMetaStatusTextView: TextView private lateinit var mDiceTextView: TextView private lateinit var mRollButton: Button @@ -21,10 +24,11 @@ class DiceActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_dice) + mMetaStatusTextView = findViewById(R.id.metaStatusTextView) mDiceTextView = findViewById(R.id.diceTextView) mRollButton = findViewById(R.id.rollButton) - // I realize that you toggle visability in xml + // I realize that you toggle visibility in xml mDiceTextView.visibility = View.INVISIBLE } @@ -53,6 +57,25 @@ class DiceActivity : AppCompatActivity() { super.onDestroy() } + // code behind for the 'roll d4' button + fun onClickDieFourRoll(view: View?) { + val item: Array = FourDie.values() + when (Randomizer().randomDieRoll(item)) { + 0 -> mDieStatus = FourDie.One + 1 -> mDieStatus = FourDie.Two + 2 -> mDieStatus = FourDie.Three + 3 -> mDieStatus = FourDie.Four + } + + mMetaStatusTextView.text = "You have rolled a D4!" + mDiceTextView.text = mDieStatus.toString() + + if (mDiceTextView.visibility == View.INVISIBLE) { + mDiceTextView.visibility = View.VISIBLE + } + } + + // code behind for the 'roll' button fun onClickDieRoll(view: View?) { val item: Array = SixDie.values() @@ -65,6 +88,7 @@ class DiceActivity : AppCompatActivity() { 5 -> mDieStatus = SixDie.Six } + mMetaStatusTextView.text = "You have rolled a D6!" mDiceTextView.text = mDieStatus.toString() if (mDiceTextView.visibility == View.INVISIBLE) { @@ -72,6 +96,29 @@ class DiceActivity : AppCompatActivity() { } } + // code behind for the 'roll d8' button + fun onClickDieEightRoll(view: View?) { + val item: Array = EightDie.values() + when (Randomizer().randomDieRoll(item)) { + 0 -> mDieStatus = EightDie.One + 1 -> mDieStatus = EightDie.Two + 2 -> mDieStatus = EightDie.Three + 3 -> mDieStatus = EightDie.Four + 4 -> mDieStatus = EightDie.Five + 5 -> mDieStatus = EightDie.Six + 6 -> mDieStatus = EightDie.Seven + 7 -> mDieStatus = EightDie.Eight + } + + mMetaStatusTextView.text = "You have rolled a D8!" + mDiceTextView.text = mDieStatus.toString() + + if (mDiceTextView.visibility == View.INVISIBLE) { + mDiceTextView.visibility = View.VISIBLE + } + } + + // code behind for the 'roll d10' button fun onClickDieTenRoll(view: View?) { val item: Array = TenDie.values() when (Randomizer().randomDieRoll(item)) { @@ -87,6 +134,7 @@ class DiceActivity : AppCompatActivity() { 9 -> mDieStatus = TenDie.Ten } + mMetaStatusTextView.text = "You have rolled a D10!" mDiceTextView.text = mDieStatus.toString() if (mDiceTextView.visibility == View.INVISIBLE) { @@ -94,6 +142,34 @@ class DiceActivity : AppCompatActivity() { } } + // code behind the 'roll d12' button + fun onClickDieTwelveRoll(view: View?) { + val item: Array = TwelveDie.values() + when (Randomizer().randomDieRoll(item)) { + 0 -> mDieStatus = TwelveDie.One + 1 -> mDieStatus = TwelveDie.Two + 2 -> mDieStatus = TwelveDie.Three + 3 -> mDieStatus = TwelveDie.Four + 4 -> mDieStatus = TwelveDie.Five + 5 -> mDieStatus = TwelveDie.Six + 6 -> mDieStatus = TwelveDie.Seven + 7 -> mDieStatus = TwelveDie.Eight + 8 -> mDieStatus = TwelveDie.Nine + 9 -> mDieStatus = TwelveDie.Ten + 10 -> mDieStatus = TwelveDie.Eleven + 11 -> mDieStatus = TwelveDie.Twelve + } + + mMetaStatusTextView.text = "You have rolled a D12!" + mDiceTextView.text = mDieStatus.toString() + + if (mDiceTextView.visibility == View.INVISIBLE) { + mDiceTextView.visibility = View.VISIBLE + } + } + + + // code behind the 'roll d20' button fun onClickDieTwentyRoll(view: View?) { val item: Array = TwentyDie.values() when (Randomizer().randomDieRoll(item)) { @@ -119,10 +195,22 @@ class DiceActivity : AppCompatActivity() { 19 -> mDieStatus = TwentyDie.Twenty } + mMetaStatusTextView.text = "You have rolled a D20!" mDiceTextView.text = mDieStatus.toString() if (mDiceTextView.visibility == View.INVISIBLE) { mDiceTextView.visibility = View.VISIBLE } } + + // code behind the 'roll d100' button + // I'm not going to make an enum that's a hundred lines long lol + fun onClickDie100Roll(view: View?) { + mMetaStatusTextView.text = "You have rolled a D100!" + mDiceTextView.text = Random.nextInt(0..100).toString() + + if (mDiceTextView.visibility == View.INVISIBLE) { + mDiceTextView.visibility = View.VISIBLE + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/wyattjmiller/dicerollerapp/DieEnum.kt b/app/src/main/java/com/wyattjmiller/dicerollerapp/DieEnum.kt index 18d6b68..84dd90e 100644 --- a/app/src/main/java/com/wyattjmiller/dicerollerapp/DieEnum.kt +++ b/app/src/main/java/com/wyattjmiller/dicerollerapp/DieEnum.kt @@ -1,5 +1,12 @@ package com.wyattjmiller.dicerollerapp +enum class FourDie : Die { + One, + Two, + Three, + Four +} + enum class SixDie : Die { One, Two, @@ -9,6 +16,17 @@ enum class SixDie : Die { Six } +enum class EightDie : Die { + One, + Two, + Three, + Four, + Five, + Six, + Seven, + Eight +} + enum class TenDie : Die { One, Two, @@ -22,6 +40,21 @@ enum class TenDie : Die { Ten } +enum class TwelveDie : Die { + One, + Two, + Three, + Four, + Five, + Six, + Seven, + Eight, + Nine, + Ten, + Eleven, + Twelve, +} + enum class TwentyDie : Die { One, Two,