blob: c0cddc2c1e770995ab396016d6ac15d8e632e632 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
package main
import "time"
// Config defines the meta config
type Config struct {
// Arch defines the architecture the battle should run in
Arch string
// Bits defines the bitness
Bits int
// Memsize defines the arena size
Memsize int
// MaxProgSize defines the maximal bot size
MaxProgSize int
// Bots defines a list of bots to take part in the battle
Bots []Bot
// AmountOfBots defines the amount of bots taking part in the tournament
AmountOfBots int
// RandomOffsets defines the offset in memory where the bots should be placed
RandomOffsets []int
// GameRoundTime defines the length of a gameround
GameRoundDuration time.Duration
}
// Bot defines a bot
type Bot struct {
// Path defines the path to the source of the bot
Path string
// Source defines the source of the bot after being compiled with rasm2
Source string
// Addr defines the initial address the bot is placed at
Addr int
// Regs defines the state of the registers of the bot
// It is used to store the registers after each round and restore them in the
// next round when the bot's turn has come
Regs string
}
|