Skip to content

Commit

Permalink
fixing spelling mistake and liveness prode issues
Browse files Browse the repository at this point in the history
  • Loading branch information
ardan-bkennedy committed Jan 22, 2024
1 parent bff5736 commit 9a66a4c
Show file tree
Hide file tree
Showing 14 changed files with 146 additions and 121 deletions.
8 changes: 4 additions & 4 deletions app/cli/liars/board/bet.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ func (b *Board) addBet(r rune) error {
b.screen.ShowCursor(x+1, betRowY)
b.print(x, betRowY, string(r))

suite, err := strconv.Atoi(string(b.bets[0]))
suit, err := strconv.Atoi(string(b.bets[0]))
if err != nil {
return err
}

bet := fmt.Sprintf("%d %-10s", len(b.bets), words[suite])
bet := fmt.Sprintf("%d %-10s", len(b.bets), words[suit])
b.print(potX, potY+1, bet)

return nil
Expand All @@ -54,12 +54,12 @@ func (b *Board) subBet() error {

bet := " "
if len(b.bets) > 0 {
suite, err := strconv.Atoi(string(b.bets[0]))
suit, err := strconv.Atoi(string(b.bets[0]))
if err != nil {
return err
}

bet = fmt.Sprintf("%d %-10s", len(b.bets), words[suite])
bet = fmt.Sprintf("%d %-10s", len(b.bets), words[suit])
}
b.print(potX, potY+1, bet)

Expand Down
4 changes: 2 additions & 2 deletions app/cli/liars/board/draw.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ func (b *Board) drawBoard(status engine.Status) {
// Show the last bet.
if len(status.Bets) > 0 {
bet := status.Bets[len(status.Bets)-1]
betStr := fmt.Sprintf("%d %-10s", bet.Number, words[bet.Suite])
betStr := fmt.Sprintf("%d %-10s", bet.Number, words[bet.Suit])
b.print(helpX+11, statusY-4, betStr)
} else {
b.print(helpX+11, statusY-4, " ")
Expand Down Expand Up @@ -112,7 +112,7 @@ func (b *Board) drawBoard(status engine.Status) {

// Last Bets.
if cup.LastBet.Number != 0 {
bet := fmt.Sprintf("%d %-10s", cup.LastBet.Number, words[cup.LastBet.Suite])
bet := fmt.Sprintf("%d %-10s", cup.LastBet.Number, words[cup.LastBet.Suit])
b.print(betX, addrY, bet)
} else {
b.print(betX, addrY, " ")
Expand Down
4 changes: 2 additions & 2 deletions app/cli/liars/engine/engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -204,8 +204,8 @@ func (e *Engine) JoinGame() (Status, error) {
}

// Bet submits a bet to the game engine.
func (e *Engine) Bet(number int, suite rune) (Status, error) {
url := fmt.Sprintf("%s/v1/game/bet/%d/%c", e.url, number, suite)
func (e *Engine) Bet(number int, suit rune) (Status, error) {
url := fmt.Sprintf("%s/v1/game/bet/%d/%c", e.url, number, suit)

var status Status
if err := e.do(url, &status, nil); err != nil {
Expand Down
2 changes: 1 addition & 1 deletion app/cli/liars/engine/models.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ type Status struct {
type Bet struct {
AccountID common.Address `json:"account"`
Number int `json:"number"`
Suite int `json:"suite"`
Suit int `json:"suit"`
}

// Cup represents the cup response.
Expand Down
8 changes: 4 additions & 4 deletions app/services/engine/v1/handlers/gamegrp/gamegrp.go
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ func (h *handlers) status(ctx context.Context, w http.ResponseWriter, r *http.Re

var bets []Bet
for _, bet := range status.Bets {
bets = append(bets, Bet{Player: bet.Player, Number: bet.Number, Suite: bet.Suite})
bets = append(bets, Bet{Player: bet.Player, Number: bet.Number, Suit: bet.Suit})
}

resp := Status{
Expand Down Expand Up @@ -322,12 +322,12 @@ func (h *handlers) bet(ctx context.Context, w http.ResponseWriter, r *http.Reque
return v1.NewTrustedError(fmt.Errorf("converting number: %s", err), http.StatusBadRequest)
}

suite, err := strconv.Atoi(web.Param(r, "suite"))
suit, err := strconv.Atoi(web.Param(r, "suit"))
if err != nil {
return v1.NewTrustedError(fmt.Errorf("converting suite: %s", err), http.StatusBadRequest)
return v1.NewTrustedError(fmt.Errorf("converting suit: %s", err), http.StatusBadRequest)
}

if err := g.Bet(ctx, address, number, suite); err != nil {
if err := g.Bet(ctx, address, number, suit); err != nil {
return v1.NewTrustedError(err, http.StatusBadRequest)
}

Expand Down
2 changes: 1 addition & 1 deletion app/services/engine/v1/handlers/gamegrp/models.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ type Status struct {
type Bet struct {
Player common.Address `json:"account"`
Number int `json:"number"`
Suite int `json:"suite"`
Suit int `json:"suit"`
}

// Cup represents the cup response.
Expand Down
2 changes: 1 addition & 1 deletion app/services/engine/v1/handlers/gamegrp/route.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ func Routes(app *web.App, cfg Config) {
app.Handle(http.MethodGet, version, "/game/join", hdl.join, mid.Authenticate(cfg.Auth))
app.Handle(http.MethodGet, version, "/game/start", hdl.startGame, mid.Authenticate(cfg.Auth))
app.Handle(http.MethodGet, version, "/game/rolldice", hdl.rollDice, mid.Authenticate(cfg.Auth))
app.Handle(http.MethodGet, version, "/game/bet/:number/:suite", hdl.bet, mid.Authenticate(cfg.Auth))
app.Handle(http.MethodGet, version, "/game/bet/:number/:suit", hdl.bet, mid.Authenticate(cfg.Auth))
app.Handle(http.MethodGet, version, "/game/liar", hdl.callLiar, mid.Authenticate(cfg.Auth))
app.Handle(http.MethodGet, version, "/game/reconcile", hdl.reconcile, mid.Authenticate(cfg.Auth))
app.Handle(http.MethodGet, version, "/game/balance", hdl.balance, mid.Authenticate(cfg.Auth))
Expand Down
22 changes: 11 additions & 11 deletions app/services/ui/src/scenes/mainScene.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ var account: string | undefined = window.localStorage
.getItem('account')
?.toLowerCase()
var player: user
var currentBet: { number: number; suite: die } = { number: 1, suite: 1 }
var currentBet: { number: number; suit: die } = { number: 1, suit: 1 }

// UI Variables
var pointer: Phaser.GameObjects.Image,
Expand Down Expand Up @@ -155,7 +155,7 @@ export default class MainScene extends Phaser.Scene {
this.center.x,
this.center.y,
`${localGame.bets[localGame.bets.length - 1]?.number || '-'} X ${
localGame.bets[localGame.bets.length - 1]?.suite || '-'
localGame.bets[localGame.bets.length - 1]?.suit || '-'
}`,
{ fontSize: '50px' },
)
Expand Down Expand Up @@ -298,11 +298,11 @@ export default class MainScene extends Phaser.Scene {
button.clearTint()
})
diceBetButton.setTint(0xffff)
if (currentBet.suite === i) {
if (currentBet.suit === i) {
currentBet.number++
return
}
currentBet.suite = i
currentBet.suit = i
currentBet.number = localGame.bets[localGame.bets.length - 1]
? localGame.bets[localGame.bets.length - 1].number
: 1
Expand All @@ -316,14 +316,14 @@ export default class MainScene extends Phaser.Scene {
.setInteractive()

const placeBet = () => {
this.sendBet(currentBet.number, currentBet.suite)
this.sendBet(currentBet.number, currentBet.suit)
diceBetButtons.forEach((button) => {
button.clearTint()
})
currentBet.number = localGame.bets[localGame.bets.length - 1]
? localGame.bets[localGame.bets.length - 1].number
: 1
currentBet.suite = 1
currentBet.suit = 1
}

placeBetButton.on('pointerdown', placeBet)
Expand Down Expand Up @@ -365,7 +365,7 @@ export default class MainScene extends Phaser.Scene {

lastbetText.setText(
`${localGame.bets[localGame.bets.length - 1]?.number || '-'} X ${
localGame.bets[localGame.bets.length - 1]?.suite || '-'
localGame.bets[localGame.bets.length - 1]?.suit || '-'
}`,
)

Expand Down Expand Up @@ -705,7 +705,7 @@ export default class MainScene extends Phaser.Scene {
if (parsedGame.status === 'playing') {
currentBet = {
number: parsedGame.bets[localGame.bets.length - 1]?.number || 1,
suite: parsedGame.bets[localGame.bets.length - 1]?.suite || 1,
suit: parsedGame.bets[localGame.bets.length - 1]?.suit || 1,
}
showBetButtons = parsedGame.currentID === account
this.renderDice(response.data)
Expand Down Expand Up @@ -820,7 +820,7 @@ export default class MainScene extends Phaser.Scene {
case 'playing':
currentBet = {
number: parsedGame.bets[localGame.bets.length - 1]?.number || 1,
suite: parsedGame.bets[localGame.bets.length - 1]?.suite || 1,
suit: parsedGame.bets[localGame.bets.length - 1]?.suit || 1,
}
// If it's player turn we show the betting section
showBetButtons = parsedGame.currentID === account
Expand Down Expand Up @@ -890,9 +890,9 @@ export default class MainScene extends Phaser.Scene {
}

// sendBet sends the player bet to the backend.
sendBet(number: number, suite: die) {
sendBet(number: number, suit: die) {
axiosInstance
.get(`http://${apiUrl}/bet/${number}/${suite}`)
.get(`http://${apiUrl}/bet/${number}/${suit}`)
.then()
.catch(function (error: AxiosError) {
console.error(error)
Expand Down
2 changes: 1 addition & 1 deletion app/services/ui/src/types/index.d.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export interface user {
export interface bet {
account: string
number: number
suite: die
suit: die
}

export interface game {
Expand Down
2 changes: 1 addition & 1 deletion app/tooling/admin/cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func Execute() {
}

const (
defaultNetwork = "http://geth-service.liars-system.svc.cluster.local:8545"
defaultNetwork = "http://localhost:8545"
defaultCoinMarketCapKey = "a8cd12fb-d056-423f-877b-659046af0aa5"
defaultKeyPath = "zarf/ethereum/keystore/UTC--2022-05-12T14-47-50.112225000Z--6327a38415c53ffb36c11db55ea74cc9cb4976fd"
defaultPassPhrase = "123"
Expand Down
55 changes: 7 additions & 48 deletions business/core/game/game.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,54 +16,13 @@ import (
"github.com/google/uuid"
)

// Represents the different game status.
const (
StatusNewGame = "newgame"
StatusPlaying = "playing"
StatusRoundOver = "roundover"
StatusGameOver = "gameover"
StatusReconciled = "reconciled"
)

// minNumberPlayers represents the minimum number of players required
// to play a game.
const minNumberPlayers = 2

// Banker represents the ability to manage money for the game. Deposits and
// Withdrawls happen outside of game play.
type Banker interface {
AccountBalance(ctx context.Context, player common.Address) (GWei *big.Float, err error)
Reconcile(ctx context.Context, winningPlayer common.Address, losingPlayers []common.Address, anteGWei *big.Float, gameFeeGWei *big.Float) (*types.Transaction, *types.Receipt, error)
}

// Status represents a copy of the game status.
type Status struct {
Status string
PlayerLastOut common.Address
PlayerLastWin common.Address
PlayerTurn common.Address
Round int
Cups map[common.Address]Cup
ExistingPlayers []common.Address
Bets []Bet
Balances []string
}

// Bet represents a bet of dice made by a player.
type Bet struct {
Player common.Address
Number int
Suite int
}

// Cup represents an individual cup being held by a player.
type Cup struct {
Player common.Address
OrderIdx int
Outs int
Dice []int
}

// Game represents a single game that is being played.
type Game struct {
log *logger.Logger
Expand Down Expand Up @@ -279,7 +238,7 @@ func (g *Game) rollDice(ctx context.Context, player common.Address, manualRole .
// Bet accepts a bet from an account, but validates the bet is valid first.
// If the bet is valid, it's added to the list of bets for the game. Then
// the next player is determined and set.
func (g *Game) Bet(ctx context.Context, player common.Address, number int, suite int) error {
func (g *Game) Bet(ctx context.Context, player common.Address, number int, suit int) error {
g.mu.Lock()
defer g.mu.Unlock()

Expand Down Expand Up @@ -312,16 +271,16 @@ func (g *Game) Bet(ctx context.Context, player common.Address, number int, suite
return fmt.Errorf("bet number must be greater or equal to the last bet number: number[%d] last[%d]", number, lastBet.Number)
}

if number == lastBet.Number && suite <= lastBet.Suite {
return fmt.Errorf("bet suite must be greater than the last bet suite: suite[%d] last[%d]", suite, lastBet.Suite)
if number == lastBet.Number && suit <= lastBet.Suit {
return fmt.Errorf("bet suit must be greater than the last bet suit: suit[%d] last[%d]", suit, lastBet.Suit)
}
}

// Add the bet to the list.
bet := Bet{
Player: player,
Number: number,
Suite: suite,
Suit: suit,
}
g.bets = append(g.bets, bet)

Expand Down Expand Up @@ -406,8 +365,8 @@ func (g *Game) CallLiar(ctx context.Context, player common.Address) (winningPlay
// Hold the sum of all the dice values.
dice := make([]int, 7)
for _, player := range g.cups {
for _, suite := range player.Dice {
dice[suite]++
for _, suit := range player.Dice {
dice[suit]++
}
}

Expand All @@ -416,7 +375,7 @@ func (g *Game) CallLiar(ctx context.Context, player common.Address) (winningPlay

// Identify the winner and the loser.
switch {
case dice[lastBet.Suite] < lastBet.Number:
case dice[lastBet.Suit] < lastBet.Number:

// The account who made the last bet lost.
cup := g.cups[lastBet.Player]
Expand Down
44 changes: 44 additions & 0 deletions business/core/game/model.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package game

import "github.com/ethereum/go-ethereum/common"

// Represents the different game status.
const (
StatusNewGame = "newgame"
StatusPlaying = "playing"
StatusRoundOver = "roundover"
StatusGameOver = "gameover"
StatusReconciled = "reconciled"
)

// minNumberPlayers represents the minimum number of players required
// to play a game.
const minNumberPlayers = 2

// Status represents a copy of the game status.
type Status struct {
Status string
PlayerLastOut common.Address
PlayerLastWin common.Address
PlayerTurn common.Address
Round int
Cups map[common.Address]Cup
ExistingPlayers []common.Address
Bets []Bet
Balances []string
}

// Bet represents a bet of dice made by a player.
type Bet struct {
Player common.Address
Number int
Suit int
}

// Cup represents an individual cup being held by a player.
type Cup struct {
Player common.Address
OrderIdx int
Outs int
Dice []int
}
Loading

0 comments on commit 9a66a4c

Please sign in to comment.