Logo Lanfrica
  • Accueil
  • Atlas
  • Analyses
  • Documentation
  • Sign in

© 2026 Lanfrica. Tous droits réservés. Tous les droits d'auteur des ressources affichées sur le site Web Lanfrica appartiennent aux détenteurs de droits d'auteur d'origine, sauf indication contraire explicite.

karthikjayant/Game-Playing-Agent-for-Fanorona-Game

Créateur:
kar
Hôte:
This project develops an AI agent for the Malagasy board game Fanorona-Tsivy using a table-driven approach and Minimax algorithm, focusing on strategic gameplay and effective decision-making. # Game-Playing-Agent-for-Fanorona-Game This project focuses on developing an AI agent for the traditional Malagasy board game Fanorona-Tsivy. Fanorona, a popular strategy game in Madagascar, involves capturing all the opponent's pieces on a 5x9 board. The AI agent utilizes two primary methodologies: a table-driven approach and the Minimax algorithm. # Problem Statement: The objective of this project is to create an intelligent agent capable of playing Fanorona-Tsivy strategically against human opponents. The AI should demonstrate proficiency in decision-making, evaluated based on its effectiveness and efficiency. The project details the implementation and results of both approaches. Additionally, a Python application is designed for playing the game. # Methodology: ## Table-Driven Approach: The table-driven approach simplifies decision-making by using a pre-defined table that maps specific percepts (observations or states) to corresponding actions. This approach is particularly useful for scenarios with a limited and well-defined set of percepts and actions. ### Percepts: * Can Move (Percept 1): Identifies pieces that can move in the current state, checked by the get_pieces_that_have_free_space_around() function. * Can Attack (Percept 2): Determines if any movable pieces can make an attacking move using the check_if_pieces_that_can_move_can_attack() function. * Can Make Both Types of Attacks (Percept 3): Evaluated within the get_possible_moves_for_piece() function, determining possible moves including different attack types. * Chance for Another Attack from New Position (Percept 4): Checked by the check_if_more_moves() function, which verifies if the moved piece has additional attacking options from its new position. ### Actions: * Make an Attacking Move: Executed by the select_random_attack_move() function when attacking options are available. * Make an Available Move: Implemented in the select_random_move() function when no attacking options are avail …

Visit

github.com

Languages

MalagasyMalagasy, Merina