Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <vector>
- using namespace std;
- class Vector2i{
- public:
- int x;
- int y;
- Vector2i();
- Vector2i(int x, int y){
- this->x = x;
- this->y = y;
- }
- };
- const int sizex = 31;
- const int sizey = 15;
- void showBoard(int board[sizex][sizey]);
- void algorithm(int board[sizex][sizey]);
- int main()
- {
- int board[sizex][sizey];
- for(int x = 0; x < sizex; x++)
- for(int y = 0; y < sizey; y++) board[x][y] = 0;
- board[15][0] = 1;
- for(int y = 0; y < sizey; y++){
- for(int x = 0; x < sizex; x++){
- if(x == 0){
- if(board[x][y] == 1 && board[x +1][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x][y] == 1 && board[x +1][y] == 0 && y <= (sizey-1)) {
- board[x][y+1] = 1;
- }else if(board[x][y] == 0 && board[x +1][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x][y] == 0 && board[x +1][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }
- }else if(x == (sizex-1)){
- if(board[x-1][y] == 1 && board[x][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }else if(board[x-1][y] == 1 && board[x][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x-1][y] == 0 && board[x][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x-1][y] == 0 && board[x][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }
- }else{
- if(board[x-1][y] == 1 && board[x][y] == 1 && board[x+1][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }else if(board[x-1][y] == 1 && board[x][y] == 1 && board[x+1][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }else if(board[x-1][y] == 1 && board[x][y] == 0 && board[x+1][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }else if(board[x-1][y] == 1 && board[x][y] == 0 && board[x+1][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x-1][y] == 0 && board[x][y] == 1 && board[x+1][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x-1][y] == 0 && board[x][y] == 1 && board[x+1][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x-1][y] == 0 && board[x][y] == 0 && board[x+1][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x-1][y] == 0 && board[x][y] == 0 && board[x+1][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }
- }
- }
- }
- showBoard(board);
- }
- void algorithm(int board[sizex][sizey]){
- Vector2i target(0,0);
- for(int y = 0; y < sizey; y++){
- for(int x = 0; x < sizey; x++){
- if(x == 0){
- if(board[x][y] == 1 && board[x +1][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x][y] == 1 && board[x +1][y] == 0 && y <= (sizey-1)) {
- board[x][y+1] = 1;
- }else if(board[x][y] == 0 && board[x +1][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x][y] == 0 && board[x +1][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }
- }else if(x == (sizex-1)){
- if(board[x-1][y] == 1 && board[x][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }else if(board[x-1][y] == 1 && board[x][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x-1][y] == 0 && board[x][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x-1][y] == 0 && board[x][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }
- }else{
- if(board[x-1][y] == 1 && board[x][y] == 1 && board[x+1][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }else if(board[x-1][y] == 1 && board[x][y] == 1 && board[x+1][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }else if(board[x-1][y] == 1 && board[x][y] == 0 && board[x+1][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }else if(board[x-1][y] == 1 && board[x][y] == 0 && board[x+1][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x-1][y] == 0 && board[x][y] == 1 && board[x+1][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x-1][y] == 0 && board[x][y] == 1 && board[x+1][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x-1][y] == 0 && board[x][y] == 0 && board[x+1][y] == 1 && y <= (sizey-1)){
- board[x][y+1] = 1;
- }else if(board[x-1][y] == 0 && board[x][y] == 0 && board[x+1][y] == 0 && y <= (sizey-1)){
- board[x][y+1] = 0;
- }
- }
- }
- }
- }
- void showBoard(int board[sizex][sizey]){
- for(int y = 0; y < sizey; y++){
- for(int x = 0; x < sizex; x++){
- cout << board[x][y] << " ";
- }
- cout << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement