From 4c379f05ce28d792721ebed24a4d8e5f64f3ef95 Mon Sep 17 00:00:00 2001 From: Lucas Delanier Date: Sun, 12 Mar 2023 20:22:05 +0100 Subject: [PATCH] Ancient forge is now available with his recipes :hammer::wrench: --- ShakeAndCraft/.idea/misc.xml | 7 - .../com/example/shakecraft/CollectFragment.kt | 6 +- .../com/example/shakecraft/ForgeFragment.kt | 66 ++++++++ .../com/example/shakecraft/HomeFragment.kt | 5 + .../com/example/shakecraft/MainActivity.kt | 7 +- .../java/com/example/shakecraft/model/Item.kt | 6 +- .../com/example/shakecraft/model/Player.kt | 23 +++ .../com/example/shakecraft/model/Recipe.kt | 2 +- .../example/shakecraft/model/RecipeManager.kt | 79 +++++++++ .../shakecraft/view/adapter/AdapterRecipe.kt | 50 ++++++ .../src/main/res/drawable/bronze_ingot.png | Bin 0 -> 1465 bytes .../src/main/res/drawable/bronze_sword.png | Bin 0 -> 2321 bytes .../app/src/main/res/drawable/diamond_axe.png | Bin 0 -> 2140 bytes .../app/src/main/res/drawable/iron_ingot.png | Bin 0 -> 1854 bytes .../res/drawable/item_recipe_background.xml | 9 + .../src/main/res/drawable/recipelistcard.xml | 4 + .../res/drawable/roundedreciplistcard.xml | 9 + .../src/main/res/drawable/wizard_staff.png | Bin 0 -> 2106 bytes .../app/src/main/res/drawable/wooden_ball.png | Bin 0 -> 2687 bytes .../src/main/res/drawable/wooden_plank.png | Bin 0 -> 2457 bytes .../src/main/res/drawable/wooden_stick.png | Bin 0 -> 2372 bytes .../src/main/res/layout/fragment_forge.xml | 155 ++++++++++++++++++ .../app/src/main/res/layout/fragment_home.xml | 4 +- .../app/src/main/res/layout/list_recipe.xml | 65 ++++++++ .../app/src/main/res/navigation/my_nav.xml | 14 ++ .../app/src/main/res/values/colors.xml | 2 + 26 files changed, 492 insertions(+), 21 deletions(-) create mode 100644 ShakeAndCraft/app/src/main/java/com/example/shakecraft/ForgeFragment.kt create mode 100644 ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/RecipeManager.kt create mode 100644 ShakeAndCraft/app/src/main/java/com/example/shakecraft/view/adapter/AdapterRecipe.kt create mode 100644 ShakeAndCraft/app/src/main/res/drawable/bronze_ingot.png create mode 100644 ShakeAndCraft/app/src/main/res/drawable/bronze_sword.png create mode 100644 ShakeAndCraft/app/src/main/res/drawable/diamond_axe.png create mode 100644 ShakeAndCraft/app/src/main/res/drawable/iron_ingot.png create mode 100644 ShakeAndCraft/app/src/main/res/drawable/item_recipe_background.xml create mode 100644 ShakeAndCraft/app/src/main/res/drawable/recipelistcard.xml create mode 100644 ShakeAndCraft/app/src/main/res/drawable/roundedreciplistcard.xml create mode 100644 ShakeAndCraft/app/src/main/res/drawable/wizard_staff.png create mode 100644 ShakeAndCraft/app/src/main/res/drawable/wooden_ball.png create mode 100644 ShakeAndCraft/app/src/main/res/drawable/wooden_plank.png create mode 100644 ShakeAndCraft/app/src/main/res/drawable/wooden_stick.png create mode 100644 ShakeAndCraft/app/src/main/res/layout/fragment_forge.xml create mode 100644 ShakeAndCraft/app/src/main/res/layout/list_recipe.xml diff --git a/ShakeAndCraft/.idea/misc.xml b/ShakeAndCraft/.idea/misc.xml index 282e8b8..54d5acd 100644 --- a/ShakeAndCraft/.idea/misc.xml +++ b/ShakeAndCraft/.idea/misc.xml @@ -7,11 +7,4 @@ - - - \ No newline at end of file diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/CollectFragment.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/CollectFragment.kt index 9011b6e..b9862e3 100644 --- a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/CollectFragment.kt +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/CollectFragment.kt @@ -33,7 +33,7 @@ class CollectFragment() : Fragment() { private lateinit var accelerometer: Sensor private lateinit var accelerometerEventListener: SensorEventListener private lateinit var progressBar: ProgressBar - private lateinit var buttonCollect: TextView + private lateinit var buttonBack: TextView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -61,8 +61,8 @@ class CollectFragment() : Fragment() { } private fun initializeViews(view: View) { progressBar = view.findViewById(R.id.progressBar) - buttonCollect = view.findViewById(R.id.backbutton) - buttonCollect.setOnClickListener{ + buttonBack = view.findViewById(R.id.backbutton) + buttonBack.setOnClickListener{ findNavController().navigate(R.id.action_collectFragment_to_homeFragment) } } diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/ForgeFragment.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/ForgeFragment.kt new file mode 100644 index 0000000..e756f30 --- /dev/null +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/ForgeFragment.kt @@ -0,0 +1,66 @@ +package com.example.shakecraft + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.navigation.fragment.findNavController +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.example.shakecraft.model.RecipeManager +import com.example.shakecraft.view.adapter.AdapterRecipe + + +class ForgeFragment : Fragment() { + private lateinit var buttonBack: TextView + private lateinit var recyclerViewObjects: RecyclerView + private lateinit var recyclerViewTools: RecyclerView + private lateinit var recyclerViewBlacksmithing: RecyclerView + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + } + private fun initializeViews(view: View) { + buttonBack = view.findViewById(R.id.backbutton) + buttonBack.setOnClickListener{ + findNavController().navigate(R.id.action_forgeFragment_to_homeFragment) + } + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + val view = inflater.inflate(R.layout.fragment_forge, container, false) + + // Initialize views + initializeViews(view) + + setUpRecyclerView(view) + + return view + } + + private fun setUpRecyclerView(view: View) { + recyclerViewObjects = view.findViewById(R.id.RecyclerviewObjects) + with(recyclerViewObjects) { + layoutManager = LinearLayoutManager(view.context) + adapter = AdapterRecipe(RecipeManager.recipeListObjects) + } + recyclerViewTools = view.findViewById(R.id.RecyclerviewTools) + with(recyclerViewTools) { + layoutManager = LinearLayoutManager(view.context) + adapter = AdapterRecipe(RecipeManager.recipeListTools) + } + recyclerViewBlacksmithing = view.findViewById(R.id.RecyclerviewBlacksmithing) + with(recyclerViewBlacksmithing) { + layoutManager = LinearLayoutManager(view.context) + adapter = AdapterRecipe(RecipeManager.recipeListBlacksmithing) + } + } + + +} \ No newline at end of file diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/HomeFragment.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/HomeFragment.kt index 11d7ca2..0f19267 100644 --- a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/HomeFragment.kt +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/HomeFragment.kt @@ -22,6 +22,7 @@ class HomeFragment : Fragment() { private lateinit var xp : TextView private lateinit var buttonCollect : ConstraintLayout private lateinit var buttonBoss : ConstraintLayout + private lateinit var buttonForge : ConstraintLayout override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -54,6 +55,10 @@ class HomeFragment : Fragment() { buttonBoss.setOnClickListener{ findNavController().navigate(R.id.action_homeFragment_to_bossFragment, null, NavOptions.Builder().setPopUpTo(R.id.homeFragment, false).build()) } + buttonForge = view.findViewById(R.id.buttonForge) + buttonForge.setOnClickListener{ + findNavController().navigate(R.id.action_homeFragment_to_forgeFragment, null, NavOptions.Builder().setPopUpTo(R.id.homeFragment, false).build()) + } pseudo.text = currentPlayer.pseudo level.text = currentPlayer.level.toString() rank.text = currentPlayer.rank diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/MainActivity.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/MainActivity.kt index e2d7a7d..973ed9a 100644 --- a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/MainActivity.kt +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/MainActivity.kt @@ -7,18 +7,15 @@ import androidx.annotation.RequiresApi import androidx.core.view.WindowCompat import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsControllerCompat - import androidx.navigation.findNavController import androidx.navigation.ui.setupWithNavController - -import com.example.shakecraft.data.Stub - +import com.example.shakecraft.model.Player import com.google.android.material.bottomnavigation.BottomNavigationView class MainActivity : AppCompatActivity() { - var currentPlayer = Stub().currentPlayer + var currentPlayer = Player("Winker",0) @RequiresApi(Build.VERSION_CODES.R) private fun hideSystemUI() { diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/Item.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/Item.kt index 4eb1b07..c34cc84 100644 --- a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/Item.kt +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/Item.kt @@ -3,10 +3,10 @@ package com.example.shakecraft.model data class Item( var name: String, - var rarity: Int, - var stack: Int, + var rarity: Int = 1, + var stack: Int = 1, var image: Int, - var xpReward: Int, + var xpReward: Int = 0, ) diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/Player.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/Player.kt index e9da6ed..e400e68 100644 --- a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/Player.kt +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/Player.kt @@ -63,6 +63,29 @@ class Player(val pseudo: String, var xp: Int = 0) { items.remove(item) } + fun hasItem(item: Item) : Boolean{ + for (playeritem in items){ + if(playeritem.name == item.name && playeritem.stack >= item.stack){ + return true + } + } + return false + } + fun craft(recipe: Recipe) : Boolean{ + for (ingredient in recipe.ingredients) { + val searchedItem = items.find { it.name == recipe.item.name } + if(searchedItem != null) { + searchedItem.stack -= recipe.item.stack + if (searchedItem.stack == 0){ + items.remove(searchedItem) + } + return true + } + else + return false + } + return false + } } \ No newline at end of file diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/Recipe.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/Recipe.kt index d42bcfa..5bcf18c 100644 --- a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/Recipe.kt +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/Recipe.kt @@ -1,4 +1,4 @@ package com.example.shakecraft.model -class Recipe(val item: Item, val quantity: Int, itemsNeeded : List) { +class Recipe(val item: Item, val ingredients : List, val type: String) { } \ No newline at end of file diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/RecipeManager.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/RecipeManager.kt new file mode 100644 index 0000000..eb42557 --- /dev/null +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/model/RecipeManager.kt @@ -0,0 +1,79 @@ +package com.example.shakecraft.model + +import com.example.shakecraft.R + +class RecipeManager { + + + + companion object { + + var recipeListObjects : List = listOf( + Recipe( + Item("Wooden Stick", image = R.drawable.wooden_stick, stack = 1),listOf( + Item("Wooden Plank", image = R.drawable.wooden_plank, stack = 2) + ), "Objects"), + Recipe( + Item("Wooden Plank", image = R.drawable.wooden_plank, stack = 4),listOf( + Item("Beech Log", image = R.drawable.log2, stack = 2) + ), "Objects"), + Recipe( + Item("Wooden Ball", image = R.drawable.wooden_ball, stack = 1),listOf( + Item("Wooden Stick", image = R.drawable.wooden_stick, stack = 2), + Item("Wooden Plank", image = R.drawable.wooden_plank, stack = 2) + ), "Objects"), + + ) + var recipeListTools : List = listOf( + + Recipe( + Item("Bronze Sword", image = R.drawable.bronze_sword, stack = 1),listOf( + Item("Wooden Stick", image = R.drawable.wooden_stick, stack = 5), + Item("Bronze Ingot", image = R.drawable.bronze_ore, stack = 10) + + ), "Tools"), + Recipe( + Item("Wizard Staff", image = R.drawable.wizard_staff, stack = 1),listOf( + Item("Wooden Stick", image = R.drawable.wooden_stick, stack = 10), + Item("Monster Eye", image = R.drawable.monster_eyes, stack = 20), + + ), "Tools"), + Recipe( + Item("Diamond Axe", image = R.drawable.diamond_axe, stack = 1),listOf( + Item("Wooden Stick", image = R.drawable.wooden_stick, stack = 5), + Item("Diamond", image = R.drawable.diamond, stack = 10), + + ), "Tools"), + ) + var recipeListBlacksmithing : List = listOf( + + Recipe( + Item("Bronze Ingot", image = R.drawable.bronze_ingot, stack = 1),listOf( + Item("Bronze Ore", image = R.drawable.bronze_ore, stack = 5) + + ), "Blacksmithing"), + Recipe( + Item("Iron Ingot", image = R.drawable.iron_ingot, stack = 1),listOf( + Item("Iron Ore", image = R.drawable.iron_ore, stack = 5) + + ), "Blacksmithing"), + + ) + + + + + + + fun isCraftable(recipe: Recipe, player: Player): Boolean{ + for (ingredient in recipe.ingredients) { + if (!player.hasItem(ingredient)) { + return false + } + } + return true + } + + + } +} \ No newline at end of file diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/view/adapter/AdapterRecipe.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/view/adapter/AdapterRecipe.kt new file mode 100644 index 0000000..fbc45dc --- /dev/null +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/view/adapter/AdapterRecipe.kt @@ -0,0 +1,50 @@ +package com.example.shakecraft.view.adapter + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.example.shakecraft.R +import com.example.shakecraft.model.Recipe + + + +class AdapterRecipe(private val recipelist: List) : RecyclerView.Adapter() { + + class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { + val textView: TextView + var imageView: ImageView + + + init { + // Define click listener for the ViewHolder's View + + textView = view.findViewById(R.id.item_name) + imageView = view.findViewById(R.id.item_image) + } + fun bind(recipe: Recipe) { + textView.text = recipe.item.name + imageView.setImageResource(recipe.item.image) + } + } + + override fun getItemCount() = recipelist.size + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.list_item, parent, false) + + return ViewHolder(view) + } + + override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) { + val recipe : Recipe = recipelist[position] + viewHolder.bind(recipe) + } + + + + +} + diff --git a/ShakeAndCraft/app/src/main/res/drawable/bronze_ingot.png b/ShakeAndCraft/app/src/main/res/drawable/bronze_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..9cd1e2512fc0cf994e67d463c72914eb7a11afe2 GIT binary patch literal 1465 zcmYjR3p^8A7~f`jySWsFai>;_c{JCv=KYGqxVqdii##vGgt{hk#TE0qMzT=%dW0s% zJYuL!HII4BV{9rC@+ej*z@DbJKs6qIp=rI@Bjb4ljh=VCnKpO2><|O9PF)8 zLQfQ0g1D%#7x9mx2%SWPy(b<3fEw)@&?aBcR~Q81QFfL9YQM^YZ~_jrIAZ|-)MZI+ zVfO$4dz>AtE!^XP%e-lv+Xa=Lw*$r%-V>dTTL&^QSbvLlwlzsH0@(E^B2fLq5oU+E z^p(U7v5lDrW{Gh#@FpLvgIx#m#pPh%%REcG*OlmLV!&-Yl{IiekH8hXzAzCy#=t1* ze=PU5U7xswByjP^fx;(zYixB{pLxOHAvJE`Lg?K?eo0SiwYLOmCWjBTW#=3NOEMcW zLEV0fr7rWoB?FQH(V)~?aHg%}RV&vgEz@&t`t>>}RKRJGp8YBxt0VIRJP(6q;$gb_ zL%uHfl_r>ckWs}Wt=UCQLq8HtpQX+MiVHE)W13Qt1^GC_r-V?pe*sC6XqNn-4+$UY za+Z^^c}s5Rs+w(v^KH&dJw9vLKU%HzK1?s;0zE~NsT9bNyH11Ynr2UF5?>wkfv4^` z(6s7R5@i!*%?U#iNYj{&4DTH?9ECLL-T5}-zPwQzoJ|#3FoQWt*~Zr1zv+wg*->4S zwgbru@rSJWsh_3Cyg*H)6fVPbdnaKbXK;J+T>*c!lvj50(h!f_cF9f?XRI6;)H_?C zsLiM_h&T*@0-%ZFz=p1LY;9iW7N5d5X&Eluzv>bFdD66hi5u@Rjo~i#W^j9Qgp4Hv z)WK}g<03#)Rw{@JdXbD3Q`Qk+BueaETfM4G<9s}K{HZHmS>}44|*rCAuH3d$DZ05_W<%{eptnt#> z#fRRl5tEMMfv-h{AALOQ#F}I>>c=zLc)|-^KTWR&28=!0*|T`!PRg^X?rUKWR{o3^ zyir)bY`EH+60W1sv7CljCwIr}v-L77F>1iOT(#<_#te|n|GlD8${;<2Jg!h%-sC}c znb~{_N-KX2|OQb?bL|rJea?#AK~MX9eTF z{W%ZuI#q7|VboVWt@PYSP;JH9Ke;DtG$EvJb8t|{r%}NU9HiD40vf%1SgaLb@LVcJ z9}&qfgb_sRabopqr%U&KEwH?(qq>si%YFVcH6Fv`=)sI1``3!B!XQx{Maa-t1u@0k zNj-F>^^Gi^_Y*r#&7A6e*gb*1HkG2t7QE41ghD#dec|ndQAYa`C3}rYw8yDNU?exR z&kbiPH)45}dv{ZEJnCjA4beJ+_`iJW7*8~ndRL1+gEbzRI=@3UFQK+&K38qW+nyQI z69{SCim9enH+dmjxa;2z4(YVt+e{knQhIvcbZMZ74vT0Fo)WHCXr|xFs@05}we(H;2L->TX#fBK literal 0 HcmV?d00001 diff --git a/ShakeAndCraft/app/src/main/res/drawable/bronze_sword.png b/ShakeAndCraft/app/src/main/res/drawable/bronze_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..53ae8bac4909e79b27f07430f3b72ff78faf0cfd GIT binary patch literal 2321 zcmZvec{mha7sqGDHkK?uV@rz481a*xvSgbkiJ6GZE6eD$WG7i7%Y-m8QucidCHpd( zvHvj0?v-IkmMqyul8nr6>h1T(`#kR-=bY!>=ef^0_ukL_-V=v1L!96`$pruaP8eS^ zGH1p}riFmnnckv&@gg&D`dmZb2LPlre;N>;s^q|&1l~7C7yv4VPOUKqtS0c-|)ugu=*;trx;qqa6dC289KD=B(J&)XmtA-oClhSa4L!J3+EkESa3(pHtD8yrz*B_Tkd zjy_zWt(8G~HE$cZv82@kjv2^%JM|QzORSN1Wb_AO`jY29KDpSt{B4#mpP?lsVBwIH z(X;ubOn~&qKbyyL8$P>+au+h`w9#sKeC&)q7zOP%6|LMT77P|Jc^Lt>_{6wI*27(( z&jxRZY+84w)vs_Ms7iuvJZe#AeFXNNn3bb+eR}uvz(p$=D9Ykk9B9ifU8F`yCqc>3 ziUlcQ_t#uCq(dWo^rOVq0*_aYz69nnv-$!sIG{%6zz24+&+QN$Sn)+~Cy0Q^Y@V!q znS57fyRssy>8Fg(H5G=>1#E#x&=G-l6M8W?j6SSR%}5Gl87Dm8o#7e(nHR2CjnnQ((b#YC z7QrTZ*Ec}r{Py0I!t(}Gqb@;xFxuxFn}oZ_`BNHWjuj$UswQ-V2JrerZXGSyZ>uUw zB#U0?-SpcSxjIlA{R za;yX8uLz>gwV1cP=DXlMSx>QkBO$vQ?Wo1CFvu_il5JW2$kQ3^kJbWRxkX1R7UJhg zUKpr!IICNEh=LGE}pCgj3~Nzas+{qa$}kTBAGx zSH5Sd27Tj}NLODrEZ)veM@$KKvIm}aKiH~jIcx}1dpxtU!`l8EPLJm@J_%WiKx$1A zQp|0#7;Ph)PQE>rfLSFwO!&+)wDvgm7Nzo}v=lO|v*e~Z$B(!D%@ZZ^CX}4&W33U^ zh^dP>xJHi}WN)F|W>8j%p7(l7cScE^VAQ^M)bI`TmQC%0G*66PrybG^B3 z9m2v!8f%4KZcsQ#dM5-&k!@n1_Sckp0u$E#n%}$U$ZC&EH{tK!$ftX?rWS?Eod6`-@~2RpKYB+FNdVxGq|31czTCE zI(;YMjd&MUHD)kA@ouKPu&uZyjjqT#7Pw%*2<7kwx zY~qa427fv)6D}AC%WjX}qejFGsiXA{k7tJC_LugQk9CjAV+SkO_7TF^o@BOzJIUVf zc|y1EWiYk}>9jeS5ThHG6=yPb?EQNe2tr-Fg$3~WCdOM7>SR}|!uM7{T@s>QhJNs3 zjN&|7n@{wAW>N8#2-FBBLbA#IxFV38SZ{-9fZ{K4IProv+vEXM<_n>wdy}eWsjrtJ zE9H`!m_iOx&#Jzj7A1yCtM0ldD)3IaPV^WF`cFQwyXn~Xi-RmaCA6lNkVN~~GO9CY zcu}{nF489YC&5g~nSvtueXU$<#>&2fUV2UxD`}s6>VQ0N9Z=z813CWqg3sjMObGqF z6UR4O)8HgDuClAi)=wWN1aoSo#|U@0(EPh~o3mSWbB>%2n{S53!g8NjovM2kl-eSz z82(s-_cu|f(l;uHJETQwp}6Oux5l9prcC94ZTPJ7z!luor`x{8hF&@|9|Sw~yxl2_ z%E2sMMShch+FlEXhWNmU2hOizw$He+21)-{(A-cms~rv#r`6XJB`!hY>sfJfkB$P? z`J$J4_=XJfmq~k^!F9X4%32L~hw3O%pT=)0`Z?hTra2zsZHCexgfmd*P!9ykP{uE^U~7Dk_Ru26HVk&U34t#mM5x_8d@pcletKk*k{gZ--^sz z_N)?(UEj31395P6427^1i#Ou=XqPE7mr806~E;|a)17Up*rACYe+hdW-C z1ubv(&vzl0Hyq3~uGGH1ze25%Pq4i=v2JQ>v=emG%W#Dh>Zq{X0+z*}r2Wt%0)H?6 d-@YK30n8H_b4Gwwl$ae1z!+|3RB7OV{Tm%OR-OO= literal 0 HcmV?d00001 diff --git a/ShakeAndCraft/app/src/main/res/drawable/diamond_axe.png b/ShakeAndCraft/app/src/main/res/drawable/diamond_axe.png new file mode 100644 index 0000000000000000000000000000000000000000..a7ba8f66e228dbf95760afc7da8624c86be3427c GIT binary patch literal 2140 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 literal 0 HcmV?d00001 diff --git a/ShakeAndCraft/app/src/main/res/drawable/item_recipe_background.xml b/ShakeAndCraft/app/src/main/res/drawable/item_recipe_background.xml new file mode 100644 index 0000000..76df25d --- /dev/null +++ b/ShakeAndCraft/app/src/main/res/drawable/item_recipe_background.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/ShakeAndCraft/app/src/main/res/drawable/recipelistcard.xml b/ShakeAndCraft/app/src/main/res/drawable/recipelistcard.xml new file mode 100644 index 0000000..5991d41 --- /dev/null +++ b/ShakeAndCraft/app/src/main/res/drawable/recipelistcard.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/ShakeAndCraft/app/src/main/res/drawable/roundedreciplistcard.xml b/ShakeAndCraft/app/src/main/res/drawable/roundedreciplistcard.xml new file mode 100644 index 0000000..7b6ae35 --- /dev/null +++ b/ShakeAndCraft/app/src/main/res/drawable/roundedreciplistcard.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/ShakeAndCraft/app/src/main/res/drawable/wizard_staff.png b/ShakeAndCraft/app/src/main/res/drawable/wizard_staff.png new file mode 100644 index 0000000000000000000000000000000000000000..db66ec748fc82076724c18f64e9671adf18021d5 GIT binary patch literal 2106 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 literal 0 HcmV?d00001 diff --git a/ShakeAndCraft/app/src/main/res/drawable/wooden_plank.png b/ShakeAndCraft/app/src/main/res/drawable/wooden_plank.png new file mode 100644 index 0000000000000000000000000000000000000000..f9c32fd3e930f1b27438bc5d5a715442dbade36d GIT binary patch literal 2457 zcmZuzeK-?p8z+g#S3WBrc^9KaM++eqX1-#^X};6(IXg=1Fzpz^WZ0Y{HDARd#8{X^ zSZQ+Pvl*r$rNuB>$Ec8_^Iqqz_qxt=UH9|5p8L6<>$-oxKknZ{^l*2Sli4pLCMG85 z>;(1P#;oliN$=X;QK@fUZo}@2PQDm1G2IhiL)@Xjwo|xuNseGYukq!jzm1i@!p$yL?#<<*GCHSb+banKNTO z`*L@L6iPM`vis;q-YTOEf=ix#`N~3X$957EHrAu3_ww_vPKdXflxMvtzYgC-& zUhr!Q#HQc0U1Bdo0+XPDYPtze!0kuYhkCPYS3?pw%8QY5{ML@GFV98L-AXCD4#}Ww z%To$m{i&g|;I$IPiVb>qHPnR$gVm>VhlI(M$eyya$K<_m`Knwu7C_|~D+WrjW=zIZ z1qD8b#>mZBBY}gTLs~}ckAv0jsv~IFIU$n+rJSywUEg3Gba)(GzJZ~-e2U%Dmoc`! zElJ$r_nX0Oo+rm(qKHzfS#%oaMR)SatjLfuxY};lW8(X))jLX>UK#0iQVmHa^>DVj zVK4N@Rr}td`^x-!RCB@BXwz=LCvm@mDM_!D33|P?3;URPGYXxS&H#31=+c;}OGBu| z;L~{&;m7#IOZul9*U34v1Rg-2s% zSHp;eg-L&BzhW(w;AU7+&48IG4O3(QOAnWWN2SZt*WgP)B0YVWQZV~mE^mLFh_p}o z_bY%#P4kABYU4@f>q3&^1p8qa?g-5MZueCV^G`Kbm3i6USN>_V0E3{mTi$9Na$)8` zR@vO?VBB$iO{}TusXRVHSB<=L>uA2rnb;_LQiG)#zp5qb`Mu2MJoR=Ju49n>Q%7J{>cp-uch-7;m|E${c%zFGg_RLYRqJ93i?v5B zBj_H0zNR?`&V&=H?x2~musrUr(r*TOrih^AkW89ynF`y5I# zXiR7Q$#%J(^&w4jTwEqQsQBb+qSi>I2>xNEJl@5q;-b-g^SBOuwXO}h$th1|o_h4X zdSUv&=<+OI=+6oJPTbNlgT$Bu%>!^&)l8V@m%M?Xw>5x$+jWat-M!W|3m)b9i4!@z24vS8~mAgebaTcor z0;1x~!AuI=Kq^fkWR^9$4e?^@>M{@|?)hGbY4jAy{ z&0hNa;sHnMJ0-UTWnW((9eRO#BelkEjIDi|<^0LP?LPl=sNG9z923o+_o7oMYYchk z^{Y^yM>y+q3q)r98FJ<9ri~$G(X3Mgbf5Cf)Az_paAVp^hgER4#L-k)DRkOGP&|k0 zN6szGe-F1rF5;7Ky9rzf1t5-8o5eikxrwq%fs(Vxn5nBjL2hptGM@gj{Y5i z!N*FR?NH-czK1KCX1w@8Tam8q>!dK;1$raX`NKWOw;1F^U21coU)hrCjwiCaHo1E6 z!Yu5Ks@#$!lLgPGKeR8)!n?AZTW_Vy7EZ~#cQKM`=|OWEFHh21*}1I z_R5SmfN0Z2?%ffvUEL$FJ!uSABR1XJq}p(R%#euR+2D(Rq#pdKxqo=8(?zh)hKSr# zrB!2UL(v}tWH(Bv=+lS7esRJJ9*mM>2Ol%AoFv8RGRTj^C#^jxF{!M?wwE0 zAfU6asr~YM45Kt50TCV$_geXHOZdkbh~eS(x;Ru`%iCO4g`EEAmfE!q`o)`ber@Jf z#>r|$FQ5aAjRD>i;D((-H$b2ncx+p{3ZSE0mqqg8emn_(n&_-V+^e^vF!!?@{94Mo zUF(j`IHIw|H(6Z0QLipZ|<{7Ah`VhsxvmZn-0+>f~gXli+#OSg+B-nJrk zF~vUE#*=YBG1>C&`4aY#wD{hH^e$74ZzL;z_Q#wTaH`a^YGJSI6z=7OJT<%dN^EpzzWA&{QTG2}pIxEYik(;}2X#YJ_w?{$jXOLts rtzn|S7!v-=*3UTcfBla9fAY&R1bvnO*89Le{`JDy!5vDoJD2(w`c#NM literal 0 HcmV?d00001 diff --git a/ShakeAndCraft/app/src/main/res/drawable/wooden_stick.png b/ShakeAndCraft/app/src/main/res/drawable/wooden_stick.png new file mode 100644 index 0000000000000000000000000000000000000000..d7aa17da3e4e3ef57a0db44a2557e5c18949d054 GIT binary patch literal 2372 zcma)83p5ja8=uRYB9^?B@-ih#Va#O`Mj;{!4MR(ryC}Efos~;INh+aGt2A<%S?_Yc zm1V`z+_r_!T{c_HeXQBuz2E!2=e&KN@0{;{&hvlH^Z)FsnMuq#-r?QSvN z{q}rs^LcwTUK%|owG3tnq%@{sLDQv#Zbn(Y(~F%=R&HhPs%9xS)%WufCf2USQa|@K ze*0>2`|j+@hW&nEr(JGT;%d(zvqD!=9Krv+Ry(&1c6^o7fchNx;Mw#gFS{)b(!&hg zxmPqLOulMx;Ajwd#McEzx4VqWOPoSIqBb3zY$J#-G;aDy1Bw*^kL>^#_etCg78^u` z?n`#mOrLU;zdF2yKbKyR&eI^qzi@rf=yC})fY*xK%{U!*IfjX{KBSD6wH&K3^+vTP-UBXj>Wo3*8lWKj_tb|Kd6OLJ^t|d5fPANkVJ2cD zkgNJYctSvptsuB1)c0?_rINe4o`GnBj(+iOE;3$lYcOu%70q;zDb^_8fH67? zc&A6kK5?aQVc~qRlJuCotPEz5i7B?2&hv0Stsz{c-FeiputSi5(^2V=*A3*Gp=yy$ zfn&u7XIxTvUx~{M@T)VCveJK{_XCvj5Fv0pVE1giP@hoJV=3Z_EKBGh@LZXkFH;jpM$by%J0!OU7{-D~{IPVp{b!heHkUOnj5Nn(oo@l;KfO^Ewhe{ld4mgO- z;HqcOb_2Wbg#~aA9hvNBurw15oed{`-ufe5#Q_GC$@6>a9&kqLREYe6w)F{M+V>(V zl`&BGGQV2pQ1SAUbADH{rr%$5#v@N7k=DUct3NNJlRz6$@LVX;hLeHI*O?=GzvX!6 zfOj%s_h{L7N&VeAp&US9uijcv#g{(X{*tui)B|U5xvvY{qzAjpp2wX94qS9`mbbEy z%kYLY_}rl*!{Mla@_qOOE_N6LG0+Q7a#R0XS^Wtl!uzc?7^z(Mz~m)?%;pxF87=za zy1clq%*@%cM$a$z=#Dg-V){|GNO5{8RPWiG8)raa!!R@?)-m>xVfhES%s+TVqM%u+q$%wf?In+R0p9&teVPS!D1|&H2`U6Yvae zOVh83Q@Kl!9p#wF`WoeS45fc|DIynjLnEbHW8`5ck#;+qnWYvIbj8JVt>i+4Eyqv&k%>|X z)S?x<{lm%K(<_A*&7zopSS6s}O)cezX-n9X(c%K9{3KG^EJm5ZEyD#vMamthEroBW zVW*y21hv`Ue>yBiD@tWo%qm(r^qMIMWTDnx7L;em7)mm_{+3ikFS)>(>{9~A^&)%r z3XHGn8e>HTvCkzUM>g!rv1}Uj*4$h_ur(j&Obxs;wDVI@=qk zzf*HWyNjJo;YFh+e98JXhp-u7Bmdv{Ol#aU4v|SPOfg}>OD|xN7+_>oei^f{QpsEi zC3QD@)Zta+VWFVv*oPX~1u66G_z?dqE}m2IYqZlOH3i}5hV7_TvLz;Je3Q;Wcc1L( zQ{a=T70#B{UV_g+wD@>H!go$cR5E)&`%nlL*3Vk1$<1Xufbw`S#_BeqaJ^zX2%Ufo zSt?H#j1$dj0?lTZu!^MZo3TMWO^sxF$ls_4RP=acGhd + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ShakeAndCraft/app/src/main/res/layout/fragment_home.xml b/ShakeAndCraft/app/src/main/res/layout/fragment_home.xml index e6c6bb6..2a87f89 100644 --- a/ShakeAndCraft/app/src/main/res/layout/fragment_home.xml +++ b/ShakeAndCraft/app/src/main/res/layout/fragment_home.xml @@ -143,7 +143,7 @@ + app:layout_constraintTop_toBottomOf="@+id/buttonForge"> + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ShakeAndCraft/app/src/main/res/navigation/my_nav.xml b/ShakeAndCraft/app/src/main/res/navigation/my_nav.xml index d579462..a8ec6b3 100644 --- a/ShakeAndCraft/app/src/main/res/navigation/my_nav.xml +++ b/ShakeAndCraft/app/src/main/res/navigation/my_nav.xml @@ -53,5 +53,19 @@ android:id="@+id/action_homeFragment_to_bossFragment" app:destination="@id/bossFragment" app:enterAnim="@android:anim/fade_in" /> + + + + \ No newline at end of file diff --git a/ShakeAndCraft/app/src/main/res/values/colors.xml b/ShakeAndCraft/app/src/main/res/values/colors.xml index 7b76b62..d51b429 100644 --- a/ShakeAndCraft/app/src/main/res/values/colors.xml +++ b/ShakeAndCraft/app/src/main/res/values/colors.xml @@ -15,4 +15,6 @@ #ADACB2 #FF3D3D #FADB68 + #999A9F + #3A393F \ No newline at end of file