Update dependencies, fix clippy warnings

master
Levi Pearson 2018-08-18 22:29:29 -06:00
parent ed3f393b81
commit 4fea9f23f8
7 changed files with 541 additions and 616 deletions

1109
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
use piston_window::math::*; use piston_window::math::*;
const BULLET_POLY: &'static [[Scalar; 2]] = &[ const BULLET_POLY: &[[Scalar; 2]] = &[
[-1.5, -1.5], [-1.5, -1.5],
[-1.5, 1.5], [-1.5, 1.5],
[1.5, 1.5], [1.5, 1.5],
@ -16,11 +16,11 @@ pub struct Bullet {
} }
impl Bullet { impl Bullet {
pub fn new(loc: Vec2d, velocity: Vec2d, ttl: Scalar) -> Self { pub fn new(position: Vec2d, velocity: Vec2d, ttl: Scalar) -> Self {
Bullet { Bullet {
position: loc, position,
velocity: velocity, velocity,
ttl: ttl, ttl,
geometry: BULLET_POLY geometry: BULLET_POLY
} }
} }

View File

@ -9,11 +9,11 @@ pub struct Camera {
} }
impl Camera { impl Camera {
pub fn new(pos: Vec2d, width: Scalar, height: Scalar) -> Self { pub fn new(position: Vec2d, width: Scalar, height: Scalar) -> Self {
Camera { Camera {
position: pos, position,
width: width, width,
height: height height,
} }
} }

View File

@ -11,7 +11,7 @@ pub struct Map {
impl Map { impl Map {
pub fn new(width: Scalar, height: Scalar) -> Self { pub fn new(width: Scalar, height: Scalar) -> Self {
Map { width: width, height: height } Map { width, height }
} }
pub fn center(&self) -> Vec2d { pub fn center(&self) -> Vec2d {
@ -47,7 +47,7 @@ impl Map {
/* Draw vertical grid lines */ /* Draw vertical grid lines */
for x in 0..xcount { for x in 0..xcount {
let line_x = first_x + (GRID_SIZE * x as Scalar); let line_x = first_x + (GRID_SIZE * Scalar::from(x));
let p1 = [line_x, min[1]]; let p1 = [line_x, min[1]];
let p2 = [line_x, max[1]]; let p2 = [line_x, max[1]];
Line::new(GREEN, 1.0) Line::new(GREEN, 1.0)
@ -56,7 +56,7 @@ impl Map {
/* Draw horizontal grid lines */ /* Draw horizontal grid lines */
for y in 0..ycount { for y in 0..ycount {
let line_y = first_y + (GRID_SIZE * y as Scalar); let line_y = first_y + (GRID_SIZE * Scalar::from(y));
let p1 = [min[0], line_y]; let p1 = [min[0], line_y];
let p2 = [max[0], line_y]; let p2 = [max[0], line_y];
Line::new(GREEN, 1.0) Line::new(GREEN, 1.0)

View File

@ -70,8 +70,8 @@ impl Game {
let ds = context.draw_state.blend(Blend::Alpha); let ds = context.draw_state.blend(Blend::Alpha);
/* Make the camera coordinate origin the center of the window */ /* Make the camera coordinate origin the center of the window */
let ct = context.transform.trans((args.width / 2) as Scalar, let ct = context.transform.trans(Scalar::from(args.width / 2),
(args.height / 2) as Scalar); Scalar::from(args.height / 2));
let cam_pos = self.camera.position; let cam_pos = self.camera.position;
let cam_size= [self.camera.width, self.camera.height]; let cam_size= [self.camera.width, self.camera.height];
@ -81,7 +81,7 @@ impl Game {
self.map.draw_grid(cam_pos, cam_size, &ds, cam_trans, gl); self.map.draw_grid(cam_pos, cam_size, &ds, cam_trans, gl);
for bullet in self.bullets.iter() { for bullet in &self.bullets {
draw_bullet(&bullet, &ds, cam_trans, gl); draw_bullet(&bullet, &ds, cam_trans, gl);
} }
@ -96,8 +96,8 @@ impl Game {
self.player.update(thr, rot, args.dt, &self.map); self.player.update(thr, rot, args.dt, &self.map);
for bullet in self.bullets.iter_mut() { bullet.update(args.dt); } for bullet in &mut self.bullets { bullet.update(args.dt); }
self.bullets.retain(|&ref bullet| bullet.ttl > 0.0); self.bullets.retain(|bullet| bullet.ttl > 0.0);
if firing { if firing {
let (nose, dir, vel) = self.player.trajectory(); let (nose, dir, vel) = self.player.trajectory();
let bul = Bullet::new(nose, add(vel, mul_scalar(dir, 3.0)), 2.0); let bul = Bullet::new(nose, add(vel, mul_scalar(dir, 3.0)), 2.0);

View File

@ -1,12 +1,13 @@
use piston_window::math::*; use piston_window::math::*;
use std::f64::consts::*; use std::f64::consts::*;
use std::f64::EPSILON;
use super::map::Map; use super::map::Map;
static TURN_RATE: Scalar = 4.0; static TURN_RATE: Scalar = 4.0;
static THRUST_RATE: Scalar = 4.0; static THRUST_RATE: Scalar = 4.0;
const SHIP_POLY: &'static [[Scalar; 2]] = &[ const SHIP_POLY: &[[Scalar; 2]] = &[
[-10.0, -8.0], [-10.0, -8.0],
[10.0, 0.0], [10.0, 0.0],
[-10.0, 8.0] [-10.0, 8.0]
@ -41,8 +42,8 @@ impl Ship {
let oldpos = self.position; let oldpos = self.position;
self.position = map.clamp(oldpos); self.position = map.clamp(oldpos);
if self.position[0] != oldpos[0] { self.velocity[0] = 0.0; } if (self.position[0] - oldpos[0]).abs() >= EPSILON { self.velocity[0] = 0.0; }
if self.position[1] != oldpos[1] { self.velocity[1] = 0.0; } if (self.position[1] - oldpos[1]).abs() >= EPSILON { self.velocity[1] = 0.0; }
} }
pub fn trajectory(&self) -> (Vec2d, Vec2d, Vec2d) { pub fn trajectory(&self) -> (Vec2d, Vec2d, Vec2d) {

View File

@ -20,7 +20,7 @@ fn main() {
.unwrap(); .unwrap();
// Create a new game and run it. // Create a new game and run it.
let mut game = Game::new(XDIM as Scalar, YDIM as Scalar); let mut game = Game::new(Scalar::from(XDIM), Scalar::from(YDIM));
while let Some(e) = window.next() { while let Some(e) = window.next() {
match e { match e {
Event::Loop(Loop::Update(upd)) => { Event::Loop(Loop::Update(upd)) => {
@ -31,9 +31,8 @@ fn main() {
game.render(ren, &mut window, &e); game.render(ren, &mut window, &e);
} }
Event::Input(inp) => { Event::Input(_) => {
let ev = Event::Input(inp); game.input(&e);
game.input(&ev);
} }
_ => { _ => {