s3Eva_IT2014_T3 Juego Poli-Mancala

Ejercicios: 3Eva_IT2014_T3 Juego Poli-Mancala

Propuesta de solución en Python:

El tema pide realizar el programa usando la función siembra del tema 4. Por lo que la función se califica aparte.

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 3Eva_IT2014_T3 Juego Poli-Mancala
import numpy as np

# funcion siembra del tema 4
def siembra(mancala,jugador,casilla):
    tamano = np.shape(mancala)
    m = tamano[1]
    fila = jugador
    # Selecciona el movimiento del contador
    if (fila == 0):
        mueve = 1
    else:
        mueve = -1

    # Recoge las fichas
    fichas = mancala[fila,casilla]
    mancala[fila,casilla] = 0
    
    # inicia la siembra
    while not(fichas==0):
        casilla = casilla + mueve
        if (casilla>=m):
            casilla = m-1
            fila = 1
            mueve = -1 
        if (casilla<0):
            casilla = 0
            fila = 0
            mueve = 1
        mancala[fila,casilla] = mancala[fila,casilla]+1
        fichas = fichas-1

    return(mancala)

# PROGRAMA PARA EL JUEGO ---------------
# inicializa tablero
mancala = np.ones(shape=(2,8),dtype=int)
mancala = mancala*4
mancala[:,0] = 0
mancala[:,7] = 0
casa1 = 0
casa2 = 0
print('  1 2 3 4 5 6 7 8')
print(mancala)

while not(casa1>24 or casa2>24):
    
    jugador = 1
    print(' Juega 1')
    casilla = input('¿Cual casilla?:')
    while not(casilla>'1' and casilla<'8'):
        casilla = input('¿Cual casilla?:')
    mancala = siembra(mancala,jugador-1, int(casilla)-1)
    print('  1 2 3 4 5 6 7 8')
    print(mancala)

    jugador = 2
    print(' Juega 2')
    casilla = input('¿Cual casilla?:')
    while not(casilla>'1' and casilla<'8'):
        casilla = input('¿Cual casilla?:')
    mancala = siembra(mancala,jugador-1, int(casilla)-1)
    casa1 = mancala[0,0]+mancala[1,0]
    casa2 = mancala[0,7]+mancala[1,7]
    print('  1 2 3 4 5 6 7 8')
    print(mancala)

# Muestra ganadores
if (casa1>casa2):
    print(' Gana Jugador 1')
else:
    print(' Gana Jugador 2')