Newswire
Features
Connection
Job Search
Directories

by Mark Brockington
Gamasutra
June 27, 2000

Printer Friendly Version
   
Discuss this Article

Features

Pawn Captures Wyvern: How Computer Chess Can Improve Your Pathfinding

Listing 1. The Code For The Minimax Algorithm

int Maximize(position p) {

    int numOfSuccessors;    /* total moves */
    int gamma;          /* current maximum */
    int i;                 /* move counter */
    int sc;    /* score returned by search */

    if (EndOfGame(p)) { return GameValue(p)); }
    gamma = -4;
    numOfSuccessors = GenerateSuccessors(p);
    for (i=1; i <= numOfSuccessors; i++) {
        sc = Minimize(p.succ[i]);
        gamma = max(gamma, sc);
    }
    return (gamma);
}

int Minimize(position p) {

    int numOfSuccessors;    /* total moves */
    int gamma;          /* current maximum */
    int i;                 /* move counter */
    int sc;    /* score returned by search */

    if (EndOfGame(p)) { return GameValue(p)); }
    gamma = +4;
    numOfSuccessors = GenerateSuccessors(p);
    for (i=1; i <= numOfSuccessors; i++) {
        sc = Maximize(p.succ[i]);
        gamma = min(gamma, sc);
    }
    return (gamma);
}
________________________________________________________

Back to Article

Home   JoinHelpContact UsShop
 


Home | Join | Help | Contact Us | Shop | Newswire | Site Map
Write for Us | Features | Connection | Job Search | Directories


Copyright © 1999-2000 Miller Freeman Inc. All rights reserved.
Privacy Policy

Miller Freeman Game Group: GDC, GDMag, IGF Independent Games Festival Game Developer Magazine Game Developers Conference