In [1]:
%matplotlib inline
from __init__ import *
from default_layout import layout
import numpy as np
import matplotlib
from matplotlib import pyplot as plt
plt.style.use('ggplot')
In [2]:
block = CollidableAABB(np.array([0.5, 0.5, 0]), np.array([0.5, 0.5]))
mario = CollidableRigid(np.array([0, 0.7, 0]), np.array([0.5, 0.3]))
mario.prev_state = np.array([[-1, 0, 0], [1, 0, 0], [0, 0, 0]])
mario.displacement_difference()
Out[2]:
In [3]:
block.collide(mario)
Out[3]:
In [4]:
block = CollidableAABB(np.array([0, -0.5, 0]), np.array([0.5, 0.5]))
mario = CollidableRigid(np.array([0, 0.3, 0]), np.array([0.5, 0.3]))
block.collide(mario)
Out[4]:
In [5]:
block = CollidableAABB(np.array([0, -0.5, 0]), np.array([0.5, 0.5]))
mario = CollidableRigid(np.array([0, 0.3, 0]), np.array([0.5, 0.3]))
mario.prev_state[:, 0] = [-1, 0.3, 0]
print block.collide(mario)
print mario.prev_state
print mario.state
In [6]:
layout[3:8, 3:8]
Out[6]:
In [7]:
sim = MarioSimulation(layout, {"init_pos": (5.7, 3.2, 0), "dtype": "float16"})
sim.mario.state[0:2, 1] = [0.4, 0.6]
In [8]:
pos, collision = sim.run(None, None, None)
print pos
print collision
In [9]:
sim.mario.state[0:2, 0] -= collision["hit"]["delta"]
print sim.mario.state
In [10]:
hit_edge_reaction(collision)
Out[10]:
In [11]:
sim.mario.radius
Out[11]:
In [16]:
sim = MarioSimulation(layout, {"init_pos": (4, 5.7, 0), "dtype": "float16"})
sim.mario.state[0:2, 1] = [0, -0.4]
In [17]:
pos, collision = sim.run(None, None, None)
print pos
print collision
In [ ]: