Skip to content

Commit

Permalink
start on some kind of tutorial window
Browse files Browse the repository at this point in the history
  • Loading branch information
alyssaruth committed Mar 27, 2024
1 parent dadb503 commit 9b06dc6
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 2 deletions.
4 changes: 4 additions & 0 deletions src/main/kotlin/dartzee/screen/DartsApp.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import dartzee.logging.KEY_CURRENT_SCREEN
import dartzee.logging.LoggingCode
import dartzee.main.exitApplication
import dartzee.`object`.DartsClient
import dartzee.screen.game.TutorialWindow
import dartzee.utils.DartsDatabaseUtil
import dartzee.utils.DevUtilities
import dartzee.utils.InjectedThings
Expand Down Expand Up @@ -173,6 +174,9 @@ class DartsApp(commandBar: CheatBar) : AbstractDevScreen(commandBar), WindowList
} else if (cmd == CMD_TEST) {
val window = TestWindow()
window.isVisible = true
} else if (cmd == "tutorial") {
val window = TutorialWindow()
window.isVisible = true
}

return textToShow
Expand Down
84 changes: 84 additions & 0 deletions src/main/kotlin/dartzee/screen/game/TutorialWindow.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
package dartzee.screen.game

import dartzee.listener.DartboardListener
import dartzee.`object`.Dart
import dartzee.screen.GameplayDartboard
import java.awt.BorderLayout
import java.awt.Dimension
import java.awt.event.ActionEvent
import java.awt.event.ActionListener
import javax.swing.ImageIcon
import javax.swing.JButton
import javax.swing.JFrame
import javax.swing.JPanel

class TutorialWindow : JFrame(), ActionListener, DartboardListener {
private val dartsThrown = mutableListOf<Dart>()

private val dartboard = GameplayDartboard()

private val btnConfirm = JButton("")
private val btnReset = JButton("")
private val btnResign = JButton("")

init {
contentPane.layout = BorderLayout(0, 0)
size = Dimension(1000, 800)
preferredSize = Dimension(1000, 800)

val panelNorth = JPanel()
contentPane.add(panelNorth, BorderLayout.NORTH)

contentPane.add(dartboard, BorderLayout.CENTER)

val panelSouth = JPanel()
contentPane.add(panelSouth, BorderLayout.SOUTH)


panelSouth.add(btnConfirm)
panelSouth.add(btnReset)

btnConfirm.preferredSize = Dimension(80, 80)
btnConfirm.icon = ImageIcon(javaClass.getResource("/buttons/Confirm.png"))
btnConfirm.toolTipText = "Confirm round"
btnReset.preferredSize = Dimension(80, 80)
btnReset.icon = ImageIcon(javaClass.getResource("/buttons/Reset.png"))
btnReset.toolTipText = "Reset round"

btnResign.preferredSize = Dimension(80, 80)
btnResign.icon = ImageIcon(javaClass.getResource("/buttons/resign.png"))
btnResign.toolTipText = "Resign"

dartboard.addDartboardListener(this)
btnConfirm.addActionListener(this)
btnReset.addActionListener(this)

}

override fun actionPerformed(e: ActionEvent?) {
when (e?.source) {
btnReset -> clearDarts()
btnConfirm -> clearDarts()
}
}

private fun clearDarts() {
dartboard.clearDarts()
dartsThrown.clear()

btnReset.isVisible = false
btnConfirm.isVisible = false

dartboard.ensureListening()
}

override fun dartThrown(dart: Dart) {
dartsThrown.add(dart)
btnReset.isVisible = true
btnConfirm.isVisible = true

if (dartsThrown.size == 3) {
dartboard.stopListening()
}
}
}
2 changes: 0 additions & 2 deletions src/main/kotlin/dartzee/screen/game/scorer/AbstractScorer.kt
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,6 @@ abstract class AbstractScorer(val participant: IWrappedParticipant) : JPanel(),

protected abstract fun initImpl()

fun getTableOnly() = panelCenter

fun init() {
lblResult.text = ""

Expand Down

0 comments on commit 9b06dc6

Please sign in to comment.