maybe don't give sentinal scourges deck huh
This commit is contained in:
parent
6eb24636e5
commit
d8777b0dda
@ -20,12 +20,13 @@ func (d *Deck) String() string {
|
||||
}
|
||||
|
||||
func NewDeck(owner int) *Deck {
|
||||
cards := []*Card{NewCard(0, owner, -1, uuid.Nil)}
|
||||
cards := []*Card{}
|
||||
for i := 0; i < 3; i++ {
|
||||
for j := 1; j < 9; j++ {
|
||||
cards = append(cards, NewCard(j, owner, -1, uuid.Nil))
|
||||
}
|
||||
}
|
||||
cards = append(cards, NewCard(0, owner, -1, uuid.Nil))
|
||||
return &Deck{
|
||||
Cards: cards,
|
||||
}
|
||||
@ -38,13 +39,11 @@ func DeckFromCards(c []*Card) *Deck {
|
||||
}
|
||||
|
||||
func (d *Deck) Shuffle() {
|
||||
cards := d.Cards
|
||||
r := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||||
for i := range cards {
|
||||
for i := range d.Cards {
|
||||
j := r.Intn(i + 1)
|
||||
cards[i], cards[j] = cards[j], cards[i]
|
||||
d.Cards[i], d.Cards[j] = d.Cards[j], d.Cards[i]
|
||||
}
|
||||
d.Cards = cards
|
||||
}
|
||||
|
||||
func (d *Deck) Scry(s int) []*Card {
|
||||
|
@ -28,6 +28,9 @@ func AddEffect(c *Card, e *Effect) {
|
||||
log.Println("Can't add effect to empty card")
|
||||
return
|
||||
}
|
||||
if c.Position < 0 {
|
||||
log.Println("trying to apply effect to card not on the board")
|
||||
}
|
||||
for _, v := range c.Effects {
|
||||
if v.Owner == e.Owner && v.ID == e.ID && v.Target == e.Target {
|
||||
log.Println("can't stack effects")
|
||||
|
@ -151,6 +151,8 @@ func (g *Game) StateChanges() {
|
||||
|
||||
func (g *Game) PlayerStateAct(id int, cmd string) *GameView {
|
||||
switch cmd {
|
||||
case "d":
|
||||
Debug(g)
|
||||
case "g":
|
||||
//game state
|
||||
return NewView(id, g)
|
||||
@ -160,8 +162,9 @@ func (g *Game) PlayerStateAct(id int, cmd string) *GameView {
|
||||
//TODO check for ready on both accounts first
|
||||
g.SentinalPlayer.Hand = g.SentinalDeck.Cards[len(g.SentinalDeck.Cards)-5 : len(g.SentinalDeck.Cards)]
|
||||
g.SentinalDeck.Cards = g.SentinalDeck.Cards[0 : len(g.SentinalDeck.Cards)-5]
|
||||
|
||||
g.ScourgePlayer.Hand = g.ScourgeDeck.Cards[len(g.ScourgeDeck.Cards)-5 : len(g.ScourgeDeck.Cards)]
|
||||
g.SentinalDeck.Cards = g.ScourgeDeck.Cards[0 : len(g.ScourgeDeck.Cards)-5]
|
||||
g.ScourgeDeck.Cards = g.ScourgeDeck.Cards[0 : len(g.ScourgeDeck.Cards)-5]
|
||||
case "s":
|
||||
//start turn
|
||||
if g.Status == StatusReady { //first turn
|
||||
@ -255,13 +258,11 @@ func (g *Game) PlayerAct(id int, cmd string) *Deck {
|
||||
return nil
|
||||
}
|
||||
x := g.CardBuffer.Cards[x_i]
|
||||
buf := g.CardBuffer
|
||||
for i, v := range buf.Cards {
|
||||
if v == x {
|
||||
buf.Cards = append(buf.Cards[:i], buf.Cards[i+1:]...)
|
||||
}
|
||||
if x.Owner != g.CurrentTurn {
|
||||
log.Println("drew a card from our deck that isn't our own")
|
||||
}
|
||||
currD.Bottom(buf.Cards)
|
||||
g.CardBuffer.Cards = append(g.CardBuffer.Cards[:x_i], g.CardBuffer.Cards[x_i+1:]...)
|
||||
currD.Bottom(g.CardBuffer.Cards)
|
||||
curr.Hand = append(curr.Hand, x)
|
||||
g.CanDraw = false
|
||||
g.HasDrawn = true
|
||||
@ -363,6 +364,9 @@ func (g *Game) PlayerAct(id int, cmd string) *Deck {
|
||||
log.Println(err)
|
||||
return nil
|
||||
}
|
||||
if x_i < 0 || x_i > len(curr.Hand) {
|
||||
return nil
|
||||
}
|
||||
card := curr.Hand[x_i]
|
||||
shouldPlace := true
|
||||
if g.GameBoard.CanPlay(g.CurrentTurn, card, y_i) {
|
||||
@ -383,3 +387,7 @@ func (g *Game) PlayerAct(id int, cmd string) *Deck {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func Debug(g *Game) {
|
||||
return
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user