MOCHET [7] 
19.07.2018 05:31
 0просмотров 3 0

cooldown-simulation.py

v1.0.1

import sys
import random

pool = range(102)
cooldown = []
player1 = []
player2 = []

COOLDOWN_VALUE = 45+1
POSITIONS = range(6)

def give_card(arr):
    c = random.choice(arr)
    p = arr.index(c)
    c = arr.pop(i)
    return arr, c

def cooldown_handler(c):
    global pool
    if c != -1:
        cooldown.append(c)
    if len(cooldown) == COOLDOWN_VALUE:
        _c = cooldown.pop(0)
        pool.append(_c)
    i = random.randint(0, len(pool)-1)
    _c = pool.pop(i)
    return _c

for i in range(6):
    c = cooldown_handler(-1)
    player1.append(c)
    c = cooldown_handler(-1)
    player2.append(c)

last_player = "b"

for turn in range(1, 2502):
    c_new = -1
    c_out = -1
    cards_new = ""
    cards_old = ""
    pos = -1
    action = "turn"
    if last_player == "b":
        cards_old = "-".join(map(str, player1))
        i = random.choice(POSITIONS)
        pos = i
        c_out = player1[ i ]
        c_new = cooldown_handler(c_out)
        player1[ i ] = c_new
        cards_new = "-".join(map(str, player1))
    else:
        cards_old = "-".join(map(str, player2))
        i = random.choice(POSITIONS)
        pos = i
        c_out = player2[ i ]
        c_new = cooldown_handler(c_out)
        player2[ i ] = c_new
        cards_new = "-".join(map(str, player2))
    print ",".join(map(str, [turn, c_out, c_new, pos, action, cards_old, cards_new, last_player]))
    if last_player == "b":
        last_player = "c"
    else:
        last_player = "b"



v1.0.0

import sys
import random

pool = range(102)
cooldown = []
player1 = []
player2 = []

COOLDOWN_VALUE = 45
POSITIONS = range(6)

def give_card(arr):
    c = random.choice(arr)
    p = arr.index(c)
    c = arr.pop(i)
    return arr, c

def cooldown_handler(c):
    global pool
    if c != -1:
        cooldown.append(c)
    if len(cooldown) == COOLDOWN_VALUE:
        _c = cooldown.pop(0)
        pool.append(_c)
    i = random.randint(0, len(pool)-1)
    _c = pool.pop(i)
    return _c

for i in range(6):
    c = cooldown_handler(-1)
    player1.append(c)
    c = cooldown_handler(-1)
    player2.append(c)

last_player = "b"

for turn in range(1, 2502):
    c_new = -1
    c_out = -1
    cards_new = ""
    cards_old = ""
    pos = -1
    action = "turn"
    if last_player == "b":
        last_player = "c"
        cards_old = "-".join(map(str, player1))
        i = random.choice(POSITIONS)
        pos = i
        c_out = player1[ i]
        c_new = cooldown_handler(c_out)
        player1[ i] = c_new
        cards_new = "-".join(map(str, player1))
    else:
        last_player = "b"
        cards_old = "-".join(map(str, player2))
        i = random.choice(POSITIONS)
        pos = i
        c_out = player1[ i]
        c_new = cooldown_handler(c_out)
        player1[ i] = c_new
        cards_new = "-".join(map(str, player2))
    print ",".join(map(str, [turn, c_out, c_new, pos, action, cards_old, cards_new, last_player]))

Возможность комментировать доступна после регистрации