# scenarios.py

#---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

from pieces import *
from board  import Board

#---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

class Normal(Board):

	SizeX = 7
	SizeY = 7

	Order = [ 5,2,6,3,8,10,9,12,11,4,8,10,9,4,5,6,3,11 ]

	Lands = Sheep*4 + Trees*4 + Wheat*4 + Brick*3 + Rocks*3 + Desert*1
	Ports = p3any*4 + [ p2sheep, p2trees, p2brick, p2rocks, p2wheat ]

	L_Hex = [ ( 5, 5),( 7, 4),( 9, 3),(10, 4),(11, 5),(10, 7),( 9, 9),
		  ( 7,10),( 5,11),( 4,10),( 3, 9),( 4, 7),( 6, 6),( 8, 5),
		  ( 9, 6),( 8, 8),( 6, 9),( 5, 8),( 7, 7) ]

	W_Hex = [ ( 4, 4),( 3, 6),( 2, 8),( 1,10),( 2,11),( 3,12),( 4,13),
		  ( 6,12),( 8,11),(10,10),(11, 8),(12, 6),(13, 4),(12, 3),
		  (11, 2),(10, 1),( 8, 2),( 6, 3) ]

	T_Hex = (4,4)
	C_Hex = (7.0,7.0)

#---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

class Expansion(Board):

	SizeX = 8
	SizeY = 8

	Order = [ 2,5,4,6,3,9,8,11,11,10,6,3,8,4,
		  8,10,11,12,10,5,4,9,5,9,12,3,2,6 ]

	Lands = Sheep*6 + Trees*6 + Wheat*6 + Brick*5 + Rocks*5 + Desert*2
	Ports = p3any*6 + [ p2sheep, p2trees, p2brick, p2rocks, p2wheat ]

	L_Hex = [ ( 5, 5),( 7, 4),( 9, 3),(10, 4),(11, 5),(12, 6),(11, 8),
		  (10,10),( 9,12),( 7,13),( 5,14),( 4,13),( 3,12),( 2,11),
		  ( 3, 9),( 4, 7),( 6, 6),( 8, 5),( 9, 6),(10, 7),( 9, 9),
		  ( 8,11),( 6,12),( 5,11),( 4,10),( 5, 8),( 7, 7),( 8, 8),
		  ( 7,10),( 6, 9) ]

	W_Hex = [ ( 4, 4),( 3, 6),( 2, 8),( 1,10),( 0,12),( 1,13),( 2,14),
		  ( 3,15),( 4,16),( 6,15),( 8,14),(10,13),(11,11),(12, 9),
		  (13, 7),(14, 5),(13, 4),(12, 3),(11, 2),(10, 1),( 8, 2),
		  ( 6, 3) ]

	T_Hex = (4,4)
	C_Hex = (8.5,7.0)

#---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

class BigIsland(Board):

	SizeX = 9
	SizeY = 9

	Order = [ 6,2,10,5,3,4,9,12,11,8,10,6,3,8,4,5,9,11,
		  5,2,6,3,8,10,9,12,11,4,8,10,9,4,5,6,3,11 ]

	Lands = Sheep*8 + Trees*8 + Wheat*8 + Brick*6 + Rocks*6 + Desert*1
	Ports = p3any*7 + [ p2sheep, p2trees, p2brick, p2rocks, p2wheat ]

	L_Hex = [ ( 6, 6),( 8, 5),(10, 4),(12, 3),(13, 4),(14, 5),(15, 6),
		  (14, 8),(13,10),(12,12),(10,13),( 8,14),( 6,15),( 5,14),
		  ( 4,13),( 3,12),( 4,10),( 5, 8),( 7, 7),( 9, 6),(11, 5),
		  (12, 6),(13, 7),(12, 9),(11,11),( 9,12),( 7,13),( 6,12),
		  ( 5,11),( 6, 9),( 8, 8),(10, 7),(11, 8),(10,10),( 8,11),
		  ( 7,10),( 9, 9) ]

	W_Hex = [ ( 5, 5),( 4, 7),( 3, 9),( 2,11),( 1,13),( 2,14),( 3,15),
		  ( 4,16),( 5,17),( 7,16),( 9,15),(11,14),(13,13),(14,11),
		  (15, 9),(16, 7),(17, 5),(16, 4),(15, 3),(14, 2),(13, 1),
		  (11, 2),( 9, 3),( 7, 4) ]

	T_Hex = (5,5)
	C_Hex = (9.0,9.0)

#---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

if __name__ == "__main__":

	from ascii import ASCII
	l = ASCII()
	b = Normal( l )
	b.draw()
