revert b3eabeff83
continuous-integration/drone/push Build is failing Details

revert Boucle de jeu
ajoutsStub
Thomas CHAZOT 2 years ago
parent b3eabeff83
commit 6dcb6d334d

@ -0,0 +1,16 @@
package uca.iutinfo.studentbros.model
interface CollisionManager {
fun detectCollision(element: Element, level: Level): Boolean
fun distanceToCollision(element: Element, level: Level): Pair<Float, Float>
fun collisionAction(element: Element, elementHitted: Element, collisionSide: Side)
fun getCollisionSide(element: Element, elementHitted: Element): Side
fun Element.intersects(element: Element): Boolean = left <= element.right && right >= element.left && top >= element.bottom && bottom <= element.top
fun Element.intersectsWithVelocity(element: Element): Boolean = left + velX < element.right && right + velX > element.left && top + velY > element.bottom && bottom + velY < element.top
fun getCollisionDistances(element: Element, elementHitted: Element, pair: Pair<Float, Float>): Pair<Float, Float>
}

@ -0,0 +1,42 @@
package uca.iutinfo.studentbros.model
class CollisionMouvementManager : MouvementManager {
val collisionManager: CollisionManager = ConcreteCollisionManager()
override fun moveAllElements(level: Level) {
level.elements.filterNot { it is Player || !it.isVisible }.forEach {
val pair = collisionManager.distanceToCollision(it, level)
moveElement(it, level, pair.first, pair.second)
}
}
override fun moveElement(element: Element, level: Level, x: Float, y: Float) {
element.top += y
element.bottom += y
element.right += x
element.left += x
}
override fun moveElementAccordingToPlayer(level: Level, player: Player, screenCenter: Float) {
val pair = collisionManager.distanceToCollision(player, level)
if (player.right<screenCenter){
var x = pair.first
if (player.right + x > screenCenter){
x = screenCenter - player.right
level.elements.filterNot { it is Player || !it.isVisible }.forEach{ moveElement(it, level, -x, 0F)}
}
else if (player.left + pair.first < 0){
x = -player.left
}
moveElement(player, level, x, pair.second)
}
else if (pair.first>0){
moveElement(player, level, 0F, pair.second)
level.elements.filterNot { it is Player || !it.isVisible }.forEach{ moveElement(it, level, -pair.first, 0F)}
}
else{
moveElement(player, level, pair.first, pair.second)
}
}
}

