Skip to content

Commit 60e62f6

Browse files
committed
Revert "Giving tiles its own two-axis iterator implementation based on the Grid struct in the maze example"
This reverts commit 5bbbc0c.
1 parent de561d6 commit 60e62f6

File tree

3 files changed

+12
-239
lines changed

3 files changed

+12
-239
lines changed

examples/reversi/board.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ use std::ops::Deref;
22

33
use turtle::Color;
44

5-
use tiles::{Tiles, Position};
5+
/// (Row, Column)
6+
pub type Position = (usize, usize);
7+
8+
type Tiles = [[Option<Piece>; 8]; 8];
69

710
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
811
pub enum Piece {
@@ -33,11 +36,11 @@ impl Piece {
3336
}
3437
}
3538

36-
fn valid_moves_for(tiles: &Tiles, piece: Piece) -> Vec<Position> {
39+
fn valid_moves_for(tiles: Tiles, piece: Piece) -> Vec<Position> {
3740
Default::default() //TODO
3841
}
3942

40-
#[derive(Debug)]
43+
#[derive(Debug, Clone, PartialEq, Eq)]
4144
pub struct Board {
4245
current: Piece,
4346
/// None - empty tile
@@ -65,7 +68,7 @@ impl Board {
6568
tiles[4][3] = Some(Piece::B);
6669
tiles[4][4] = Some(Piece::A);
6770
let current = Piece::A;
68-
let valid_moves = valid_moves_for(&tiles, current);
71+
let valid_moves = valid_moves_for(tiles, current);
6972

7073
Self {
7174
current,

examples/reversi/main.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
extern crate turtle;
66

77
mod board;
8-
mod tiles;
98

109
use std::f64::consts::PI;
1110

@@ -34,8 +33,8 @@ fn main() {
3433
let width = 580.0;
3534
let height = 580.0;
3635
let board = Board::new();
37-
let rows = board.col_size();
38-
let cols = board.row_size();
36+
let rows = board.len();
37+
let cols = board[0].len();
3938

4039
// These values are used quite often, so it makes sense to compute them in advance so that
4140
// we don't need to keep repeating ourselves
@@ -48,7 +47,6 @@ fn main() {
4847
tile_height: height / rows as f64,
4948
};
5049

51-
turtle.set_speed("instant"); //TODO: Remove this line
5250
turtle.pen_up();
5351
turtle.forward(height / 2.0);
5452
turtle.right(90.0);
@@ -89,8 +87,8 @@ fn draw_board(turtle: &mut Turtle, dim: &Dimensions) {
8987

9088
fn draw_board_pieces(turtle: &mut Turtle, board: &Board, dim: &Dimensions) {
9189
// Draw starting pieces
92-
for (row, row_pieces) in board.rows().enumerate() {
93-
for (col, piece) in row_pieces.enumerate() {
90+
for (row, row_pieces) in board.iter().enumerate() {
91+
for (col, piece) in row_pieces.iter().enumerate() {
9492
if let &Some(piece) = piece {
9593
move_to_tile(turtle, (row, col), &dim);
9694
draw_piece(turtle, piece, &dim);
@@ -119,6 +117,7 @@ fn play_game(turtle: &mut Turtle, mut board: Board, dim: &Dimensions) {
119117
let row = ((1.0 - (mouse[1] + dim.height/2.0) / dim.height) * dim.rows as f64).floor() as isize;
120118
let col = ((mouse[0] + dim.width/2.0) / dim.width * dim.cols as f64).floor() as isize;
121119

120+
println!("Play {:?}", (row, col));
122121
if row >= 0 && row < dim.rows as isize
123122
&& col >= 0 && col < dim.cols as isize
124123
&& board.is_valid_move(&(row as usize, col as usize)) {

examples/reversi/tiles.rs

Lines changed: 0 additions & 229 deletions
This file was deleted.

0 commit comments

Comments
 (0)