card change cleanup
This commit is contained in:
parent
279af42056
commit
b37cc0e73c
17
board.go
17
board.go
@ -43,7 +43,7 @@ func (b *Board) Move(id, src, dest int) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *Board) Play(id int, c Card, dest int) bool {
|
func (b *Board) CanPlay(id int, c *Card, dest int) bool {
|
||||||
var brd [4]Card
|
var brd [4]Card
|
||||||
if id == 1 {
|
if id == 1 {
|
||||||
brd = b.Sentinal
|
brd = b.Sentinal
|
||||||
@ -53,7 +53,20 @@ func (b *Board) Play(id int, c Card, dest int) bool {
|
|||||||
if brd[dest] != nil {
|
if brd[dest] != nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
brd[dest] = c
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (b *Board) Play(id int, c *Card, dest int) bool {
|
||||||
|
var brd [4]Card
|
||||||
|
if id == 1 {
|
||||||
|
brd = b.Sentinal
|
||||||
|
} else {
|
||||||
|
brd = b.Scourge
|
||||||
|
}
|
||||||
|
if brd[dest] != nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
brd[dest] = *c
|
||||||
if id == 1 {
|
if id == 1 {
|
||||||
b.Sentinal = brd
|
b.Sentinal = brd
|
||||||
} else {
|
} else {
|
||||||
|
28
game.go
28
game.go
@ -44,10 +44,31 @@ func (g *Game) PlayerStateAct(id int, cmd string) *Game {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
g.CanDraw = true
|
g.CanDraw = true
|
||||||
|
if id == 1 {
|
||||||
|
for _, v := range g.GameBoard.Sentinal {
|
||||||
|
v.Upkeep(g)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for _, v := range g.GameBoard.Scourge {
|
||||||
|
v.Upkeep(g)
|
||||||
|
}
|
||||||
|
}
|
||||||
return g
|
return g
|
||||||
case "e":
|
case "e":
|
||||||
//end turn and clean up
|
//end turn and clean up
|
||||||
|
if id != g.CurrentTurn {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
g.cardBuffer = []Card{}
|
g.cardBuffer = []Card{}
|
||||||
|
if id == 1 {
|
||||||
|
for _, v := range g.GameBoard.Sentinal {
|
||||||
|
v.Endstep(g)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for _, v := range g.GameBoard.Scourge {
|
||||||
|
v.Endstep(g)
|
||||||
|
}
|
||||||
|
}
|
||||||
if g.CurrentTurn == 1 {
|
if g.CurrentTurn == 1 {
|
||||||
g.CurrentTurn = 2
|
g.CurrentTurn = 2
|
||||||
} else {
|
} else {
|
||||||
@ -141,8 +162,13 @@ func (g *Game) PlayerAct(id int, cmd string) []Card {
|
|||||||
}
|
}
|
||||||
x_i, _ := strconv.Atoi(cmd_s[1])
|
x_i, _ := strconv.Atoi(cmd_s[1])
|
||||||
y_i, _ := strconv.Atoi(cmd_s[2])
|
y_i, _ := strconv.Atoi(cmd_s[2])
|
||||||
res := g.GameBoard.Play(g.CurrentTurn, curr.Hand[x_i], y_i)
|
card := curr.Hand[x_i]
|
||||||
|
if g.GameBoard.CanPlay(g.CurrentTurn, &card, y_i) {
|
||||||
|
curr.Hand[x_i].Cast(g)
|
||||||
|
}
|
||||||
|
res := g.GameBoard.Play(g.CurrentTurn, &card, y_i)
|
||||||
if res {
|
if res {
|
||||||
|
curr.Hand[x_i].Enters(g)
|
||||||
curr.Hand = append(curr.Hand[:x_i], curr.Hand[x_i+1:]...)
|
curr.Hand = append(curr.Hand[:x_i], curr.Hand[x_i+1:]...)
|
||||||
return g.GameBoard.GetRow(g.CurrentTurn)
|
return g.GameBoard.GetRow(g.CurrentTurn)
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user