diff options
| author | Matt Strapp <matt@mattstrapp.net> | 2022-05-24 11:18:46 -0500 | 
|---|---|---|
| committer | Matt Strapp <matt@mattstrapp.net> | 2022-05-24 11:19:55 -0500 | 
| commit | 7a73162607544204032aa66cce755daf21edebda (patch) | |
| tree | 58578e01f15f34a855d99c32898db9d7a1603e67 /OLD/ee1301/wk5/hw5_directory | |
| parent | do some stuff (diff) | |
| download | homework-7a73162607544204032aa66cce755daf21edebda.tar homework-7a73162607544204032aa66cce755daf21edebda.tar.gz homework-7a73162607544204032aa66cce755daf21edebda.tar.bz2 homework-7a73162607544204032aa66cce755daf21edebda.tar.lz homework-7a73162607544204032aa66cce755daf21edebda.tar.xz homework-7a73162607544204032aa66cce755daf21edebda.tar.zst homework-7a73162607544204032aa66cce755daf21edebda.zip  | |
Graduate
Signed-off-by: Matt Strapp <matt@mattstrapp.net>
Diffstat (limited to 'OLD/ee1301/wk5/hw5_directory')
| -rw-r--r-- | OLD/ee1301/wk5/hw5_directory/maze.txt | 10 | ||||
| -rw-r--r-- | OLD/ee1301/wk5/hw5_directory/strap012_HW5A.cpp | 183 | ||||
| -rw-r--r-- | OLD/ee1301/wk5/hw5_directory/strap012_HW5B.cpp | 51 | ||||
| -rw-r--r-- | OLD/ee1301/wk5/hw5_directory/strap012_HW5C.cpp | 130 | 
4 files changed, 0 insertions, 374 deletions
diff --git a/OLD/ee1301/wk5/hw5_directory/maze.txt b/OLD/ee1301/wk5/hw5_directory/maze.txt deleted file mode 100644 index aa3c598..0000000 --- a/OLD/ee1301/wk5/hw5_directory/maze.txt +++ /dev/null @@ -1,10 +0,0 @@ -WWWW-O-WWW
 ----W------
 ---WWWWWW-W
 -----------
 -WWWWWWWWW-
 -----------
 --WW-WW-WW-
 -----------
 -WW-WW-WW-W
 -X---------
