A86: Re: Assembly-86 Digest V1 #248


[Prev][Next][Index][Thread]

A86: Re: Assembly-86 Digest V1 #248



>I had thought of either using Random #s one the best solutions are 
>found,  or
>contolling how many moves ahead it conciders.


	This is a good idea.
	How about making each of the opponents pieces have a certain
value that it assigns, and whoever has the highest value will get
attacked. So, you could assign each with a beginning value (king-5,
queen-4, rook,bishop-3, knight-2, pawn-1, or whatever you want.) Then you
could add a value for whatever the situation is. If the knight is close
to one of your high-valued pieces, it's value goes up +(your pieces
value). Of course, if your king is in attack you will have to protect it
and if you are able to put them in check mate then do it.
	Now, throw in the random #s. Say you end up with two of their
pieces having a value of 7, and all the others are lower than that, and
your king is not in attack and you can't put theirs in checkmate;
randomly choose which of those to attack.
	In controlling how many moves ahead to concider, you could make
it look at each possibility of each piece for the next 2 turns, or
something rather small like that.  But if you do that, and they move one
of their pieces, it may change the value for the one you moved while
looking ahead, so this may not be a very good idea. Instead, I would
recommend either a) moving a pawn to a position that it cannot be
attacked by, or b) moving one of your pieces closer to attacking thier
king.
	Overall, this would be a very offensive strategy, but also
effective and not a massive program.
	I think that it would be easier to write a program for "Army
Chess" first, where the goal is to get rid of EVERY one of the opponent's
pieces, not just the king. This would change the value system, and make
it much easier, just attack whoever you can...If you do finish this game,
it would be nice to have this as an option.
	Next, it would be difficult to check to see if there has been a
draw. If they move into a position where you cannot move anywhere but
into checkmate, do you lose? The program's logic should be set up to
completely avoid this, but if so, it would be "thinking" forever....
	How do you plan to deal with the pawns if they reach the first
row in the opponent's area? Will a player get to pick which piece to
gain? That would be real cool, to have a picture of all the pieces they
have lost and a little arrow or something at the bottom that they can
move to each picture...
	Finally, when the pieces move, it would be neat to see a little
animation.

Good luck on the program. I hope this helps...


References: