@ -6,6 +6,7 @@ import (
"lcthw.dev/go/ttarpit/builder"
. "lcthw.dev/go/ttarpit/debug"
"time"
"fmt"
)
type Game struct {
@ -16,6 +17,7 @@ type Game struct {
StartTime time . Time
EndTime time . Time
ErrorLog [ ] data . ErrInfo
ErrorsSeen map [ string ] int
}
func New ( settings config . Config ) * Game {
@ -31,16 +33,27 @@ func New(settings config.Config) *Game {
}
game . EndTime = time . Now ( ) . Add ( time_out )
game . ErrorsSeen = make ( map [ string ] int , 10 )
return game
}
func ( game * Game ) ClearLog ( ) {
clear ( game . ErrorsSeen )
game . ErrorLog = game . ErrorLog [ : 0 ]
}
func ( game * Game ) SeenError ( errinfo data . ErrInfo ) int {
key := fmt . Sprintf ( "%s:%d" , errinfo . File , errinfo . Line )
game . ErrorsSeen [ key ] ++
return game . ErrorsSeen [ key ]
}
func ( game * Game ) TakeHit ( build * builder . Builder , errinfo data . ErrInfo ) {
Log . Println ( "!!!!!!!!!!!!!!!!!" , errinfo )
if game . SeenError ( errinfo ) > 1 {
return
}
game . Errors ++
game . HP --