\ No newline at end of file diff --git a/OLD/ee1301/wk5/hw5_directory/strap012_HW5A.cpp b/OLD/ee1301/wk5/hw5_directory/strap012_HW5A.cpp deleted file mode 100644 index 768e8e2..0000000 --- a/OLD/ee1301/wk5/hw5_directory/strap012_HW5A.cpp +++ /dev/null @@ -1,183 +0,0 @@ -/*
 -Date: April 4 2019
 -Name: Matthew Strapp
 -Student ID number: 5449340
 -Course number: EE 1301
 -Term: Spring 2019
 -Lab/assignment number: HW 5A
 -Short Program Description: Maze Runner 2.0
 -*/
 -
 -#include <iostream>
 -#include <iomanip>
 -#include <fstream>
 -#include <string>
 -using namespace std;
 -ifstream fin;
 -ofstream fout;
 -
 -const char BLANK = '-';
 -const char ROBOT = 'X';
 -const char GOAL = 'O';
 -const char WALL = 'W';
 -const int screen_num_lines = 25;
 -const int lengthX = 10; // for now we only support square boards
 -const int lengthY = 10; // it "should" work with non-square, YMMV
 -// Board is described by the following coordinate system:
 -// 0 --> +X
 -// |
 -// |
 -// V
 -// +Y
 -
 -void initBoardDefault(char board[lengthX][lengthY], int &xPos, int &yPos);
 -void initBoardCustom(char board[lengthX][lengthY], int &xPos, int &yPos);
 -void clearScreen();
 -void showGrid(char board[lengthX][lengthY]);
 -
 -bool hasChar(char board[lengthX][lengthY], char findMe);
 -void updateGrid(char board[lengthX][lengthY], int &xPos, int &yPos, char action);
 -
 -int main()
 -{
 -    srand(time(NULL));
 -    char board[lengthX][lengthY] = {0};
 -    int xPos = 0, yPos = 0;
 -    fin.open("maze.txt"); //maze.txt is in the directory that it is run in
 -    if (!fin.is_open())   //If a custom maze does not exist, generate one automatically
 -    {
 -        initBoardDefault(board, xPos, yPos);
 -    }
 -    else
 -    {
 -        initBoardCustom(board, xPos, yPos);
 -    }
 -    while (hasChar(board, GOAL))
 -    {
 -        char action;
 -        clearScreen();
 -        showGrid(board);
 -        cout << "Where would you like to go? (l, r, u, d) " << endl;
 -        cin >> action;
 -
 -        updateGrid(board, xPos, yPos, action);
 -    }
 -
 -    clearScreen();
 -    showGrid(board);
 -    cout << "You found the cookie!  Congratulations!\n";
 -
 -    return 0;
 -}
 -
 -//The default (no custom file) maze is procedurally generated, sometimes rendering levels impossible to solve.
 -//This bug is not as important as finishing the monster that is 5C.
 -void initBoardDefault(char board[lengthX][lengthY], int &xPos, int &yPos)
 -{
 -    for (int curRow = 0; curRow < lengthY; curRow++)
 -    {
 -        for (int curCol = 0; curCol < lengthX; curCol++)
 -        {
 -            if ((rand() % 5) + 1 == 4 || (rand() % 10) + 1 == 7)
 -            {
 -                board[curCol][curRow] = WALL;
 -            }
 -            else
 -            {
 -                board[curCol][curRow] = BLANK;
 -            }
 -        }
 -    }
 -
 -    board[rand() % lengthX][rand() % lengthY] = GOAL;
 -    xPos = rand() % lengthX;
 -    yPos = rand() % lengthY;
 -    board[xPos][yPos] = ROBOT;
 -}
 -
 -void initBoardCustom(char board[lengthX][lengthY], int &xPos, int &yPos)
 -{
 -    for (int curRow = 0; curRow < lengthY; curRow++)
 -    {
 -        for (int curCol = 0; curCol < lengthX; curCol++)
 -        {
 -            fin >> board[curCol][curRow];
 -            if (board[curCol][curRow] == 'X')
 -            {
 -                board[curCol][curRow] = ROBOT;
 -                xPos = curCol;
 -                yPos = curRow;
 -            }
 -        }
 -    }
 -}
 -
 -bool hasChar(char board[lengthX][lengthY], char findMe)
 -{
 -    for (int curRow = 0; curRow < lengthY; curRow++)
 -    {
 -        for (int curCol = 0; curCol < lengthX; curCol++)
 -        {
 -            if (board[curCol][curRow] == findMe)
 -            {
 -                return true;
 -            }
 -        } //end curCol loop
 -    }     // end curRow loop
 -
 -    return false;
 -}
 -
 -void clearScreen()
 -{
 -    for (int i = 0; i < screen_num_lines; i++)
 -    {
 -        cout << endl;
 -    }
 -}
 -
 -void showGrid(char board[lengthX][lengthY])
 -{
 -    for (int curRow = 0; curRow < lengthY; curRow++)
 -    {
 -        for (int curCol = 0; curCol < lengthX; curCol++)
 -        {
 -            cout << board[curCol][curRow];
 -        } // end curCol loop
 -        cout << endl;
 -    } // end curRow loop
 -}
 -
 -void updateGrid(char board[lengthX][lengthY], int &xPos, int &yPos, char action)
 -{
 -    int oldX = xPos;
 -    int oldY = yPos;
 -    if (action == 'l' && xPos > 0)
 -    {
 -        xPos--;
 -    }
 -    else if (action == 'r' && xPos < lengthX - 1)
 -    {
 -        xPos++;
 -    }
 -    else if (action == 'u' && yPos > 0)
 -    {
 -        yPos--;
 -    }
 -    else if (action == 'd' && yPos < lengthY - 1)
 -    {
 -        yPos++;
 -    }
 -    //Hit detection
 -    if (board[xPos][yPos] == WALL)
 -    {
 -        xPos = oldX;
 -        yPos = oldY;
 -        board[xPos][yPos] = WALL;
 -    }
 -    else
 -    {
 -        board[oldX][oldY] = BLANK;
 -    }
 -    board[xPos][yPos] = ROBOT;
 -}
 diff --git a/OLD/ee1301/wk5/hw5_directory/strap012_HW5B.cpp b/OLD/ee1301/wk5/hw5_directory/strap012_HW5B.cpp deleted file mode 100644 index f1e0c2c..0000000 --- a/OLD/ee1301/wk5/hw5_directory/strap012_HW5B.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/*
 -Date: April 4 2019
 -Name: Matthew Strapp
 -Student ID number: 5449340
 -Course number: EE 1301
 -Term: Spring 2019
 -Lab/assignment number: HW 5B
 -Short Program Description: Random Array
 -*/
 -
 -#include <iostream>
 -#include <cstdlib>
 -using namespace std;
 -
 -int main(int argc, char *argv[])
 -{
 -    if (argc != 4) {
 -        cout << "Invalid input!" << endl << "   USAGE: ./rand-array m n max" << endl;
 -        return 2;
 -    }
 -    
 -    srand(time(NULL));
 -    int m, n, max;
 -    m = atoi(argv[1]); //number of rows
 -    n = atoi(argv[2]); //number of columns
 -    int randArray[m][n];
 -    max = atoi(argv[3]); //Maximum number in array
 -    
 -    //Loop to make the random array
 -    for (int curRow = 0; curRow < m; curRow++)
 -    {
 -        for (int curCol = 0; curCol < n; curCol++)
 -        {
 -            if (rand() % 2 + 1 == 2) { //Decide the sign of the number
 -                randArray[curCol][curRow] = -1 * (rand() % (max+1));
 -            } else {
 -                randArray[curCol][curRow] = (rand() % (max+1));
 -            }
 -        }
 -    }
 -    
 -    //Loop to output the array in the console
 -    for (int curRow = 0; curRow < m; curRow++)
 -    {
 -        for (int curCol = 0; curCol < n; curCol++)
 -        {
 -           cout << randArray[curCol][curRow] << " ";
 -        }
 -        cout << endl;
 -    }
 -}
