diff --git a/examples/sokoban/sokoban.v b/examples/sokoban/sokoban.v index 6320de6cec..ab4435531f 100644 --- a/examples/sokoban/sokoban.v +++ b/examples/sokoban/sokoban.v @@ -89,6 +89,7 @@ fn (mut g Game) parse_level(lnumber int) ! { g.player = player g.boxes = boxes g.moves = 0 + g.pushes = 0 g.win = false } @@ -246,8 +247,8 @@ fn (mut g Game) iid(name string) !int { fn main() { mut g := &Game{} - all_level_names := asset.read_bytes('/', '_all_levels.txt')!.bytestr().split_into_lines() - g.levels = all_level_names.map(asset.read_bytes('/', it)!.bytestr()) + all_level_names := asset.read_text('/', '_all_levels.txt')!.split_into_lines() + g.levels = all_level_names.map(asset.read_text('/', it)!) g.parse_level(0)! g.ctx = gg.new_context( width: 800 diff --git a/vlib/os/asset/asset.v b/vlib/os/asset/asset.v index 4f21f8a760..8703e0d006 100644 --- a/vlib/os/asset/asset.v +++ b/vlib/os/asset/asset.v @@ -25,3 +25,10 @@ pub fn read_bytes(base_folder string, relative_path string) ![]u8 { return os.read_bytes(get_path(base_folder, relative_path)) } } + +// read_text will return the full content of the given asset as a string. +// See also read_bytes. +pub fn read_text(base_folder string, relative_path string) !string { + res := read_bytes(base_folder, relative_path)! + return res.bytestr() +}