Esempio n. 1
0
 public void giveFishTokens(FishTuple fishTokensGiven)
 {
     foreach (var pair in fishTokensGiven.fishTuple)
     {
         fishTokensAvailable.fishTuple [pair.Key] -= pair.Value;
     }
 }
Esempio n. 2
0
 public AssetTuple(ResourceTuple resourceTuple, CommodityTuple commodityTuple, FishTuple fishTuple, int gold)
 {
     this.resources   = resourceTuple;
     this.commodities = commodityTuple;
     this.fishTokens  = fishTuple;
     this.gold        = gold;
 }
Esempio n. 3
0
 public void receiveFishTokens(FishTuple fishTokensUsed)
 {
     foreach (var pair in fishTokensUsed.fishTuple)
     {
         fishTokensAvailable.fishTuple [pair.Key] += pair.Value;
     }
 }
Esempio n. 4
0
 public AssetTuple(int brick, int grain, int lumber, int ore, int wool, int paper, int coin, int cloth, int oneTokens, int twoTokens, int threeTokens, int oldBoot, int gold)
 {
     resources   = new ResourceTuple(brick, grain, lumber, ore, wool);
     commodities = new CommodityTuple(paper, coin, cloth);
     fishTokens  = new FishTuple(oneTokens, twoTokens, threeTokens, oldBoot);
     this.gold   = gold;
 }
Esempio n. 5
0
 public AssetTuple(ResourceTuple resourceTuple, CommodityTuple commodityTuple)
 {
     this.resources   = resourceTuple;
     this.commodities = commodityTuple;
     this.fishTokens  = new FishTuple();
     this.gold        = 0;
 }
Esempio n. 6
0
 public AssetTuple(int brick, int grain, int lumber, int ore, int wool, int paper, int coin, int cloth)
 {
     resources   = new ResourceTuple(brick, grain, lumber, ore, wool);
     commodities = new CommodityTuple(paper, coin, cloth);
     fishTokens  = new FishTuple(0, 0, 0);
     this.gold   = 0;
 }
Esempio n. 7
0
 public AssetTuple()
 {
     resources   = new ResourceTuple();
     commodities = new CommodityTuple();
     fishTokens  = new FishTuple();
     this.gold   = 0;
 }
Esempio n. 8
0
    public void PopulateFishTokensDictionary()
    {
        //fishTokensAvailable.Add (FishTokenType.One, 11);
        //fishTokensAvailable.Add (FishTokenType.Two, 10);
        //fishTokensAvailable.Add (FishTokenType.Three, 8);

        fishTokensAvailable = new FishTuple(11, 10, 8, 1);
    }
Esempio n. 9
0
    public void spendFishTokens(FishTuple fishTokensToSpend)
    {
        List <FishTokenType> fishTokenKeys = new List <FishTokenType>(assets.fishTokens.fishTuple.Keys);

        for (int i = 0; i < fishTokenKeys.Count; i++)
        {
            if (assets.fishTokens.fishTuple [fishTokenKeys [i]] >= fishTokensToSpend.fishTuple [fishTokenKeys [i]])
            {
                print("Subtracted " + fishTokensToSpend.fishTuple [fishTokenKeys [i]].ToString() + " " + fishTokenKeys [i].ToString() + " from " + this.playerName);
                assets.fishTokens.fishTuple [fishTokenKeys [i]] -= fishTokensToSpend.fishTuple [fishTokenKeys [i]];
            }
        }
    }
Esempio n. 10
0
    public void receiveFishTokens(FishTuple fishTokensToAdd)
    {
        List <FishTokenType> fishTokenKeys = new List <FishTokenType>(assets.fishTokens.fishTuple.Keys);

        for (int i = 0; i < fishTokenKeys.Count; i++)
        {
            if (fishTokensToAdd.fishTuple [fishTokenKeys [i]] >= 0)
            {
                print("Added " + fishTokensToAdd.fishTuple [fishTokenKeys [i]].ToString() + " " + fishTokenKeys [i].ToString() + " to " + this.playerName);
                assets.fishTokens.fishTuple [fishTokenKeys [i]] += fishTokensToAdd.fishTuple [fishTokenKeys [i]];
            }
        }
    }
Esempio n. 11
0
    public bool hasAvailableFishTokens(FishTuple fishTokensNeeded)
    {
        List <FishTokenType> fishTokenKeys = new List <FishTokenType>(assets.fishTokens.fishTuple.Keys);

        for (int i = 0; i < fishTokenKeys.Count; i++)
        {
            if (assets.fishTokens.fishTuple [fishTokenKeys [i]] < fishTokensNeeded.fishTuple [fishTokenKeys [i]])
            {
                return(false);
            }
        }

        return(true);
    }
Esempio n. 12
0
    public FishTuple getFishTokenForTile(GameTile tile, int numCollected)
    {
        FishTuple fishTokensCollected = new FishTuple();

        if (tile.tileType != TileType.Desert && tile.tileType != TileType.Ocean)
        {
            Debug.Log("Tile is not fish, returning!");
            return(fishTokensCollected);
        }

        if (numFishTokensLeft() < numCollected)
        {
            Debug.Log("numFishTokensLeft () < numCollected");
            foreach (var pair in fishTokensAvailable.fishTuple)
            {
                Debug.Log("Key = " + pair.Key + ", Value = " + pair.Value);
            }
            return(fishTokensCollected);
        }

        int collectionLeft = numCollected;
        List <FishTokenType> tokensAvailable = fishTokensAvailable.listForm();

        while (collectionLeft > 0)
        {
            int           randomNum  = Random.Range(0, tokensAvailable.Count);
            FishTokenType drawnToken = tokensAvailable [randomNum];

            fishTokensCollected.addFishTokenWithType(drawnToken, 1);
            collectionLeft--;

            if (drawnToken == FishTokenType.OldBoot)
            {
                Debug.Log(CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].playerName + " draws the Old Boot!");
            }
        }

        return(fishTokensCollected);
    }