\ No newline at end of file diff --git a/OLD/ee1301/wk5/hw5_directory/strap012_HW5C.cpp b/OLD/ee1301/wk5/hw5_directory/strap012_HW5C.cpp deleted file mode 100644 index 2bdda92..0000000 --- a/OLD/ee1301/wk5/hw5_directory/strap012_HW5C.cpp +++ /dev/null @@ -1,130 +0,0 @@ -/*
 -Date: April 4 2019
 -Name: Matthew Strapp
 -Student ID number: 5449340
 -Course number: EE 1301
 -Term: Spring 2019
 -Lab/assignment number: HW 5C
 -Short Program Description: Pixel Averaging
 -*/
 -#include <iostream>
 -#include <string>
 -#include <sstream>
 -using namespace std;
 -
 -#define SIZE 100
 -int maxRow = -1, maxColumn = 0;
 -void getInput(int input[SIZE][SIZE]);
 -void makeNewArray(int oldArray[SIZE][SIZE], int newArray[SIZE][SIZE]);
 -void pixelAverage(int inArray[SIZE][SIZE], int outArray[SIZE][SIZE]);
 -void printArray(int array[SIZE][SIZE]);
 -
 -int main() {
 -  int inputArray[SIZE][SIZE] = {0},
 -      outputArray[SIZE][SIZE] = {0};
 -  getInput(inputArray);
 -  makeNewArray(inputArray, outputArray);
 -  pixelAverage(inputArray, outputArray);
 -  printArray(outputArray);
 -}
 -
 -// Function: getInput
 -//  ---------------------------
 -// Takes the stream of stdin, puts that into a stringsream and puts that stringsteam into an integer array
 -// input: an empty array of SIZE, as defined in line 15.
 -void getInput(int input[SIZE][SIZE]) {
 -  string test, temp1; int temp2=0;
 -  //I would mainly like to thank whatever user on StackOverflow solved my problem
 -  while (getline(cin,test,'\n')) {
 -    temp2 = -1;
 -    istringstream ss(test);
 -    while(getline(ss,temp1,' ')) {
 -      temp2++;
 -      input[maxRow][temp2] = stoi(temp1);
 -      }
 -      if (temp2>maxColumn) {
 -          maxColumn = temp2+1; //1 is added to make the math work.
 -      }
 -    maxRow++;
 -  }
 -  maxRow++;
 -}
 -
 -// Function: makeNewArray
 -//  ---------------------------
 -// Takes the array made in getInput and puts that same array into a new array to manipulate
 -// oldArray: Array generated in getInput of SIZE
 -// newArray: Array of same dimensions and data
 -void makeNewArray(int oldArray[SIZE][SIZE], int newArray[SIZE][SIZE]) {
 -  for (int row = 0; row < maxRow; row++) {
 -    for (int column = 0; column < maxColumn; column++) {
 -      newArray[row][column] = oldArray[row][column];
 -    }
 -  }
 -}
 -
 -// Function: pixelAverage
 -//  ---------------------------
 -// The meat of the program, taking the surrounding values, adding them, and divides by the number of surrounding values
 -// inArray: Generated in getInput
 -// outArray: Generated in makeNewArray
 -void pixelAverage(int inArray[SIZE][SIZE], int outArray[SIZE][SIZE]) {
 -  int sum = 0, n = 0, average; //n is the number of surrounding pixels
 -  for (int row = -1; row < maxRow-1; row++) {
 -    for (int column = -1; column < maxColumn-1; column++) {
 -      sum=0; n=0; //Sum and n are reset every loop
 -      if ( !((row)<0) ) { //True when array is in lower bounds row-wise
 -        sum += inArray[row-1][column];
 -        n++;
 -      }
 -      if ( (row+1)<maxRow-1 ) { //True when array is in upper bounds row-wise
 -        sum += inArray[row+1][column];
 -        n++;
 -      }
 -      if ( !((column)<0) ) { //True when array is in lower bounds column-wise
 -        sum += inArray[row][column-1];
 -        n++;
 -      }
 -      if ( (column+1)<maxColumn-1 ) {//True when array is in upper bounds column-wise
 -        sum += inArray[row][column+1];
 -        n++;
 -      }
 -      //All of these if statements are combinations are previous statements for the diagonal aspects
 -      if ( !((row)<0) && !((column)<0) ) {
 -        sum += inArray[row-1][column-1];
 -        n++;
 -      }
 -      if ( !((row)<0) && ( (column+1)<maxColumn-1 ) ) {
 -        sum += inArray[row-1][column+1];
 -        n++;
 -      }
 -      if ( (row+1)<maxRow-1 && (column+1)<maxColumn-1 ) {
 -        sum += inArray[row+1][column+1];
 -        n++;
 -      }
 -      if ( (!((column)<0)  && (row+1)<maxRow-1) ) {
 -        sum+=inArray[row+1][column-1];
 -        n++;
 -      }
 -      sum+=inArray[row][column];
 -      n++;
 -      average = sum/n;
 -      outArray[row+1][column+1]=average;
 -    }
 -  }
 -}
 -
 -// Function: printArray
 -//  ---------------------------
 -// Prints the new array after the pixel averaging
 -// array: Array generated in pixelAverage
 -void printArray (int array[SIZE][SIZE]) {
 -    for (int row = 0; row < maxRow; row++)
 -    {
 -      for (int column = 0; column < maxColumn; column++)
 -      {
 -        cout << array[row][column] << " ";
 -      }
 -      cout << endl;
 -    }
 -}
  | 
