tresure png need to be change and drop open treasure in inventory

treasureDrop
Théo RENAUD 2 years ago
parent 2342ca782b
commit e0db3f5eb9

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../" vcs="Git" />
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

@ -12,6 +12,8 @@ class Stub {
val items : MutableList<Item> = mutableListOf()
items.add(Item(type = ITEMS.BEECH_LOG.itemtype, stack = 30))
items.add(Item(type = ITEMS.BRONZE_INGOT.itemtype, stack = 30))
items.add(Item(type = ITEMS.TREASURE.itemtype, stack = 2))
items.add(Item(type = ITEMS.TREASURE_KEY.itemtype, stack = 1))
currentPlayer.items = items
return currentPlayer

@ -80,5 +80,23 @@ class Generator {
// Si aucun élément n'a été choisi, retourner le dernier élément de la liste
return possibleBoss.last().first
}
fun generateTreasure(): Item{
val possibleTreasure: List<Pair<Item,Double>> = listOf(
Pair(Item(type= ITEMS.TREASURE_KEY.itemtype), 0.5),
Pair(Item(type = ITEMS.MONSTER_BONES.itemtype), 0.5),
)
val rand = Random.nextDouble()
var cumulativeProb = 0.0
for (element in possibleTreasure) {
cumulativeProb += element.second
if (rand < cumulativeProb) {
return element.first
}
}
// Si aucun élément n'a été choisi, retourner le dernier élément de la liste
return possibleTreasure.last().first
}
}
}

@ -21,13 +21,14 @@ class ItemManager {
IRON_ORE(ItemType(name = "Iron Ore", image = R.drawable.iron_ore, rarity = 2, xpReward = 25)),
IRON_INGOT(ItemType(name = "Iron Ingot", image = R.drawable.iron_ingot, rarity = 1, xpReward = 0)),
OPEN_TREASURE(ItemType(name = "Open Treasure", image = R.drawable.open_treasure, rarity = 3, xpReward = 50)),
// Lootable items
MONSTER_BONES(ItemType(name = "Monster Bones", image = R.drawable.monster_bones, rarity = 1, xpReward = 10)),
MONSTER_EYE(ItemType(name = "Monster Eye", image = R.drawable.monster_eyes, rarity = 2, xpReward = 20)),
TREASURE_KEY(ItemType(name = "Treasure Key", image = R.drawable.treasure_key, rarity = 2, xpReward = 20)),
TREASURE(ItemType(name = "Treasure", image = R.drawable.treasure, rarity = 3, xpReward = 20)),
}
}

@ -1,6 +1,7 @@
package com.example.shakecraft.model
import com.example.shakecraft.R
import com.example.shakecraft.model.Generator.Companion.generateTreasure
class Player(val pseudo: String, var xp: Int = 0) {
var level: Int = 1
@ -61,6 +62,10 @@ class Player(val pseudo: String, var xp: Int = 0) {
if (searchedItem.stack == 0){
items.remove(searchedItem)
}
if (recipe.item.type.name == "OPEN_TREASURE"){
addItem(generateTreasure())
return true
}
}
}
println("item:"+recipe.item.stack)

@ -21,7 +21,11 @@ class RecipeManager {
Item(type = ITEMS.WOODEN_STICK.itemtype, stack = 2),
Item(type = ITEMS.WOODEN_PLANK.itemtype, stack = 2)
), "Objects"),
Recipe(
Item(type = ITEMS.OPEN_TREASURE.itemtype, stack = 1),listOf(
Item(type = ITEMS.TREASURE.itemtype, stack = 1),
Item(type = ITEMS.TREASURE_KEY.itemtype, stack = 1)
), "Objects"),
)
val recipeListTools : List<Recipe> = listOf(

Loading…
Cancel
Save