123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import pygame
- import argparse
- import time
- from os.path import exists
- from pygame.locals import QUIT
- from interface import Interface
- from board import Board
- from player import Player
- from blob.main import Blob_Manager
- def main():
- parser = argparse.ArgumentParser()
- parser.add_argument('--height', type=int, default=120,
- help='Board height resolution (default = 120)')
- parser.add_argument('--width', type=int, default=300,
- help='Board width resolution (default = 300)')
- parser.add_argument('--scale', type=int, default=4,
- help='Scaling from board resolution to window resolution (default = x10)')
- parser.add_argument('--init_from', type=str, default='2019-04-05_13.40.35',
- help='Initialize game from a save. Pass the filename in saved dir without extension.')
- parser.add_argument('--save_dir', type=str, default="saved/",
- help='Directory where saves are stored.')
- args = parser.parse_args()
- if args.init_from is not None:
- init_scouters = 0
- else:
- init_scouters = 3
- board = Board(args.width, args.height)
- blob = Blob_Manager(board, init_scouters)
- player = Player(board, blob)
- if args.init_from is not None:
- assert exists(args.save_dir + args.init_from + ".board") \
- and exists(args.save_dir + args.init_from + ".blob") \
- and exists(args.save_dir + args.init_from + ".player")
- board.load(open(args.save_dir + args.init_from + ".board", 'r'))
- blob.load(open(args.save_dir + args.init_from + ".blob", 'r'))
- player.load(open(args.save_dir + args.init_from + ".player", 'r'))
- gui = Interface(board, player, blob, args.scale, args.save_dir)
- init_counter = 100
- timer = time.time()
- chrono = 0
- counter = init_counter
- ended = False
- while not ended:
- if gui.play or gui.do_step:
- blob.move()
- board.next_turn()
- gui.do_step = False
- gui.draw()
- pygame.time.wait(10)
- for event in pygame.event.get():
- if event.type == QUIT:
- ended = True
- else:
- gui.event_listener(event)
- chrono += time.time() - timer
- counter -= 1
- timer = time.time()
- if counter == 0:
- print("Loop mean time :", chrono, "seconds over", init_counter, "iterations.")
- counter = init_counter
- chrono = 0
- if __name__ == "__main__":
- main()
|