Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // mainwindow.h
- private:
- int gameData[4][4];
- public:
- int getGameData(int x, int y);
- int setGameData(int x, int y, int val);
- // mainwindow.cpp
- void MainWindow::moveLeft(){
- bool move = false;
- // Сдвиг в влево
- for(int x =0; x<4; x++){
- for(int y=0; y<4; y++){
- if(MainWindow::getGameData(x, y) == 0){
- for (int i = y; i < 4; i++){
- if(MainWindow::getGameData(x, i) != 0){
- MainWindow::setGameData(x, y, MainWindow::getGameData(x, i));
- MainWindow::setGameData(x, i, 0);
- move = true;
- break;
- }
- }
- }
- }
- }
- for(int x = 0; x<4; x++){
- for(int y = 0; y<3; y++){
- if(MainWindow::getGameData(x, y) == MainWindow::getGameData(x, y+1)){
- MainWindow::setGameData(x, y, MainWindow::getGameData(x, y)*2);
- MainWindow::scoreValuePlus(MainWindow::getGameData(x, y));
- MainWindow::setGameData(x, y+1, 0);
- move = true;
- }
- for(int x =0; x<4; x++){
- for(int y=0; y<4; y++){
- if(MainWindow::getGameData(x, y) == 0){
- for (int i = y; i < 4; i++){
- if(MainWindow::getGameData(x, i) != 0){
- MainWindow::setGameData(x, y, MainWindow::getGameData(x, i));
- MainWindow::setGameData(x, i, 0);
- break;
- }
- }
- }
- }
- }
- if(MainWindow::getGameData(x, y) == 0){
- ui->gameGrid->item(x, y)->setData(Qt::DisplayRole, QVariant(""));;
- }
- else {
- ui->gameGrid->item(x, y)->setData(Qt::DisplayRole, QVariant(MainWindow::getGameData(x, y)));
- }
- }
- }
- if(move == true){
- MainWindow::generateCell(true);
- MainWindow::moveValuePlus();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement