for x in 0..((COLS - 3) as usize) {
let idx = x + y * (COLS as usize);
let result = check_result(has_right_horizontal_at_idx(idx, board));
- if result.is_some() {
- return Some((result.unwrap(), WinType::Horizontal(idx)));
+ if let Some(result) = result {
+ return Some((result, WinType::Horizontal(idx)));
}
}
}
for x in 0..(COLS as usize) {
let idx = x + y * (COLS as usize);
let result = check_result(has_down_vertical_at_idx(idx, board));
- if result.is_some() {
- return Some((result.unwrap(), WinType::Vertical(idx)));
+ if let Some(result) = result {
+ return Some((result, WinType::Vertical(idx)));
}
}
}
for x in 0..((COLS - 3) as usize) {
let idx = x + y * (COLS as usize);
let result = check_result(has_right_up_diagonal_at_idx(idx, board));
- if result.is_some() {
- return Some((result.unwrap(), WinType::DiagonalUp(idx)));
+ if let Some(result) = result {
+ return Some((result, WinType::DiagonalUp(idx)));
}
}
}
for x in 0..((COLS - 3) as usize) {
let idx = x + y * (COLS as usize);
let result = check_result(has_right_down_diagonal_at_idx(idx, board));
- if result.is_some() {
- return Some((result.unwrap(), WinType::DiagonalDown(idx)));
+ if let Some(result) = result {
+ return Some((result, WinType::DiagonalDown(idx)));
}
}
}
*self == BoardState::Empty
}
- pub fn into_win(&self) -> Self {
- match *self {
+ pub fn into_win(self) -> Self {
+ match self {
BoardState::Empty => BoardState::Empty,
BoardState::Cyan | BoardState::CyanWin => BoardState::CyanWin,
BoardState::Magenta | BoardState::MagentaWin => BoardState::MagentaWin,
}
}
- pub fn from_win(&self) -> Self {
- match *self {
+ pub fn from_win(self) -> Self {
+ match self {
BoardState::Empty => BoardState::Empty,
BoardState::Cyan | BoardState::CyanWin => BoardState::Cyan,
BoardState::Magenta | BoardState::MagentaWin => BoardState::MagentaWin,
}
let append_result = element_append_class(
&document,
- &format!("slot{}", idx + 1 * (COLS as usize)),
+ &format!("slot{}", idx + (COLS as usize)),
"win",
);
if let Err(e) = append_result {
}
shared.board[idx].replace(shared.board[idx].get().into_win());
- shared.board[idx + 1 * (COLS as usize)].replace(
- shared.board[idx + 1 * (COLS as usize)].get().into_win(),
- );
+ shared.board[idx + (COLS as usize)]
+ .replace(shared.board[idx + (COLS as usize)].get().into_win());
shared.board[idx + 2 * (COLS as usize)].replace(
shared.board[idx + 2 * (COLS as usize)].get().into_win(),
);
}
let append_result = element_append_class(
&document,
- &format!("slot{}", idx + 1 - 1 * (COLS as usize)),
+ &format!("slot{}", idx + 1 - (COLS as usize)),
"win",
);
if let Err(e) = append_result {
}
shared.board[idx].replace(shared.board[idx].get().into_win());
- shared.board[idx + 1 - 1 * (COLS as usize)].replace(
- shared.board[idx + 1 - 1 * (COLS as usize)].get().into_win(),
+ shared.board[idx + 1 - (COLS as usize)].replace(
+ shared.board[idx + 1 - (COLS as usize)].get().into_win(),
);
shared.board[idx + 2 - 2 * (COLS as usize)].replace(
shared.board[idx + 2 - 2 * (COLS as usize)].get().into_win(),
}
let append_result = element_append_class(
&document,
- &format!("slot{}", idx + 1 + 1 * (COLS as usize)),
+ &format!("slot{}", idx + 1 + (COLS as usize)),
"win",
);
if let Err(e) = append_result {
}
shared.board[idx].replace(shared.board[idx].get().into_win());
- shared.board[idx + 1 + 1 * (COLS as usize)].replace(
- shared.board[idx + 1 + 1 * (COLS as usize)].get().into_win(),
+ shared.board[idx + 1 + (COLS as usize)].replace(
+ shared.board[idx + 1 + (COLS as usize)].get().into_win(),
);
shared.board[idx + 2 + 2 * (COLS as usize)].replace(
shared.board[idx + 2 + 2 * (COLS as usize)].get().into_win(),