mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-02 22:24:26 +00:00
GameOfLife: Replace DeprecatedString with String
This commit is contained in:
parent
e3cd789ea8
commit
9cd3477763
|
@ -167,9 +167,9 @@ void BoardWidget::paint_event(GUI::PaintEvent& event)
|
||||||
|
|
||||||
if (m_selected_pattern != nullptr) {
|
if (m_selected_pattern != nullptr) {
|
||||||
int y_offset = 0;
|
int y_offset = 0;
|
||||||
for (auto line : m_selected_pattern->pattern()) {
|
for (auto const& line : m_selected_pattern->pattern()) {
|
||||||
int x_offset = 0;
|
int x_offset = 0;
|
||||||
for (auto c : line) {
|
for (auto c : line.bytes_as_string_view()) {
|
||||||
if (c == 'O' && (m_last_cell_hovered.row + y_offset) < m_board->rows()
|
if (c == 'O' && (m_last_cell_hovered.row + y_offset) < m_board->rows()
|
||||||
&& (m_last_cell_hovered.column + x_offset) < m_board->columns() && row == (m_last_cell_hovered.row + y_offset) && column == (m_last_cell_hovered.column + x_offset))
|
&& (m_last_cell_hovered.column + x_offset) < m_board->columns() && row == (m_last_cell_hovered.row + y_offset) && column == (m_last_cell_hovered.column + x_offset))
|
||||||
fill_color = Color::Green;
|
fill_color = Color::Green;
|
||||||
|
@ -258,9 +258,9 @@ Optional<Board::RowAndColumn> BoardWidget::get_row_and_column_for_point(int x, i
|
||||||
void BoardWidget::place_pattern(size_t row, size_t column)
|
void BoardWidget::place_pattern(size_t row, size_t column)
|
||||||
{
|
{
|
||||||
int y_offset = 0;
|
int y_offset = 0;
|
||||||
for (auto line : m_selected_pattern->pattern()) {
|
for (auto const& line : m_selected_pattern->pattern()) {
|
||||||
int x_offset = 0;
|
int x_offset = 0;
|
||||||
for (auto c : line) {
|
for (auto c : line.bytes_as_string_view()) {
|
||||||
if (c == 'O' && (row + y_offset) < m_board->rows() && (column + x_offset) < m_board->columns())
|
if (c == 'O' && (row + y_offset) < m_board->rows() && (column + x_offset) < m_board->columns())
|
||||||
toggle_cell(row + y_offset, column + x_offset);
|
toggle_cell(row + y_offset, column + x_offset);
|
||||||
x_offset++;
|
x_offset++;
|
||||||
|
@ -276,122 +276,122 @@ void BoardWidget::place_pattern(size_t row, size_t column)
|
||||||
|
|
||||||
void BoardWidget::setup_patterns()
|
void BoardWidget::setup_patterns()
|
||||||
{
|
{
|
||||||
auto add_pattern = [&](DeprecatedString name, NonnullOwnPtr<Pattern> pattern) {
|
auto add_pattern = [&](auto name, NonnullOwnPtr<Pattern> pattern) {
|
||||||
auto action = GUI::Action::create(move(name), [this, pattern = pattern.ptr()](const GUI::Action&) {
|
auto action = GUI::Action::create(name, [this, pattern = pattern.ptr()](const GUI::Action&) {
|
||||||
on_pattern_selection(pattern);
|
on_pattern_selection(pattern);
|
||||||
});
|
});
|
||||||
pattern->set_action(action);
|
pattern->set_action(action);
|
||||||
m_patterns.append(move(pattern));
|
m_patterns.append(move(pattern));
|
||||||
};
|
};
|
||||||
|
|
||||||
Vector<DeprecatedString> blinker = {
|
Vector<String> blinker = {
|
||||||
"OOO"
|
"OOO"_string
|
||||||
};
|
};
|
||||||
|
|
||||||
Vector<DeprecatedString> toad = {
|
Vector<String> toad = {
|
||||||
".OOO",
|
".OOO"_string,
|
||||||
"OOO."
|
"OOO."_string
|
||||||
};
|
};
|
||||||
|
|
||||||
Vector<DeprecatedString> glider = {
|
Vector<String> glider = {
|
||||||
".O.",
|
".O."_string,
|
||||||
"..O",
|
"..O"_string,
|
||||||
"OOO",
|
"OOO"_string,
|
||||||
};
|
};
|
||||||
|
|
||||||
Vector<DeprecatedString> lightweight_spaceship = {
|
Vector<String> lightweight_spaceship = {
|
||||||
".OO..",
|
".OO.."_string,
|
||||||
"OOOO.",
|
"OOOO."_string,
|
||||||
"OO.OO",
|
"OO.OO"_string,
|
||||||
"..OO."
|
"..OO."_string
|
||||||
};
|
};
|
||||||
|
|
||||||
Vector<DeprecatedString> middleweight_spaceship = {
|
Vector<String> middleweight_spaceship = {
|
||||||
".OOOOO",
|
".OOOOO"_string,
|
||||||
"O....O",
|
"O....O"_string,
|
||||||
".....O",
|
".....O"_string,
|
||||||
"O...O.",
|
"O...O."_string,
|
||||||
"..O..."
|
"..O..."_string
|
||||||
};
|
};
|
||||||
|
|
||||||
Vector<DeprecatedString> heavyweight_spaceship = {
|
Vector<String> heavyweight_spaceship = {
|
||||||
"..OO...",
|
"..OO..."_string,
|
||||||
"O....O.",
|
"O....O."_string,
|
||||||
"......O",
|
"......O"_string,
|
||||||
"O.....O",
|
"O.....O"_string,
|
||||||
".OOOOOO"
|
".OOOOOO"_string
|
||||||
};
|
};
|
||||||
|
|
||||||
Vector<DeprecatedString> infinite_1 = { "OOOOOOOO.OOOOO...OOO......OOOOOOO.OOOOO" };
|
Vector<String> infinite_1 = { "OOOOOOOO.OOOOO...OOO......OOOOOOO.OOOOO"_string };
|
||||||
|
|
||||||
Vector<DeprecatedString> infinite_2 = {
|
Vector<String> infinite_2 = {
|
||||||
"......O.",
|
"......O."_string,
|
||||||
"....O.OO",
|
"....O.OO"_string,
|
||||||
"....O.O.",
|
"....O.O."_string,
|
||||||
"....O...",
|
"....O..."_string,
|
||||||
"..O.....",
|
"..O....."_string,
|
||||||
"O.O....."
|
"O.O....."_string
|
||||||
};
|
};
|
||||||
|
|
||||||
Vector<DeprecatedString> infinite_3 = {
|
Vector<String> infinite_3 = {
|
||||||
"OOO.O",
|
"OOO.O"_string,
|
||||||
"O....",
|
"O...."_string,
|
||||||
"...OO",
|
"...OO"_string,
|
||||||
".OO.O",
|
".OO.O"_string,
|
||||||
"O.O.O"
|
"O.O.O"_string
|
||||||
};
|
};
|
||||||
|
|
||||||
Vector<DeprecatedString> simkin_glider_gun = {
|
Vector<String> simkin_glider_gun = {
|
||||||
"OO.....OO........................",
|
"OO.....OO........................"_string,
|
||||||
"OO.....OO........................",
|
"OO.....OO........................"_string,
|
||||||
".................................",
|
"................................."_string,
|
||||||
"....OO...........................",
|
"....OO..........................."_string,
|
||||||
"....OO...........................",
|
"....OO..........................."_string,
|
||||||
".................................",
|
"................................."_string,
|
||||||
".................................",
|
"................................."_string,
|
||||||
".................................",
|
"................................."_string,
|
||||||
".................................",
|
"................................."_string,
|
||||||
"......................OO.OO......",
|
"......................OO.OO......"_string,
|
||||||
".....................O.....O.....",
|
".....................O.....O....."_string,
|
||||||
".....................O......O..OO",
|
".....................O......O..OO"_string,
|
||||||
".....................OOO...O...OO",
|
".....................OOO...O...OO"_string,
|
||||||
"..........................O......",
|
"..........................O......"_string,
|
||||||
".................................",
|
"................................."_string,
|
||||||
".................................",
|
"................................."_string,
|
||||||
".................................",
|
"................................."_string,
|
||||||
"....................OO...........",
|
"....................OO..........."_string,
|
||||||
"....................O............",
|
"....................O............"_string,
|
||||||
".....................OOO.........",
|
".....................OOO........."_string,
|
||||||
".......................O........."
|
".......................O........."_string
|
||||||
};
|
};
|
||||||
Vector<DeprecatedString> gosper_glider_gun = {
|
Vector<String> gosper_glider_gun = {
|
||||||
"........................O...........",
|
"........................O..........."_string,
|
||||||
"......................O.O...........",
|
"......................O.O..........."_string,
|
||||||
"............OO......OO............OO",
|
"............OO......OO............OO"_string,
|
||||||
"...........O...O....OO............OO",
|
"...........O...O....OO............OO"_string,
|
||||||
"OO........O.....O...OO..............",
|
"OO........O.....O...OO.............."_string,
|
||||||
"OO........O...O.OO....O.O...........",
|
"OO........O...O.OO....O.O..........."_string,
|
||||||
"..........O.....O.......O...........",
|
"..........O.....O.......O..........."_string,
|
||||||
"...........O...O....................",
|
"...........O...O...................."_string,
|
||||||
"............OO......................"
|
"............OO......................"_string
|
||||||
};
|
};
|
||||||
|
|
||||||
Vector<DeprecatedString> r_pentomino = {
|
Vector<String> r_pentomino = {
|
||||||
".OO",
|
".OO"_string,
|
||||||
"OO.",
|
"OO."_string,
|
||||||
".O."
|
".O."_string
|
||||||
};
|
};
|
||||||
|
|
||||||
Vector<DeprecatedString> diehard = {
|
Vector<String> diehard = {
|
||||||
"......O.",
|
"......O."_string,
|
||||||
"OO......",
|
"OO......"_string,
|
||||||
".O...OOO"
|
".O...OOO"_string
|
||||||
};
|
};
|
||||||
|
|
||||||
Vector<DeprecatedString> acorn = {
|
Vector<String> acorn = {
|
||||||
".O.....",
|
".O....."_string,
|
||||||
"...O...",
|
"...O..."_string,
|
||||||
"OO..OOO"
|
"OO..OOO"_string
|
||||||
};
|
};
|
||||||
|
|
||||||
add_pattern("Blinker", make<Pattern>(move(blinker)));
|
add_pattern("Blinker", make<Pattern>(move(blinker)));
|
||||||
|
|
|
@ -6,15 +6,14 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "Pattern.h"
|
#include "Pattern.h"
|
||||||
#include <AK/DeprecatedString.h>
|
|
||||||
#include <AK/StringBuilder.h>
|
#include <AK/StringBuilder.h>
|
||||||
#include <AK/Vector.h>
|
#include <AK/Vector.h>
|
||||||
#include <LibGUI/Action.h>
|
#include <LibGUI/Action.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
Pattern::Pattern(Vector<DeprecatedString> pattern)
|
Pattern::Pattern(Vector<String>&& pattern)
|
||||||
|
: m_pattern(move(pattern))
|
||||||
{
|
{
|
||||||
m_pattern = move(pattern);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Pattern::set_action(GUI::Action* action)
|
void Pattern::set_action(GUI::Action* action)
|
||||||
|
@ -24,13 +23,13 @@ void Pattern::set_action(GUI::Action* action)
|
||||||
|
|
||||||
void Pattern::rotate_clockwise()
|
void Pattern::rotate_clockwise()
|
||||||
{
|
{
|
||||||
Vector<DeprecatedString> rotated;
|
Vector<String> rotated;
|
||||||
for (size_t i = 0; i < m_pattern.first().length(); i++) {
|
for (size_t i = 0; i < m_pattern.first().bytes_as_string_view().length(); i++) {
|
||||||
StringBuilder builder;
|
StringBuilder builder;
|
||||||
for (int j = m_pattern.size() - 1; j >= 0; j--) {
|
for (int j = m_pattern.size() - 1; j >= 0; j--) {
|
||||||
builder.append(m_pattern.at(j).substring(i, 1));
|
builder.append(m_pattern.at(j).bytes_as_string_view().substring_view(i, 1));
|
||||||
}
|
}
|
||||||
rotated.append(builder.to_deprecated_string());
|
rotated.append(MUST(builder.to_string()));
|
||||||
}
|
}
|
||||||
m_pattern = move(rotated);
|
m_pattern = move(rotated);
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,13 +14,13 @@
|
||||||
|
|
||||||
class Pattern final {
|
class Pattern final {
|
||||||
public:
|
public:
|
||||||
Pattern(Vector<DeprecatedString>);
|
Pattern(Vector<String>&&);
|
||||||
Vector<DeprecatedString> pattern() { return m_pattern; }
|
Vector<String> pattern() const { return m_pattern; }
|
||||||
GUI::Action* action() { return m_action; }
|
GUI::Action* action() { return m_action; }
|
||||||
void set_action(GUI::Action*);
|
void set_action(GUI::Action*);
|
||||||
void rotate_clockwise();
|
void rotate_clockwise();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RefPtr<GUI::Action> m_action;
|
RefPtr<GUI::Action> m_action;
|
||||||
Vector<DeprecatedString> m_pattern;
|
Vector<String> m_pattern;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue