blonduck
I can probably be a bit of help here, as my Board Horde game contains pretty much all the elements that you mentioned (link to the game can be found in this forum entry-http://www.scirra.com/forum/topic65322.html)
Firstly, as Arima mentions it is a tricky thing to approach for your first game due to the lack of tutorials, and also the lack of Board Game style Behaviours etc (though there are some useful third party plug ins, I opted to do everything myself so I would learn more). Since Board Horde is my first ever game and I've only been using C2 since December, it is doable if you're patient enough.
Things I'd advise getting to grips with are: Variables (which you will use for a lot of the commands within the game), Families (useful for grouping units together when the same conditions apply to all of the units), functions (I didn't discover these until several months into my project, and could've halved the amount of events I was using and the time it took to make the game if I'd been using them from the offset) and Groups (I also use arrays to create my boards, and store direction changes for when the heroes hit the corners, though this isn't essential).
Using groups is very handy for a turn based game, as it allows you to disable events you're not using and organise everything methodically (basically, as you open one door, you close another behind you) So for example, in my game once Player Ones turn has ended it opens the group Player Two and closes the group Player One behind it. Then it opens the group 'Dice Roll'. Once the dice has been rolled, it opens the group 'Collision Detection Movement' and closes 'Dice Roll'. Once the Collision Detection Movement orders have been carried out it opens the group 'Collision Detection Consequences' whilst closing the previous group...and this continues up until the End Turn group, when the next players group is opened.
With regards to a.i., how tricky this is to pull off with depend on the complexity of your board game. For mine it mostly involved replacing touch commands with variables. So instead of waiting for a touch command to roll the dice, it would check to see if the a.i. Boolean= true, and then roll the dice. When it comes to the a.i.s intelligence, to start with I created a V.I routine (as it operates with all the intelligence and reasoning of a Village Idiot) which basically operated like this: if more than one a.i. piece is on the board, randomly choose one and move them. You can see this in action on the Newgrounds Touchjam version of the game here: http://www.newgrounds.com/portal/view/616297
As you'll notice in the comments, the main gripe people had with it was the easy ai (as it blunders around the board, and dies lots). The updated a.i. Which can be viewed in action in the link on my c2 forum entry works a lot better, as I created a routine that runs in order of importance. Eg, is hero stood on the Entrance square? If so, move (as its a dangerous place to be). Next: if hero moves will he land on an opponent? If so, move. Next: is hero further ahead than all others on his team, and if he moves will he land in a free space? If so move. Etc, etc.
When the a.i. has selected something that meets the highest priority condition, it changes a variable to Hero Selected=1, and all other a.i. checks that come after are ignored.
Anyway, I'm probably taking up about 18 billion pages with my waffle so I'll stop now. If you have questions about any element of my board game then just ask (though bare in mind I'm learning as I go, so the way that I'm doing things is not necessarily the best way).