import argparse
import cairocffi as cairo
from rpgmap.gridmap import GridMap
__version__ = '0.1.0'
def draw_compass(context, x, y, scale, rotation):
context.move_to(x-25*scale, scale*50+y)
context.line_to(x+25*scale, scale*50+y)
context.stroke()
context.rectangle(100,100,500,500)
context.set_line_width(14)
context.stroke()
context.set_line_width(3)
context.set_source_rgb(1,1,1)
context.rectangle(200,200,600,600)
context.fill()
def draw_square_grid(context, length, separation):
max_ind = length // separation
context.set_line_width(1)
for i in range(max_ind):
context.move_to(0, i*separation+0.5)
context.line_to(length, i*separation+0.5)
context.stroke()
context.move_to(i*separation+0.5, 0)
context.line_to(i*separation+0.5, length)
context.stroke()
def draw_solid_background(context):
context.paint()
def main():
parser = argparse.ArgumentParser()
parser.add_argument('outfile', help='File to write output to')
parser.add_argument('-V', '--version', action='version', version=__version__)
parser.add_argument('-v', '--verbose', action='store_true')
parser.add_argument('-m', '--map-type', help='Type of map')
parser.add_argument('-x', '--xlimit', type=int, default=50)
parser.add_argument('-y', '--ylimit', type=int, default=50)
args = parser.parse_args()
x = args.xlimit
y = args.ylimit
genmap = GridMap(x, y)
genmap.generate_cave(4, 51)
genmap.placeEntrance(x//2, y//2)
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, x*70, y*70)
context = cairo.Context(surface)
context.set_source_rgb(0.3, 0.3, 0.3)
draw_solid_background(context)
genmap.draw(context, 70)
surface.write_to_png(args.outfile)
if __name__ == '__main__':
main()