Minimax Algorithm AI score ideas for a game called “Martian Chess” [closed]











up vote
0
down vote

favorite












I have to make an AI using Minimax algorithm for a game called Martian Chess in Java, and I'm a little bit lost about what leads to advantages in this game and what should I base my scoring system on for the different moves. I would be happy to receive any ideas!










share|improve this question













closed as too broad by Dukeling, Joe C, GBlodgett, Jacob G., AdrianHHH Nov 10 at 23:26


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.















  • You could take a greedy approach. Assign each piece a value and maximize the amount of value on each turn by taking a piece of the highest value from your opponent
    – Mitchel Paulin
    Nov 10 at 22:20










  • Questions asking for people's opinions are off-topic on this site, unfortunately.
    – Joe C
    Nov 10 at 22:29















up vote
0
down vote

favorite












I have to make an AI using Minimax algorithm for a game called Martian Chess in Java, and I'm a little bit lost about what leads to advantages in this game and what should I base my scoring system on for the different moves. I would be happy to receive any ideas!










share|improve this question













closed as too broad by Dukeling, Joe C, GBlodgett, Jacob G., AdrianHHH Nov 10 at 23:26


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.















  • You could take a greedy approach. Assign each piece a value and maximize the amount of value on each turn by taking a piece of the highest value from your opponent
    – Mitchel Paulin
    Nov 10 at 22:20










  • Questions asking for people's opinions are off-topic on this site, unfortunately.
    – Joe C
    Nov 10 at 22:29













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I have to make an AI using Minimax algorithm for a game called Martian Chess in Java, and I'm a little bit lost about what leads to advantages in this game and what should I base my scoring system on for the different moves. I would be happy to receive any ideas!










share|improve this question













I have to make an AI using Minimax algorithm for a game called Martian Chess in Java, and I'm a little bit lost about what leads to advantages in this game and what should I base my scoring system on for the different moves. I would be happy to receive any ideas!







java algorithm logic artificial-intelligence minimax






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 10 at 22:11









Zoltán Biacsi

11




11




closed as too broad by Dukeling, Joe C, GBlodgett, Jacob G., AdrianHHH Nov 10 at 23:26


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.






closed as too broad by Dukeling, Joe C, GBlodgett, Jacob G., AdrianHHH Nov 10 at 23:26


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.














  • You could take a greedy approach. Assign each piece a value and maximize the amount of value on each turn by taking a piece of the highest value from your opponent
    – Mitchel Paulin
    Nov 10 at 22:20










  • Questions asking for people's opinions are off-topic on this site, unfortunately.
    – Joe C
    Nov 10 at 22:29


















  • You could take a greedy approach. Assign each piece a value and maximize the amount of value on each turn by taking a piece of the highest value from your opponent
    – Mitchel Paulin
    Nov 10 at 22:20










  • Questions asking for people's opinions are off-topic on this site, unfortunately.
    – Joe C
    Nov 10 at 22:29
















You could take a greedy approach. Assign each piece a value and maximize the amount of value on each turn by taking a piece of the highest value from your opponent
– Mitchel Paulin
Nov 10 at 22:20




You could take a greedy approach. Assign each piece a value and maximize the amount of value on each turn by taking a piece of the highest value from your opponent
– Mitchel Paulin
Nov 10 at 22:20












Questions asking for people's opinions are off-topic on this site, unfortunately.
– Joe C
Nov 10 at 22:29




Questions asking for people's opinions are off-topic on this site, unfortunately.
– Joe C
Nov 10 at 22:29












1 Answer
1






active

oldest

votes

















up vote
0
down vote













First time I heard about this game so forgive me if I'm mistaken, but it seems like you simply get more points for capturing bigger pieces – and whoever gets the most points wins.



Let's assume you have a class for each kind of piece, I'm just going to call them Pawn, Drone and Queen as I see them called on the wikipedia.



Suppose each have a getVal() that returns 1, 2 and 3 respectively. And that you have a method boardEvaluation() somewhere that uses the getVal() of each element on the board to calculate the score of the board. Let's assume there's only two players at first. Then let a positive score mean that the board favors player one, and a negative score that the board favors player two. How can you do that?



Your goal is to somehow anticipate a move (perhaps by simply going through all possible moves?) and for this move (or each of these moves) find the corresponding board-evaluation. This would be if your scope was only one. But you could anticipate yet another move for all possible moves, to achieve scope 2. And so on. Maybe you could even reach your win-condition (player one has the least amount of points (score is positive an amount such that) player two can never win.), or lose-condition in a similar sense?






share|improve this answer




























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    0
    down vote













    First time I heard about this game so forgive me if I'm mistaken, but it seems like you simply get more points for capturing bigger pieces – and whoever gets the most points wins.



    Let's assume you have a class for each kind of piece, I'm just going to call them Pawn, Drone and Queen as I see them called on the wikipedia.



    Suppose each have a getVal() that returns 1, 2 and 3 respectively. And that you have a method boardEvaluation() somewhere that uses the getVal() of each element on the board to calculate the score of the board. Let's assume there's only two players at first. Then let a positive score mean that the board favors player one, and a negative score that the board favors player two. How can you do that?



    Your goal is to somehow anticipate a move (perhaps by simply going through all possible moves?) and for this move (or each of these moves) find the corresponding board-evaluation. This would be if your scope was only one. But you could anticipate yet another move for all possible moves, to achieve scope 2. And so on. Maybe you could even reach your win-condition (player one has the least amount of points (score is positive an amount such that) player two can never win.), or lose-condition in a similar sense?






    share|improve this answer

























      up vote
      0
      down vote













      First time I heard about this game so forgive me if I'm mistaken, but it seems like you simply get more points for capturing bigger pieces – and whoever gets the most points wins.



      Let's assume you have a class for each kind of piece, I'm just going to call them Pawn, Drone and Queen as I see them called on the wikipedia.



      Suppose each have a getVal() that returns 1, 2 and 3 respectively. And that you have a method boardEvaluation() somewhere that uses the getVal() of each element on the board to calculate the score of the board. Let's assume there's only two players at first. Then let a positive score mean that the board favors player one, and a negative score that the board favors player two. How can you do that?



      Your goal is to somehow anticipate a move (perhaps by simply going through all possible moves?) and for this move (or each of these moves) find the corresponding board-evaluation. This would be if your scope was only one. But you could anticipate yet another move for all possible moves, to achieve scope 2. And so on. Maybe you could even reach your win-condition (player one has the least amount of points (score is positive an amount such that) player two can never win.), or lose-condition in a similar sense?






      share|improve this answer























        up vote
        0
        down vote










        up vote
        0
        down vote









        First time I heard about this game so forgive me if I'm mistaken, but it seems like you simply get more points for capturing bigger pieces – and whoever gets the most points wins.



        Let's assume you have a class for each kind of piece, I'm just going to call them Pawn, Drone and Queen as I see them called on the wikipedia.



        Suppose each have a getVal() that returns 1, 2 and 3 respectively. And that you have a method boardEvaluation() somewhere that uses the getVal() of each element on the board to calculate the score of the board. Let's assume there's only two players at first. Then let a positive score mean that the board favors player one, and a negative score that the board favors player two. How can you do that?



        Your goal is to somehow anticipate a move (perhaps by simply going through all possible moves?) and for this move (or each of these moves) find the corresponding board-evaluation. This would be if your scope was only one. But you could anticipate yet another move for all possible moves, to achieve scope 2. And so on. Maybe you could even reach your win-condition (player one has the least amount of points (score is positive an amount such that) player two can never win.), or lose-condition in a similar sense?






        share|improve this answer












        First time I heard about this game so forgive me if I'm mistaken, but it seems like you simply get more points for capturing bigger pieces – and whoever gets the most points wins.



        Let's assume you have a class for each kind of piece, I'm just going to call them Pawn, Drone and Queen as I see them called on the wikipedia.



        Suppose each have a getVal() that returns 1, 2 and 3 respectively. And that you have a method boardEvaluation() somewhere that uses the getVal() of each element on the board to calculate the score of the board. Let's assume there's only two players at first. Then let a positive score mean that the board favors player one, and a negative score that the board favors player two. How can you do that?



        Your goal is to somehow anticipate a move (perhaps by simply going through all possible moves?) and for this move (or each of these moves) find the corresponding board-evaluation. This would be if your scope was only one. But you could anticipate yet another move for all possible moves, to achieve scope 2. And so on. Maybe you could even reach your win-condition (player one has the least amount of points (score is positive an amount such that) player two can never win.), or lose-condition in a similar sense?







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 10 at 22:35









        RoyM

        746




        746















            Popular posts from this blog

            List item for chat from Array inside array React Native

            Thiostrepton

            Caerphilly