@ -1,19 +1,14 @@
package uca.iutinfo.studentbros.model.gameManagers package uca.iutinfo.studentbros.model
import uca.iutinfo.studentbros.model.Element
import uca.iutinfo.studentbros.model.GameLoop
import uca.iutinfo.studentbros.model.Level
import uca.iutinfo.studentbros.model.Side
class ConcreteCollisionManager : CollisionManager { class ConcreteCollisionManager : CollisionManager {
override fun detectCollision(element: Element, level: Level, x:Float, y: Float): Boolean { override fun detectCollision(element: Element, level: Level): Boolean {
level.elements.forEach { if (it.isVisible && element.intersectsWithVelocity(it, x, y)) return true } level.elements.forEach { if (it.isVisible && element.intersectsWithVelocity(it)) return true }
return false return false
} }
override fun distanceToCollision(element: Element, level: Level, x:Float, y: Float): Pair<Float, Float> { override fun distanceToCollision(element: Element, level: Level): Pair<Float, Float> {
var distances = Pair(x, y) var distances = Pair(element.velX, element.velY)
var sidePair: Pair<Float, Element>?= null var sidePair: Pair<Float, Element>?= null
var topPair: Pair<Float, Element>?= null var topPair: Pair<Float, Element>?= null
var leftOrRight: Side? = null var leftOrRight: Side? = null
@ -21,7 +16,7 @@ class ConcreteCollisionManager : CollisionManager {
level.elements.filterNot { it==element }.forEach { level.elements.filterNot { it==element }.forEach {
if (element.intersectsWithVelocity(it, x, y)){ if (element.intersectsWithVelocity(it)){
var pair = getCollisionDistances(element, it, distances) var pair = getCollisionDistances(element, it, distances)
var side = getCollisionSide(element, it) var side = getCollisionSide(element, it)
if (side == Side.RIGHT || side == Side.LEFT){ if (side == Side.RIGHT || side == Side.LEFT){
@ -69,9 +64,4 @@ class ConcreteCollisionManager : CollisionManager {
return Pair(x, y) return Pair(x, y)
} }
override fun touchingGrass(element: Element, level: Level): Boolean {
level.elements.filterNot { it==element }.forEach { if (element.bottom == it.top) return true }
return false
}
} }

@ -1,25 +0,0 @@
package uca.iutinfo.studentbros.model
import android.database.Observable
import uca.iutinfo.studentbros.model.gameManagers.CollisionMouvementManager
import uca.iutinfo.studentbros.model.gameManagers.GameManager
import kotlin.concurrent.thread
class GameLoop(val level: Level, val player: Player) : Observable<GameManager>() {
var running : Boolean = true
fun gameThread(){
thread(start=true) {
while (running){
Thread.sleep(30L)
registerAll()
if (!player.isVisible) running=false
}
}
}
private fun registerAll(){
mObservers.forEach { registerObserver(it) }
}
}

@ -0,0 +1,10 @@
package uca.iutinfo.studentbros.model
interface MouvementManager {
fun moveAllElements(level: Level)
fun moveElement(element: Element, level: Level, x: Float, y: Float)
fun moveElementAccordingToPlayer(level: Level, player: Player, screenCenter: Float)
}

@ -0,0 +1,38 @@
package uca.iutinfo.studentbros.model
class SimpleMouvementManager : MouvementManager{
override fun moveAllElements(level: Level) {
level.elements.filterNot { it is Player || !it.isVisible }.forEach { moveElement(it, level, it.velX, it.velY) }
}
override fun moveElement(element: Element, level: Level, x: Float, y: Float) {
element.top += y
element.bottom += y
element.right += x
element.left += x
}
override fun moveElementAccordingToPlayer(level: Level, player: Player, screenCenter: Float) {
if (player.right<screenCenter){
var x = player.velX
if (player.right + player.velX > screenCenter){
x = screenCenter - player.right
level.elements.filterNot { it is Player || !it.isVisible }.forEach{ moveElement(it, level, -x, 0F)}
}
else if (player.left + player.velX < 0){
x = -player.left
}
moveElement(player, level, x, player.velY)
}
else if (player.velX>0){
moveElement(player, level, 0F, player.velY)
level.elements.filterNot { it is Player || !it.isVisible }.forEach{ moveElement(it, level, -player.velX, 0F)}
}
else{
moveElement(player, level, player.velX, player.velY)
}
}
}

@ -1,21 +0,0 @@
package uca.iutinfo.studentbros.model.gameManagers
import uca.iutinfo.studentbros.model.Element
import uca.iutinfo.studentbros.model.Level
import uca.iutinfo.studentbros.model.Side
interface CollisionManager {
fun detectCollision(element: Element, level: Level, x:Float, y: Float): Boolean
fun distanceToCollision(element: Element, level: Level, x:Float, y: Float): Pair<Float, Float>
fun collisionAction(element: Element, elementHitted: Element, collisionSide: Side)
fun getCollisionSide(element: Element, elementHitted: Element): Side
fun Element.intersects(element: Element): Boolean = left <= element.right && right >= element.left && top >= element.bottom && bottom <= element.top
fun Element.intersectsWithVelocity(element: Element, x: Float, y: Float): Boolean = left + x < element.right && right + x > element.left && top + y > element.bottom && bottom + y < element.top
fun getCollisionDistances(element: Element, elementHitted: Element, pair: Pair<Float, Float>): Pair<Float, Float>
fun touchingGrass(element: Element, level: Level): Boolean
}

@ -1,63 +0,0 @@
package uca.iutinfo.studentbros.model.gameManagers
import uca.iutinfo.studentbros.model.*
import kotlin.concurrent.thread
class CollisionMouvementManager(val screenCenter: Float) : MouvementManager {
private val collisionManager: CollisionManager = ConcreteCollisionManager()
override fun moveAllElements(level: Level) {
level.elements.filterNot { it is Player || !it.isVisible }.forEach { move(it, level, it.velX, it.velY) }
}
override fun move(element: Element, level: Level, x: Float, y: Float): Boolean {
val pair = collisionManager.distanceToCollision(element, level, x, y)
element.top += pair.second
element.bottom += pair.second
element.right += pair.first
element.left += pair.first
return true;
}
override fun move(player: Player, level: Level, x: Float, y: Float): Boolean {
val pair = collisionManager.distanceToCollision(player, level, x, y)
if (player.right<screenCenter){
var x = pair.first
if (player.right + pair.first > screenCenter){
x = screenCenter - player.right
level.elements.filterNot { it is Player || !it.isVisible }.forEach{ move(it, level, -x, 0F)}
}
else if (player.left + pair.first < 0){
x = -player.left
}
player.top += pair.second
player.bottom += pair.second
player.right += pair.first
player.left += pair.first
}
else if (player.velX>0){
player.top += pair.second
player.bottom += pair.second
player.right += pair.first
player.left += pair.first
level.elements.filterNot { it is Player || !it.isVisible }.forEach{ move(it, level, -pair.first, 0F)}
}
else{
player.top += pair.second
player.bottom += pair.second
player.right += pair.first
player.left += pair.first
}
return true;
}
override fun movePlayer(player: Player, level: Level, side: Side) {
when(side){
Side.LEFT -> move(player, level, -40F, 0F)
Side.RIGHT -> move(player, level, 40F, 0F)
Side.UP -> move(player, level, 0F, 40F)
Side.DOWN -> move(player, level, 0F, -40F)
}
}
}

@ -1,27 +0,0 @@
package uca.iutinfo.studentbros.model.gameManagers
import uca.iutinfo.studentbros.model.Element
import uca.iutinfo.studentbros.model.GameLoop
import uca.iutinfo.studentbros.model.Level
import kotlin.concurrent.thread
class ConcreteGravityManager(val collisionManager: CollisionManager, ) : GravityManager {
override fun gravityFalls(level: Level) {
val t = Thread()
t.suspend()
level.elements.forEach {
if (!collisionManager.touchingGrass(it, level)){
}
}
}
override fun jumpingBoy(element: Element, level: Level, x: Float, y: Float) {
TODO("Not yet implemented")
}
override fun onChanged(t: GameLoop?) {
t?.level?.let { gravityFalls(it) }
}
}

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

@ -1,11 +0,0 @@
package uca.iutinfo.studentbros.model.gameManagers
import uca.iutinfo.studentbros.model.Element
import uca.iutinfo.studentbros.model.Level
interface GravityManager : GameManager {
fun gravityFalls(level: Level)
fun jumpingBoy(element: Element, level: Level, x: Float, y: Float)
}

@ -1,31 +0,0 @@
package uca.iutinfo.studentbros.model.gameManagers
import uca.iutinfo.studentbros.model.Element
import uca.iutinfo.studentbros.model.Level
import uca.iutinfo.studentbros.model.Player
import uca.iutinfo.studentbros.model.Side
import uca.iutinfo.studentbros.model.mouvementManagers.ConcreteInertieManager
class InertieMouvementManager(val screenCenter: Float) : MouvementManager {
val inertieManager = ConcreteInertieManager(this)
override fun moveAllElements(level: Level) {
level.elements.forEach {
}
}
override fun move(element: Element, level: Level, x: Float, y: Float): Boolean {
TODO("Not yet implemented")
}
override fun move(player: Player, level: Level, x: Float, y: Float): Boolean {
TODO("Not yet implemented")
}
override fun movePlayer(player: Player, level: Level, side: Side) {
TODO("Not yet implemented")
}
}

@ -1,17 +0,0 @@
package uca.iutinfo.studentbros.model.gameManagers
import uca.iutinfo.studentbros.model.Element
import uca.iutinfo.studentbros.model.Level
import uca.iutinfo.studentbros.model.Player
import uca.iutinfo.studentbros.model.Side
interface MouvementManager {
fun moveAllElements(level: Level)
fun move(element: Element, level: Level, x: Float, y: Float): Boolean
fun move(player: Player, level: Level, x: Float, y: Float): Boolean
fun movePlayer(player: Player, level: Level, side: Side)
}

@ -1,60 +0,0 @@
package uca.iutinfo.studentbros.model.gameManagers
import uca.iutinfo.studentbros.model.*
class SimpleMouvementManager(val screenCenter: Float) : MouvementManager {
override fun moveAllElements(level: Level) {
level.elements.filterNot { it is Player || !it.isVisible }.forEach { move(it, level, it.velX, it.velY) }
}
override fun move(element: Element, level: Level, x: Float, y: Float): Boolean {
element.top += y
element.bottom += y
element.right += x
element.left += x
return true;
}
override fun move(player: Player, level: Level, x: Float, y: Float): Boolean {
if (player.right<screenCenter){
var x = player.velX
if (player.right + player.velX > screenCenter){
x = screenCenter - player.right
level.elements.filterNot { it is Player || !it.isVisible }.forEach{ move(it, level, -x, 0F)}
}
else if (player.left + player.velX < 0){
x = -player.left
}
player.top += y
player.bottom += y
player.right += x
player.left += x
}
else if (player.velX>0){
player.top += y
player.bottom += y
player.right += x
player.left += x
level.elements.filterNot { it is Player || !it.isVisible }.forEach{ move(it, level, -player.velX, 0F)}
}
else{
player.top += y
player.bottom += y
player.right += x
player.left += x
}
return true;
}
override fun movePlayer(player: Player, level: Level, side: Side) {
when(side){
Side.LEFT -> move(player, level, -40F, 0F)
Side.RIGHT -> move(player, level, 40F, 0F)
Side.UP -> move(player, level, 0F, 40F)
Side.DOWN -> move(player, level, 0F, -40F)
}
}
}

@ -1,33 +0,0 @@
package uca.iutinfo.studentbros.model.mouvementManagers
import kotlinx.coroutines.delay
import uca.iutinfo.studentbros.model.*
import uca.iutinfo.studentbros.model.gameManagers.MouvementManager
import kotlin.concurrent.thread
class ConcreteInertieManager(val mouvementManager: MouvementManager) : InertieManager {
val gottaMoveEmAll = mutableMapOf<Element, Float>()
override fun moveElement(player: Player, level: Level, side: Side) {
var coef = 1F
if (side==Side.LEFT) coef=-1F
if (gottaMoveEmAll.containsKey(player)) {
gottaMoveEmAll.remove(player)
}
gottaMoveEmAll.put(player, 40*coef)
}
override fun moveElement(element: Element, level: Level, side: Side) {
TODO("Not yet implemented")
}
override fun onChanged(t: GameLoop) {
val ite = gottaMoveEmAll.iterator()
ite.forEach {
if (mouvementManager.move(it.key, t.level, it.value, 0F)){
it.setValue(it.value-5F)
}
}
}
}

@ -1,21 +0,0 @@
package uca.iutinfo.studentbros.model.mouvementManagers
import uca.iutinfo.studentbros.model.Level
import uca.iutinfo.studentbros.model.Player
import uca.iutinfo.studentbros.model.Side
import uca.iutinfo.studentbros.model.gameManagers.CollisionManager
class ConcretePlayerMouvementManager(val collisionManager: CollisionManager) : PlayerMouvementManager {
val inertieManager = ConcreteInertieManager(this)
override fun movePlayer(player: Player, level: Level, side: Side) {
TODO("Not yet implemented")
}
override fun move(player: Player, level: Level, x: Float): Boolean {
player.right += x
player.left += x
return true
}
}

@ -1,13 +0,0 @@
package uca.iutinfo.studentbros.model.mouvementManagers
import androidx.lifecycle.Observer
import uca.iutinfo.studentbros.model.*
interface InertieManager : Observer<GameLoop> {
fun moveElement(player: Player, level: Level, side: Side)
fun moveElement(element: Element, level: Level, side: Side)
}

@ -1,13 +0,0 @@
package uca.iutinfo.studentbros.model.mouvementManagers
import uca.iutinfo.studentbros.model.Level
import uca.iutinfo.studentbros.model.Player
import uca.iutinfo.studentbros.model.Side
interface PlayerMouvementManager {
fun movePlayer(player: Player, level: Level, side: Side)
fun move(player: Player, level: Level, x: Float): Boolean
}

@ -1,10 +1,13 @@
package uca.iutinfo.studentbros.views package uca.iutinfo.studentbros.views
import android.app.Activity
import android.content.Context import android.content.Context
import android.graphics.Canvas import android.graphics.Canvas
import android.graphics.Color import android.graphics.Color
import android.graphics.Paint import android.graphics.Paint
import android.graphics.RectF import android.graphics.RectF
import android.os.Build
import android.os.Bundle
import android.view.MotionEvent import android.view.MotionEvent
import android.view.View import android.view.View
import android.view.WindowManager import android.view.WindowManager
@ -32,6 +35,8 @@ class RectangleGameView(context: Context, level: Level) : GameView(context,level
private var rectMap = mutableMapOf<Element, RectF>() private var rectMap = mutableMapOf<Element, RectF>()
private var button = Button(context)
init { init {
level.elements.add(mario) level.elements.add(mario)
level.elements.forEach { rectMap.put(it, RectF(it.bottom, it.left,it.top,it.right))} level.elements.forEach { rectMap.put(it, RectF(it.bottom, it.left,it.top,it.right))}
@ -120,7 +125,7 @@ class RectangleGameView(context: Context, level: Level) : GameView(context,level
else{ else{
mario.increaseDownVelocity() mario.increaseDownVelocity()
} }
//mouvManager.moveElementAccordingToPlayer(level,mario,height/2F) mouvManager.moveElementAccordingToPlayer(level,mario,height/2F)
mouvManager.moveAllElements(level) mouvManager.moveAllElements(level)
invalidate() invalidate()
} }

@ -2,7 +2,8 @@ package uca.iutinfo.studentbros
import org.junit.Test import org.junit.Test
import uca.iutinfo.studentbros.data.Stub import uca.iutinfo.studentbros.data.Stub
import uca.iutinfo.studentbros.model.gameManagers.CollisionMouvementManager import uca.iutinfo.studentbros.model.CollisionMouvementManager
import uca.iutinfo.studentbros.model.ConcreteCollisionManager
class CollisionMouvementManagerTest { class CollisionMouvementManagerTest {
@ -23,7 +24,7 @@ class CollisionMouvementManagerTest {
level.elements[0].right = 40F level.elements[0].right = 40F
level.elements[0].top = 4000F level.elements[0].top = 4000F
level.elements[0].bottom = 0F 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) assert(player.right==level.elements[0].left && player.bottom==10F)
} }
@ -40,7 +41,7 @@ class CollisionMouvementManagerTest {
level.elements[0].right = 60F level.elements[0].right = 60F
level.elements[0].top = 4000F level.elements[0].top = 4000F
level.elements[0].bottom = 0F 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) assert(player.right==30F && player.left==20F && player.bottom==10F)
} }
@ -57,7 +58,7 @@ class CollisionMouvementManagerTest {
level.elements[0].right = 60F level.elements[0].right = 60F
level.elements[0].top = 4000F level.elements[0].top = 4000F
level.elements[0].bottom = 0F 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) assert(player.right==10F && player.left==0F && player.bottom==10F)
} }
@ -74,7 +75,7 @@ class CollisionMouvementManagerTest {
level.elements[0].right = 60F level.elements[0].right = 60F
level.elements[0].top = 4000F level.elements[0].top = 4000F
level.elements[0].bottom = 0F 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) assert(player.right==10F && player.left==0F && player.bottom==10F)
} }

@ -2,7 +2,7 @@ package uca.iutinfo.studentbros
import org.junit.Test import org.junit.Test
import uca.iutinfo.studentbros.data.Stub import uca.iutinfo.studentbros.data.Stub
import uca.iutinfo.studentbros.model.gameManagers.ConcreteCollisionManager import uca.iutinfo.studentbros.model.ConcreteCollisionManager
class ConcreteCollisionManagerTest { class ConcreteCollisionManagerTest {
private val stub = Stub() private val stub = Stub()
@ -16,7 +16,7 @@ class ConcreteCollisionManagerTest {
player.right = 10F player.right = 10F
player.velX = 20F player.velX = 20F
level.elements[0].left = 20F level.elements[0].left = 20F
//assert(collisionManager.detectCollision(player, level)) assert(collisionManager.detectCollision(player, level))
} }
@Test @Test

@ -1,26 +0,0 @@
package uca.iutinfo.studentbros
import org.junit.Test
import uca.iutinfo.studentbros.data.Stub
import uca.iutinfo.studentbros.model.Side
import uca.iutinfo.studentbros.model.gameManagers.ConcreteCollisionManager
import uca.iutinfo.studentbros.model.mouvementManagers.ConcreteInertieManager
import uca.iutinfo.studentbros.model.mouvementManagers.ConcretePlayerMouvementManager
class ConcreteInertieManagerTest {
val inertieManager = ConcreteInertieManager(ConcretePlayerMouvementManager(
ConcreteCollisionManager()
))
val player = Stub().getPlayer()
val level = Stub().getLevel()
@Test
fun testMovePlayer(){
inertieManager.moveElement(player, level, Side.RIGHT)
inertieManager.moveElement(player, level, Side.RIGHT)
}
}

@ -1,8 +1,9 @@
package uca.iutinfo.studentbros package uca.iutinfo.studentbros
import org.junit.Assert.assertEquals
import org.junit.Test import org.junit.Test
import uca.iutinfo.studentbros.data.Stub import uca.iutinfo.studentbros.data.Stub
import uca.iutinfo.studentbros.model.gameManagers.SimpleMouvementManager import uca.iutinfo.studentbros.model.SimpleMouvementManager
class SimpleMouvementManagerTest { class SimpleMouvementManagerTest {
@ -34,7 +35,7 @@ class SimpleMouvementManagerTest {
var i=0 var i=0
player.increaseRightVelocity() player.increaseRightVelocity()
player.increaseUpVelocity() player.increaseUpVelocity()
//mouvementManager.moveElementAccordingToPlayer(level, player, 100F) mouvementManager.moveElementAccordingToPlayer(level, player, 100F)
assert(player.right==p.right+player.velX && player.left==p.left+player.velX) assert(player.right==p.right+player.velX && player.left==p.left+player.velX)
assert(player.top==p.top+player.velY && player.bottom==p.bottom+player.velY) assert(player.top==p.top+player.velY && player.bottom==p.bottom+player.velY)
@ -55,7 +56,7 @@ class SimpleMouvementManagerTest {
var i=0 var i=0
player.increaseRightVelocity() player.increaseRightVelocity()
player.increaseUpVelocity() player.increaseUpVelocity()
//mouvementManager.moveElementAccordingToPlayer(level, player, 10F) mouvementManager.moveElementAccordingToPlayer(level, player, 10F)
assert(player.right==p.right && player.left==p.left) assert(player.right==p.right && player.left==p.left)
level.elements.forEach { level.elements.forEach {
@ -75,7 +76,7 @@ class SimpleMouvementManagerTest {
p.top=10F p.top=10F
var i=0 var i=0
//mouvementManager.moveElementAccordingToPlayer(level, player, 20F) mouvementManager.moveElementAccordingToPlayer(level, player, 20F)
assert(player.right==p.right+10F && player.left==p.left+10F) assert(player.right==p.right+10F && player.left==p.left+10F)
level.elements.forEach { level.elements.forEach {
@ -98,7 +99,7 @@ class SimpleMouvementManagerTest {
p.top=10F p.top=10F
var i=0 var i=0
//mouvementManager.moveElementAccordingToPlayer(level, player, 50F) mouvementManager.moveElementAccordingToPlayer(level, player, 50F)
assert(player.right==p.right-10F && player.left==0F) assert(player.right==p.right-10F && player.left==0F)
level.elements.forEach { level.elements.forEach {
@ -120,7 +121,7 @@ class SimpleMouvementManagerTest {
p.top=10F p.top=10F
var i=0 var i=0
//mouvementManager.moveElementAccordingToPlayer(level, player, 50F) mouvementManager.moveElementAccordingToPlayer(level, player, 50F)
assert(player.right==p.right && player.left==0F) assert(player.right==p.right && player.left==0F)
level.elements.forEach { level.elements.forEach {

Loading…
Cancel
Save