Merge branch 'master' into testApp
continuous-integration/drone/push Build is failing Details

testApp
Chloé MOURGAND 2 years ago
commit 84e5210dd9

@ -13,6 +13,7 @@
android:theme="@style/Theme.StudentBros"
tools:targetApi="33">
<activity android:name=".activity.GameActivity"
android:exported="true">
<intent-filter>
@ -44,6 +45,7 @@
</intent-filter>
</activity>
</application>
</manifest>

@ -7,6 +7,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import uca.iutinfo.studentbros.R
import uca.iutinfo.studentbros.data.Stub
import uca.iutinfo.studentbros.model.Level
import uca.iutinfo.studentbros.views.AdapterLevelChoice
@ -15,12 +16,14 @@ class LevelChoiceActivity : AppCompatActivity(){
super.onCreate(savedInstanceState)
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
setContentView(R.layout.level_choice_layout)
val adp = AdapterLevelChoice(this, Stub().lesLevels() as ArrayList<Level>)
val selected = adp.getLevelSelectedd()
}
override fun onResume() {
super.onResume()
val lev = Stub().lesLevels()
findViewById<RecyclerView>(R.id.recyclerViewLevelChoice).adapter = AdapterLevelChoice(lev)
findViewById<RecyclerView>(R.id.recyclerViewLevelChoice).adapter = AdapterLevelChoice(this, Stub().lesLevels() as ArrayList<Level>)
findViewById<RecyclerView>(R.id.recyclerViewLevelChoice).layoutManager = LinearLayoutManager(this)
}
}

@ -3,7 +3,7 @@ package uca.iutinfo.studentbros.model.gameManagers
import androidx.lifecycle.Observer
import uca.iutinfo.studentbros.model.GameLoop
interface GameManager : Observer<GameLoop>{
interface GameManager: Observer<GameLoop> {
override fun onChanged(t: GameLoop?)
}

@ -1,20 +1,94 @@
package uca.iutinfo.studentbros.views
import android.content.Context
import android.graphics.Color
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Adapter
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import uca.iutinfo.studentbros.R
import uca.iutinfo.studentbros.activity.LevelChoiceActivity
import uca.iutinfo.studentbros.model.Level
class AdapterLevelChoice(val lesLevels : MutableList<Level>) : androidx.recyclerview.widget.RecyclerView.Adapter<ViewHolderLevelChoice>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolderLevelChoice {
return ViewHolderLevelChoice(TextView(parent.context))
//class AdapterLevelChoice(val lesLevels : MutableList<Level>) : androidx.recyclerview.widget.RecyclerView.Adapter<ViewHolderLevelChoice>() {
//
//// var single_item_position = -1
// override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolderLevelChoice {
// val layoutInflater = LayoutInflater.from(parent.context)
// val view = layoutInflater.inflate(R.layout.item_level,parent,false)
// return ViewHolderLevelChoice(view)
// }
//
// override fun getItemCount(): Int {
// return lesLevels.size
// }
//
// override fun onBindViewHolder(holder: ViewHolderLevelChoice, position: Int) {
// if (single_item_position == position){
// holder.label.setBackgroundColor(Color.BLUE)
// }
// else{
// holder.label.setBackgroundColor(Color.TRANSPARENT)
// }
// }
//}
//https://www.youtube.com/watch?v=huXWWurL1c0
class AdapterLevelChoice(context: LevelChoiceActivity, arrayList: ArrayList<Level>) : RecyclerView.Adapter<AdapterLevelChoice.ViewHolder>() {
private val context: Context
private val arrayList: ArrayList<Level>
var single_item_position = -1
var levelSelected: Int? = null
init {
this.context = context
this.arrayList = arrayList
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val layoutInflater = LayoutInflater.from(parent.context)
val view = layoutInflater.inflate(R.layout.item_level, parent, false)
return ViewHolder(view)
}
override fun getItemCount(): Int {
return lesLevels.size
return arrayList.size
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val level = arrayList[position]
holder.itemView.findViewById<TextView>(R.id.toto).text = level.name
if (single_item_position == position) {
holder.itemView.setBackgroundColor(Color.BLUE)
levelSelected = level.numero //le numero d'un niveau est unique
} else {
holder.itemView.setBackgroundColor(Color.TRANSPARENT)
}
}
override fun onBindViewHolder(holder: ViewHolderLevelChoice, position: Int) {
holder.label.text= String.format("%d - %s", lesLevels.get(position).numero,lesLevels.get(position).name)
inner class ViewHolder(itemView: View) :
androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView) {
init {
itemView.setOnClickListener { setSingleSelection(adapterPosition) }
}
}
fun getLevelSelectedd() : Int? {
return levelSelected
}
private fun setSingleSelection(adapterPosition: Int) {
if (adapterPosition == RecyclerView.NO_POSITION) return
notifyItemChanged(single_item_position)
single_item_position = adapterPosition
notifyItemChanged(single_item_position)
}
}

@ -1,7 +1,9 @@
package uca.iutinfo.studentbros.views
import android.view.View
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView.ViewHolder
class ViewHolderLevelChoice(val label : TextView) : ViewHolder(label) {
//https://proandroiddev.com/a-guide-to-recyclerview-selection-3ed9f2381504
class ViewHolderLevelChoice(val itemView: View) : ViewHolder(itemView) {
}

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:padding="20dp"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/toto"
android:textSize="18dp"/>
</LinearLayout>

@ -1,9 +1,5 @@
package uca.iutinfo.studentbros
import org.junit.Test
import uca.iutinfo.studentbros.data.Stub
import uca.iutinfo.studentbros.model.gameManagers.CollisionMouvementManager
/*
class CollisionMouvementManagerTest {
@ -24,7 +20,7 @@ class CollisionMouvementManagerTest {
level.elements[0].right = 40F
level.elements[0].top = 4000F
level.elements[0].bottom = 0F
//mouvementManager.moveElementAccordingToPlayer(level, player, 100F)
mouvementManager.moveElementAccordingToPlayer(level, player, 100F)
assert(player.right==level.elements[0].left && player.bottom==10F)
}
@ -41,7 +37,7 @@ class CollisionMouvementManagerTest {
level.elements[0].right = 60F
level.elements[0].top = 4000F
level.elements[0].bottom = 0F
//mouvementManager.moveElementAccordingToPlayer(level, player, 100F)
mouvementManager.moveElementAccordingToPlayer(level, player, 100F)
assert(player.right==30F && player.left==20F && player.bottom==10F)
}
@ -58,7 +54,7 @@ class CollisionMouvementManagerTest {
level.elements[0].right = 60F
level.elements[0].top = 4000F
level.elements[0].bottom = 0F
//mouvementManager.moveElementAccordingToPlayer(level, player, 100F)
mouvementManager.moveElementAccordingToPlayer(level, player, 100F)
assert(player.right==10F && player.left==0F && player.bottom==10F)
}
@ -75,7 +71,7 @@ class CollisionMouvementManagerTest {
level.elements[0].right = 60F
level.elements[0].top = 4000F
level.elements[0].bottom = 0F
// mouvementManager.moveElementAccordingToPlayer(level, player, 100F)
mouvementManager.moveElementAccordingToPlayer(level, player, 100F)
assert(player.right==10F && player.left==0F && player.bottom==10F)
}

Loading…
Cancel
Save