func example() { if first { first = false for y := 0; y < height; y++ { for x := 0; x < width; x++ { if tmap[y][x] == '#' { pmap.Block(x, y, true) } } } movePlayer(23, 9) } if rog.Mouse().Left.Released { limit := image.Rect(0, 0, 40, 20) target := image.Pt(rog.Mouse().Cell.X, rog.Mouse().Cell.Y) path = rog.Path(level, limit, image.Pt(x, y), target) } switch rog.Key() { case 'k': movePlayer(x, y-1) case 'j': movePlayer(x, y+1) case 'h': movePlayer(x-1, y) case 'l': movePlayer(x+1, y) case rog.Esc: rog.Close() } for cy := 0; cy < pmap.Height(); cy++ { for cx := 0; cx < pmap.Width(); cx++ { rog.Set(cx, cy, nil, rog.Black, " ") if pmap.Look(cx, cy) { i := intensity(x, y, cx, cy, 20) if tmap[cy][cx] == '#' { rog.Set(cx, cy, nil, wall.Scale(i), "") } else { rog.Set(cx, cy, rog.Scale(1.5), floorc.Scale(i), "✵") } } } } rog.Set(x, y, lgrey, nil, "웃") for _, p := range path { if p.X != x || p.Y != y { rog.Set(p.X, p.Y, lgrey, nil, "*") } } runtime.ReadMemStats(&stats) rog.Fill(0, 0, rog.Width(), 1, lgrey, rog.Dodge(dgrey), ' ') rog.Set(0, 0, nil, nil, "%vFPS %vMB %vGC %vGR", rog.Fps(), stats.HeapAlloc/1000000, stats.NumGC, runtime.NumGoroutine()) rog.Fill(0, height-1, rog.Width(), 1, lgrey, rog.Dodge(dgrey), ' ') rog.Set(0, height-1, nil, nil, "Pos: %v %v Cell: %v %v", rog.Mouse().Pos.X, rog.Mouse().Pos.Y, rog.Mouse().Cell.X, rog.Mouse().Cell.Y) }
func example() { if first { first = false for y := 0; y < height; y++ { for x := 0; x < width; x++ { if tmap[y][x] == '#' { pmap.Block(x, y, true) } } } movePlayer(27, 16) } if rog.Mouse.Left.Released { path = pmap.Path(x, y, rog.Mouse.Cell.X, rog.Mouse.Cell.Y) } switch rog.Key { case rog.K: movePlayer(x, y-1) case rog.J: movePlayer(x, y+1) case rog.H: movePlayer(x-1, y) case rog.L: movePlayer(x+1, y) case rog.P: rog.Screenshot("test") case rog.Escape: rog.Close() } for cy := 0; cy < pmap.Height(); cy++ { for cx := 0; cx < pmap.Width(); cx++ { rog.Set(cx, cy, nil, black, " ") if pmap.Look(cx, cy) { i := intensity(x, y, cx, cy, 20) if tmap[cy][cx] == '#' { rog.Set(cx, cy, nil, wall.Scale(i), "") } else { rog.Set(cx, cy, rog.Scale(1.5), floorc.Scale(i), "✵") } } } } rog.Set(x, y, lgrey, nil, "웃") for _, p := range path { if p.X != x || p.Y != y { rog.Set(p.X, p.Y, lgrey, nil, "*") } } runtime.ReadMemStats(&stats) rog.Fill(0, 0, rog.Width(), 1, lgrey, rog.Dodge(dgrey), ' ') rog.Set(0, 0, nil, nil, "%vFPS %vMB %vGC %vGR", rog.Fps(), stats.HeapAlloc/1000000, stats.NumGC, runtime.NumGoroutine()) rog.Fill(0, 31, rog.Width(), 1, lgrey, rog.Dodge(dgrey), ' ') rog.Set(0, 31, nil, nil, "Pos: %v %v Cell: %v %v", rog.Mouse.Pos.X, rog.Mouse.Pos.Y, rog.Mouse.Cell.X, rog.Mouse.Cell.Y) }
func main() { rog.Open(width, height+2, 1, false, "Perlin-noise Test", nil) for rog.Running() { render() rog.Set(0, height+1, nil, nil, "%v", rog.Fps()) if rog.Key() == rog.Esc { rog.Close() } rog.Flush() } }
func main() { rog.Open(width, height+2, 1, false, "tcod true color", nil) for rog.Running() { render() rog.Set(0, height+1, nil, nil, "%v", rog.Fps()) if rog.Key() == rog.Esc { rog.Close() } rog.Flush() } }
func main() { rog.Open(20, 10, 2, false, "scales", nil) rog.Set(0, 3, rog.Burn(rog.Grey), drainbow, " Discrete Scale ") rog.Set(0, 6, rog.Burn(rog.Grey), lrainbow, " Linear Scale ") for rog.Running() { rog.Set(0, 9, nil, nil, "%v", rog.Fps()) if rog.Key() == rog.Esc { rog.Close() } rog.Flush() } }