Initial commit.
This commit is contained in:
commit
d9222f394a
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
build/
|
||||
*.sw*
|
107
TeamMaker.groovy
Normal file
107
TeamMaker.groovy
Normal file
@ -0,0 +1,107 @@
|
||||
import groovy.swing.SwingBuilder
|
||||
import java.awt.GridBagConstraints as GBC
|
||||
import javax.swing.ListCellRenderer
|
||||
|
||||
public class TeamMaker {
|
||||
|
||||
/* ======== MODEL ======== */
|
||||
|
||||
public static def swing = new SwingBuilder()
|
||||
public static final String version = "0.2"
|
||||
|
||||
def frame
|
||||
def team1List
|
||||
def team2List
|
||||
def sittingList
|
||||
|
||||
class Player {
|
||||
String name
|
||||
int gamesSat
|
||||
}
|
||||
|
||||
/* ======== VIEW ======== */
|
||||
|
||||
/*
|
||||
+--------------------------------------------------+
|
||||
| JDB TeamMaker v0.2 _[]X |
|
||||
+--------------------------------------------------+
|
||||
| |
|
||||
| +-Current-Game--------------+ +-Sitting-Players+ |
|
||||
| | | | | |
|
||||
| | Team 1 Team 2 | | Jeptha 3 | |
|
||||
| | Derrick Eric | | Jack 2 | |
|
||||
| | Shane Brandon | | Sam 2 | |
|
||||
| | Shane Darren | | Greg 2 | |
|
||||
| | Christian Brett | | Frank 1 | |
|
||||
| +---------------------------+ | Chris D 1 | |
|
||||
| | Joshua 1 | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| +----------------+ |
|
||||
+--------------------------------------------------+
|
||||
|
||||
*/
|
||||
|
||||
private void init() {
|
||||
frame = swing.frame(title: "JDB TeamMaker v$version",
|
||||
size: [600, 400], locationRelativeTo: null) {
|
||||
|
||||
panel() {
|
||||
gridBagLayout()
|
||||
|
||||
panel(constraints: gbc(gridx: 0, gridy: 0,
|
||||
insets: [5, 5, 5, 5]),
|
||||
border: titleBorder(title: 'Current Game')) {
|
||||
|
||||
gridBagLayout()
|
||||
|
||||
label('Team A', constraints: gbc(gridx: 0, gridy: 0,
|
||||
fill: GBC.BOTH, insets: [5, 5, 0, 0]))
|
||||
|
||||
label('Team B', constraints: gbc(gridx: 1, gridy: 0,
|
||||
fill: GBC.BOTH, insets: [5, 5, 0, 5]))
|
||||
|
||||
def teamListRenderer = new PlayerRenderer(showStats: false
|
||||
colored: false)
|
||||
|
||||
team1List = list(cellRenderer: teamListRenderer,
|
||||
constraints: gbc(gridx: 0, gridy: 0, fill: GBC.BOTH,
|
||||
insets: [5, 5, 5, 0], weightx: 2, weighty: 2))
|
||||
|
||||
team2List = list(cellRenderer: teamListRenderer,
|
||||
constraints: gbc(gridx: 1, gridy: 1, fill: GBC.BOTH,
|
||||
insets: [5, 5, 5, 5], weightx: 2, weighty: 2))
|
||||
}
|
||||
}
|
||||
|
||||
sittingList = list(
|
||||
cellRenderer: new PlayerRenderer(
|
||||
showStats: true, colored: true),
|
||||
constraints: gbc(gridx: 1, gridy: 0, gridheight: 2) {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class PlayerRenderer implements ListCellRenderer extends JLabel {
|
||||
|
||||
boolean showStats
|
||||
boolean colored
|
||||
|
||||
PlayerRenderer
|
||||
}
|
||||
|
||||
/* ======== CONTROLLER ======== */
|
||||
|
||||
public static void main(String[] args) {
|
||||
def inst = new TeamMaker()
|
||||
inst.frame.show()
|
||||
}
|
||||
|
||||
TeamMaker() {
|
||||
|
||||
}
|
||||
}
|
BIN
lib/groovy-all-1.7.2.jar
Normal file
BIN
lib/groovy-all-1.7.2.jar
Normal file
Binary file not shown.
BIN
lib/miglayout-3.7.1-swing.jar
Normal file
BIN
lib/miglayout-3.7.1-swing.jar
Normal file
Binary file not shown.
94
make_teams.groovy
Normal file
94
make_teams.groovy
Normal file
@ -0,0 +1,94 @@
|
||||
#!/usr/env groovy
|
||||
import groovy.swing.SwingBuilder
|
||||
import java.util.Random
|
||||
import javax.swing.JFrame
|
||||
import net.miginfocom.swing.MigLayout
|
||||
|
||||
Scanner sysin = new Scanner(System.in)
|
||||
|
||||
def version = "0.1"
|
||||
def final teamNames = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
def swing = new SwingBuilder()
|
||||
|
||||
def allPlayers = []
|
||||
def teams = [:]
|
||||
def teamQueue = []
|
||||
def rand = new Random(System.currentTimeMillis())
|
||||
def go = true
|
||||
|
||||
def addPlayers
|
||||
def makeTeams
|
||||
def awardTeam1
|
||||
def awardTeam2
|
||||
|
||||
/*/////// GUI Definitions \\\\\\\\*\
|
||||
\*\\\\\\\ --------------- ////////*/
|
||||
def frame = swing.frame(title: "JDB Team Maker v$version",
|
||||
defaultCloseOperation: JFrame.EXIT_ON_CLOSE) {
|
||||
|
||||
//tabbedPane {
|
||||
panel(layout: new MigLayout('insets 5 5 5 5', 'fill', '')) {
|
||||
textArea(constraints: '')
|
||||
button("Add Players", actionPerformed: { addPlayers() })
|
||||
button("Make Team", actionPerformed: { makeTeams() })
|
||||
|
||||
button("Team 1 Wins", actionPerformed: { awardTeam1() })
|
||||
button("Team 2 Wins", actionPerformed: { awardTeam2() })
|
||||
}
|
||||
//}
|
||||
}
|
||||
frame.pack()
|
||||
|
||||
def playersDialog = swing.dialog(title: "Manage Players",
|
||||
layout: new MigLayout('insets 5 5 5 5', '', ''),
|
||||
modal: true) {
|
||||
scrollPane(constraints: '') {
|
||||
playerList = list()
|
||||
}
|
||||
button("Add Players", constraints: '',
|
||||
actionPerformed: { addPlayers() })
|
||||
button("Make Team", constraints: '',
|
||||
actionPerformed: { makeTeams() })
|
||||
button("Done", constraints: '',
|
||||
actionPerformed: { playersDialog.visible = false; })
|
||||
}
|
||||
playersDialog.pack()
|
||||
|
||||
// show main frame
|
||||
frame.show()
|
||||
|
||||
/*/////// Action Methods \\\\\\\\*\
|
||||
\*\\\\\\\ -------------- ////////*/
|
||||
|
||||
|
||||
addPlayers = {
|
||||
playersDialog.show()
|
||||
}
|
||||
|
||||
makeTeams = {
|
||||
|
||||
}
|
||||
|
||||
/*while(true) {
|
||||
|
||||
print "Name: "
|
||||
player = sysin.nextLine()
|
||||
|
||||
if (player == null || player == "DONE")
|
||||
break
|
||||
|
||||
allPlayers << player
|
||||
|
||||
}
|
||||
|
||||
allPlayers.sort({ return rand.nextInt() })
|
||||
|
||||
println "\nTeam Assignments:"
|
||||
println "-------------------"
|
||||
|
||||
for (int i = 0; i < allPlayers.size(); i++) {
|
||||
if (i % teamSize == 0)
|
||||
println "\nTeam ${++teamNum}"
|
||||
|
||||
println " ${allPlayers[i]}"
|
||||
}*/
|
44
make_teams_simple.groovy
Normal file
44
make_teams_simple.groovy
Normal file
@ -0,0 +1,44 @@
|
||||
def allPlayers = []
|
||||
def player
|
||||
def teamSize
|
||||
def badInput = true
|
||||
|
||||
Scanner sysin = new Scanner(System.in)
|
||||
def rand = new Random(System.currentTimeMillis())
|
||||
|
||||
while(badInput) {
|
||||
print "Enter team size: "
|
||||
teamSize = sysin.nextLine()
|
||||
badInput = !teamSize.isInteger()
|
||||
}
|
||||
|
||||
teamSize = teamSize.toInteger()
|
||||
|
||||
// theoretically no point, but seems to make it more random
|
||||
// we're choosing pickup teams, so appearence matters :)
|
||||
(1.10000).each {rand.nextInt() }
|
||||
|
||||
while(true) {
|
||||
|
||||
print "Name: "
|
||||
player = sysin.nextLine()
|
||||
|
||||
if (player == null || player == "DONE")
|
||||
break
|
||||
|
||||
allPlayers << player
|
||||
|
||||
}
|
||||
|
||||
allPlayers.sort({ return rand.nextInt() })
|
||||
|
||||
println "\nTeam Assignments:"
|
||||
println "-------------------"
|
||||
|
||||
def teamNum = 0
|
||||
for (int i = 0; i < allPlayers.size(); i++) {
|
||||
if (i % teamSize == 0)
|
||||
println "\nTeam ${++teamNum}"
|
||||
|
||||
println " ${allPlayers[i]}"
|
||||
}
|
76
make_teams_simple2.groovy
Normal file
76
make_teams_simple2.groovy
Normal file
@ -0,0 +1,76 @@
|
||||
import java.util.Scanner
|
||||
|
||||
class Player {
|
||||
def name
|
||||
def gamesSat
|
||||
}
|
||||
|
||||
class Team {
|
||||
def name
|
||||
def players
|
||||
}
|
||||
|
||||
def teams = []
|
||||
def players = [:]
|
||||
def running = true
|
||||
def choice
|
||||
def version="0.1"
|
||||
def sysin = new Scanner(System.in)
|
||||
|
||||
def options=[
|
||||
ls: ["List Round Information", { list() }],
|
||||
add: ["Add New Player", { add() }],
|
||||
win: ["Report Game Result", { gameResult() }]
|
||||
]
|
||||
|
||||
|
||||
while (running) {
|
||||
|
||||
println "==>JDB Team Maker v${version}<=="
|
||||
options.each { println "(${it[0]}) ${it[1]}" }
|
||||
|
||||
choice = sysin.nextLine()
|
||||
|
||||
if (options[(choice)])
|
||||
options.each { opt ->
|
||||
if (opt[0].toUpperCase().startsWith(choice.toUpperCase()))
|
||||
opt[1]()
|
||||
}
|
||||
|
||||
println ""
|
||||
println ""
|
||||
}
|
||||
|
||||
def list() {
|
||||
|
||||
println "Current Game:"
|
||||
println "-------------"
|
||||
println ""
|
||||
println "\t${teams[0].name}"
|
||||
println "\t${'-'.times(teams[0].name.length())}"
|
||||
teams[0].players.each { println "\t\t$it" }
|
||||
println ""
|
||||
println "\t${teams[0].name}"
|
||||
println "\t${'-'.times(teams[1].name.length())}"
|
||||
teams[1].players.each { println "\t\t$it" }
|
||||
|
||||
println "Remaining Teams:"
|
||||
println "----------------"
|
||||
|
||||
if (teams.length() < 2) return
|
||||
|
||||
teams[2..-1].each {
|
||||
println ""
|
||||
println "\t${it.name}"
|
||||
println "\t${'-'.times(it.name.length())}"
|
||||
it.players.each { println "\t\t$it" }
|
||||
}
|
||||
}
|
||||
|
||||
def add() {
|
||||
|
||||
}
|
||||
|
||||
def win() {
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user