ekcore

package module
v0.0.0-...-d3f4e5c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 2, 2014 License: MIT Imports: 13 Imported by: 0

README

ekcore

Elemental Kingdoms Core Functionality

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MasterCardList = make(map[string]Card)

Functions

func CalcAttack

func CalcAttack(prog string) (int, int)

func CalcHP

func CalcHP(prog string) (int, int)

func LoadCards

func LoadCards(cardFile string)

func Random

func Random(min int, max int) int

func Register

func Register(id string, newfunc AbilityCtor)

Types

type Ability

type Ability interface {
	SetLevel(level int)
	Execute(castingCard *Card, playerBoard *PlayerBoard,
		defendingBoard *PlayerBoard)
}

func FindAbility

func FindAbility(name string) (ability Ability, ok bool)

type AbilityCtor

type AbilityCtor func() Ability

type Backstab

type Backstab struct{ Level int }

Backstab

func (*Backstab) Execute

func (a *Backstab) Execute(castingCard *Card, PlayerBoard *PlayerBoard, defendingBoard *PlayerBoard)

func (*Backstab) SetLevel

func (a *Backstab) SetLevel(level int)

type Blight

type Blight struct{ Level int }

Blight

func (*Blight) Execute

func (a *Blight) Execute(castingCard *Card, playerBoard *PlayerBoard, defendingBoard *PlayerBoard)

func (*Blight) SetLevel

func (a *Blight) SetLevel(level int)

type Card

type Card struct {
	Name                  string
	Class                 string
	Stars                 int
	Cost                  int
	Wait                  int
	Level                 int
	BaseAttack            int
	AttackGainPerLevel    int
	CurrentAttack         int
	BaseHitPoints         int
	HitPointsGainPerLevel int
	CurrentHitPoints      int
	MaxHitPoints          int
	Level0SkillName       string
	Level0Skill           Ability
	Level5SkillName       string
	Level5Skill           Ability
	Level10SkillName      string
	Level10Skill          Ability
	Level99SkillName      string
}

func FindCardByName

func FindCardByName(name string) (Card, bool)

func NewCard

func NewCard(name string, level int) (Card, bool)

func (*Card) AttackAndHitPointsString

func (card *Card) AttackAndHitPointsString() string

func (*Card) CalculateAttack

func (card *Card) CalculateAttack() int

func (*Card) CalculateHitPoints

func (card *Card) CalculateHitPoints() int

func (*Card) Heal

func (card *Card) Heal(amount int)

func (*Card) Init

func (card *Card) Init()

func (*Card) LoseAttack

func (card *Card) LoseAttack(amount int) (remainingAtk int)

func (*Card) TakeDamage

func (card *Card) TakeDamage(amount int) (remainingHP int)

type CardContainer

type CardContainer struct {
	Slot  int
	Cards []*Card
}

func NewCardContainer

func NewCardContainer() *CardContainer

func (*CardContainer) AddCard

func (cc *CardContainer) AddCard(card *Card)

func (*CardContainer) CardAtSlot

func (cc *CardContainer) CardAtSlot(slotNum int) *Card

func (*CardContainer) Collapse

func (cc *CardContainer) Collapse()

func (*CardContainer) DoesContain

func (cc *CardContainer) DoesContain(card *Card) bool

func (*CardContainer) DrawCard

func (cc *CardContainer) DrawCard() *Card

func (*CardContainer) GetSlotNumForCard

func (cc *CardContainer) GetSlotNumForCard(card *Card) int

func (*CardContainer) KillCard

func (cc *CardContainer) KillCard(card *Card)

Removes the card but does not collapse the slice

func (*CardContainer) PrintCards

func (cc *CardContainer) PrintCards()

func (*CardContainer) RemoveCard

func (cc *CardContainer) RemoveCard(card *Card)

func (*CardContainer) SelectRandomCard

func (cc *CardContainer) SelectRandomCard() *Card

func (*CardContainer) SelectRandomCards

func (cc *CardContainer) SelectRandomCards(num int) []*Card

func (*CardContainer) Shuffle

func (cc *CardContainer) Shuffle()

func (*CardContainer) Size

func (cc *CardContainer) Size() int

type Deck

type Deck struct {
	Name  string
	Cards []*Card
	Runes []Rune
}

func LoadDeck

func LoadDeck(filepath string) *Deck

func (*Deck) AddCard

func (deck *Deck) AddCard(card *Card)

func (*Deck) AddRune

func (deck *Deck) AddRune(theRune Rune)

func (*Deck) PrintDeck

func (deck *Deck) PrintDeck()

func (*Deck) Shuffle

func (deck *Deck) Shuffle()

type Effect

type Effect struct {
	EffectType   int
	TargetType   int
	AbilityType  int // Ice, Fire, etc
	NumOfTargets int
	OccursOnce   bool
	Duration     int
}

type Fireball

type Fireball struct{ Level int }

Fireball

func (*Fireball) Execute

func (fb *Fireball) Execute(castingCard *Card, playerBoard *PlayerBoard, defendingBoard *PlayerBoard)

func (*Fireball) SetLevel

func (fb *Fireball) SetLevel(level int)

type Iceball

type Iceball struct{ Level int }

Iceball

func (*Iceball) Execute

func (a *Iceball) Execute(castingCard *Card, playerBoard *PlayerBoard, defendingBoard *PlayerBoard)

func (*Iceball) SetLevel

func (a *Iceball) SetLevel(level int)

type Immunity

type Immunity struct{}

Immuniity

func (*Immunity) Execute

func (i *Immunity) Execute(castingCard *Card, playerBoard *PlayerBoard, defendingBoard *PlayerBoard)

func (*Immunity) SetLevel

func (i *Immunity) SetLevel(level int)

type Match

type Match struct {
	Hero            Player
	Opponent        Player
	HeroBoard       PlayerBoard
	OpponentBoard   PlayerBoard
	AttackerBoard   *PlayerBoard
	DefenderBoard   *PlayerBoard
	Round           int
	Summary         *MatchSummary
	InteractiveMode bool
}

func NewMatch

func NewMatch(hero Player, opponent Player, heroDeck Deck, opponentDeck Deck) *Match

func (*Match) AttackCard

func (match *Match) AttackCard(attackingCard *Card, defendingCard *Card) (cardIsDead bool)

func (*Match) CardsAttack

func (match *Match) CardsAttack()

func (*Match) DoRound

func (match *Match) DoRound()

DoRound

func (*Match) PlayerAttack

func (match *Match) PlayerAttack(attackingCard *Card, defendingBoard *PlayerBoard)

Attack the opposing player directly

func (*Match) Run

func (match *Match) Run()

Run

func (*Match) UpdateHandWaits

func (match *Match) UpdateHandWaits()

UpdateHandleWaits

type MatchSummary

type MatchSummary struct {
	Winner  *Player
	WinType string
}

func NewMatchSummary

func NewMatchSummary() *MatchSummary

type Player

type Player struct {
	Name  string
	Level int
}

func (*Player) CostAllowed

func (player *Player) CostAllowed() int

func (*Player) MaxHitPoints

func (player *Player) MaxHitPoints() int

type PlayerBoard

type PlayerBoard struct {
	Player           Player
	CurrentHitPoints int
	Deck             *CardContainer
	Hand             *CardContainer
	Battlefield      *CardContainer
	Cemetery         *CardContainer
}

func NewPlayerBoard

func NewPlayerBoard(player Player, deck Deck) PlayerBoard

func (*PlayerBoard) DecrementWaits

func (pb *PlayerBoard) DecrementWaits(amount int)

func (*PlayerBoard) DrawCard

func (pb *PlayerBoard) DrawCard()

func (*PlayerBoard) KillCard

func (pb *PlayerBoard) KillCard(idx int)

func (*PlayerBoard) MoveExpiredHandCards

func (pb *PlayerBoard) MoveExpiredHandCards()

func (*PlayerBoard) PrintBoard

func (pb *PlayerBoard) PrintBoard()

type Rejuvenation

type Rejuvenation struct{ Level int }

Rejuvenation

func (*Rejuvenation) Execute

func (r *Rejuvenation) Execute(castingCard *Card, playerBoard *PlayerBoard, defendingBoard *PlayerBoard)

func (*Rejuvenation) SetLevel

func (r *Rejuvenation) SetLevel(level int)

type Rune

type Rune struct {
	Name  string
	Level int
}

type Thunderbolt

type Thunderbolt struct{ Level int }

Thunderbolt

func (*Thunderbolt) Execute

func (a *Thunderbolt) Execute(castingCard *Card, playerBoard *PlayerBoard, defendingBoard *PlayerBoard)

func (*Thunderbolt) SetLevel

func (a *Thunderbolt) SetLevel(level int)

type UnimplementedAbility

type UnimplementedAbility struct{}

Unimplmented

func (*UnimplementedAbility) Execute

func (u *UnimplementedAbility) Execute(castingCard *Card, playerBoard *PlayerBoard, defendingBoard *PlayerBoard)

func (*UnimplementedAbility) SetLevel

func (u *UnimplementedAbility) SetLevel(level int)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL