Java program

Objectives: Create a Java program using programming fundamentals (file I/O, loops, conditional statements, arrays, functions)

Problem: In an effort to win a coding competition, you decided to create an awesome Obstacle Warrior game. The game is played on a 2-dimensional board similar to a Chess board, but the dimensions may be different. The minimum size of the board is 2×2. The board will have a Start square and an Exit square that are not stored on the board. Start and Exit squares cannot be the same. Other board squares may contain obstacles in the form of an integer that will define how the warrior position and score will be affected. The obstacle squares can have values from 0 to -10 only. The Start square is always a clear square. All clear squares are marked with # on the board. The Exit square may contain an obstacle that is not a zero. The size of the board, number of obstacles, and Start and Exit squares are all unknow to your code prior to running. This information is stored in a file that your code will read at the beginning of the game. The board.dat file must be read into a 2-D array.

A warrior must start at the Start square and find their way to the Exit square. The warrior can move on the board in any direction including diagonally, one square at a time. A warrior has a running score (integer) maintained from the start of the game until the warrior exits the board. If the warrior lands on an obstacle square with a value of zero, the warrior is sent back to the starting position and the obstacle square will become a normal square (obstacle removed). If the obstacle square has a negative number, that number will reduce the warrior’s score by the value of the obstacle, and the obstacle square will become a clear square (obstacle removed). Each VALID move that the warrior makes without landing on an obstacle will earn the warrior one point. The moves for the warrior are randomly generated by your code in the form of a direction (0-UP, 1-DOWN, 2-LEFT, 3-RIGHT, 4-UPRIGHT, 5-DOWNRIGHT, 6-UPLEFT, 7-DOWNLEFT). If the warrior is at the boundary of the board and your code generates an invalid move, that move will be ignored. Your code will keep generating moves until the warrior exits at the Exit square. Once the warrior exits, your program will store the updated board information to a new file ResultBoard.dat as single-space separated data. The program will also display the total number of valid moves, the total time elapsed in milliseconds since the first move until the warrior exited the board, the final score of the warrior and the formatted board information (right aligned columns with total of 5 spaces).

Output Format:

  • Each column in the final board display must be of total width of 5 spaces
  • Data in each column must be right aligned
Enter the board data file path: C:board.dat //Repeat prompt until valid file OR show error and exit.
Type "Start" to start the game or "Exit" to exit the game: exit //Your program must exit
Enter the board file path: C:board.dat
Type "Start" to start the game or "Exit" to exit the game: start //You may display the moves and the running score after each move but it is not required
The warrior made 270 valid moves in 503 milliseconds. The final score is 175 points.

   #    #    #    #    #
   #    #    #    0    #
   #    #    #    #    #
   #   -3    #    #   -4
   #    #    #    #    #

Press any key to exit!

Program Structure: Your code should be modular and easy to understand. In addition to the main method, the following methods are required to be in your code. These methods will be used by the unit testing to test the accuracy of your code.

public static String[][] ReadBoardFromFile(String fileName, Position startPosition, Position exitPosition)
public static boolean WriteBoardToFile(String fileName, String[][] boardArray)
public static int GenerateDirection()
public static boolean MoveWarrior(int direction, String[][] boardArray, Position currentPosition)
public static int CalculateWarriorScore(int currentScore, Position currentPosition, String[][] boardArray)
public static String DisplayResults(int currentScore, int numberOfMoves, int timeElapsed, String[][] boardArray)

Program Flow:

  • Program starts in main() method
  • Prompt user for Board.dat file path
  • Read board from file
  • Generate a direction
  • Move the warrior
  • Calculate new score
  • Check conditions and clear square if needed
  • Repeat until the warrior is at the exit square
  • Display the results
  • Prompt user to exit game

Board.dat file format:

  • The data in the file will be separated by one space
  • Assume that all data in the file is valid
  • Clear and Start squares (no obstacles) will be marked with # in the file
  • The first line of the file contains the dimensions of the board (rows and columns) e.g. 3 7
  • The second line contains the Start square indexes (rowIndex, columnIndex)
  • The third line contains the Exit square indexes (rowIndex, columnIndex)
  • The rest of the lines represent the contents, including obstacles, of a row on the board
  • Example of a Board size 5×5 data file:
5 5
2 2
4 3
# -5 # # #
# # # 0 #
# # # # #
# -3 # # -4
-10 # # # #

**ResultBoard.dat file format: **

  • Data must be separated by a single space
# # # # #
# # # 0 #
# # # # #
# -3 # # -4
# # # # #

Grading:

  • Coding standards, style and comments (10 Points)
  • Unit testing methods x6, one for each of the methods mentioned above (10 Points)
  • ReadBoardFromFile (10 Points)
  • WriteBoardToFile (10 Points)
  • GenerateDirection (10 Points)
  • MoveWarrior (20 Points)
  • CalculateWarriorScore (20 Points)
  • DisplayResults (10 Points)

Unit Test

package ObstaclesWarrior;

import static org.junit.Assert.assertArrayEquals;

import static org.junit.Assert.assertEquals;

import static org.junit.Assert.assertTrue;

import java.io.File;

import java.io.PrintWriter;

import org.junit.Test;

/**

* Unit test

*/

public class MainTest {

@Test

public void ReadBoardFromFileTest()

{

final String FILE_NAME = “Board.dat”;

//Either dynamically create the Board.dat file or assume it already exists

/*File file = new File(FILE_NAME);

PrintWriter printToFile = new PrintWriter(file);

printToFile.println(“4 4”);

printToFile.println(“0 2”);

printToFile.println(“2 2”);

printToFile.println(“0 # # #”);

printToFile.println(“# -3 # -5”);

printToFile.println(“# # # #”);

printToFile.println(“# # -1 #”);

printToFile.close();

*/

//Create start and exit positions to pass to the method.

//These objects will be set with actual values from the

//board file by your code inside the ReadBoardFromFile() method

Position actualStartPosition = new Position(0, 0);

Position actualExitPosition = new Position(0, 0);

//These are the expected values for the start and exit postions

Position expectedStartPosition = new Position(0, 2);

Position expectedExitPosition = new Position(2, 2);

//Create the expected array with the data

String[][] expectedBoardArray = {

{“0”, “#”, “#”, “#” },

{“#”, “-3”, “#”, “-5” },

{“#”, “#”, “#”, “#” },

{“#”, “#”, “-1”, “#” },

};

//Invoke the ReadBoardFromFile() method and capture the returned array

String[][] actualBoardArray = Main.ReadBoardFromFile( FILE_NAME,

actualStartPosition,

actualExitPosition);

//Check if the start and exit positions match   

if((expectedStartPosition.getX() != actualStartPosition.getX())||

(expectedStartPosition.getY() != actualStartPosition.getY()))

{

assertTrue(“Start position does not match”, false);

}

if((expectedExitPosition.getX() != actualExitPosition.getX())||

(expectedExitPosition.getY() != actualExitPosition.getY()))

{

assertEquals(“Exit position does not match”,false);

}

//Compare the actualBoardArray with the testBoardArray.

//Size and data must match.

//Make sure the number of rows match

assertArrayEquals(“Board array read from file does not match expected array”,

expectedBoardArray,

actualBoardArray );

}

@Test

public void WriteBoardToFileTest()

{

}

@Test

public void GenerateDirectionTest()

{

}

@Test

public void MoveWarriorTest()

{

}

@Test

public void CalculateWarriorScoreTest()

{

}

@Test

public void DisplayResultsTest()

{

}   

}

Main.java

package ObstaclesWarrior;

/**

* ObstaclesWarrior

*

*/

public class Main

{

public static void main( String[] args )

{

}

public static String[][] ReadBoardFromFile(String fileName,

Position startPosition,

Position exitPosition)

{

//This code was added just to enable you to run the provided unit test.

//Replace this code with your own code.

String[][] gameBoard = {

{“0”, “#”, “#”, “#”},

{“#”, “-3”, “#”, “-5”},

{“#”, “#”, “#”, “#”},

{“#”, “#”, “-1”, “#”},

};

startPosition.setX(0);

startPosition.setY(2);

exitPosition.setX(2);

exitPosition.setY(2);

return gameBoard;

}

public static boolean WriteBoardToFile(String fileName,

String[][] boardArray)

{

return true;

}

public static int GenerateDirection()

{

return 0;

}

public static Boolean MoveWarrior(int direction,

String[][] boardArray,

Position currentPosition)

{

return true;

}

public static int CalculateWarriorScore(int currentScore,

Position currentPosition,

String[][] boardArray)

{

return 0;

}

public static String DisplayResults(int currentScore,

int numberOfMoves,

int timeElapsed,

String[][] boardArray )

{

return “”;

}

}

Position.java

package ObstaclesWarrior;

/**

* Position

*/

public class Position {

private int x;

private int y;

public Position(int xValue, int yValue) {

x = xValue;

y = yValue;

}

public int getX() {

return x;

}

public void setX(int x) {

this.x = x;

}

public int getY() {

return y;

}

public void setY(int y) {

this.y = y;

}

}

Computer Forensics-SP21

You are a digital forensics intern at Azorian Computer Forensics, a privately owned forensics investigations and data recovery firm in the Denver, Colorado area.

Your company creates a quarterly newsletter for its clients, many of which are law enforcement agencies, law firms, corporations, and insurance companies. It’s a Tuesday morning and you are sitting in a meeting with the team that produces the newsletter. While everyone is discussing which new section could be added to the newsletter, the senior editor turns to you and asks for your opinion. This is your chance to come up with a brilliant idea! You suggest that the company includes an insert containing contact information for and brief descriptions of government agencies to which computer crimes should be reported. The information would be very helpful to clients and could increase readership. She likes your idea and asks you to create the document. The document should include contact information for:

The local police department

The county sheriff’s office

The state police agency

Because the upcoming newsletter issue has several articles on cybercrime in particular, your document should also include the federal investigative law enforcement agencies that handle the following types of Internet-based crime:

Internet fraud and spam

Internet harassment

Create the document, presenting the local, county, and state contact information in one table and the Internet-based crime federal agency information in a second table.

3-1 Project One

Directions

You decide to research several organizations and focus on one to start. Select one organization from the Business Organizations document in the Supporting Materials section below. You will compare and contrast Currier Grocery (the organization you currently work for) and the one organization you select. To guide your research and personal job notes, address the following in the template provided:

  • An organization’s form is the overarching characteristics that define the type of organization, including how and why the organization formed; the organization’s location(s), size, and type of ownership; whether the organization is nonprofit or for-profit; the goods and services the organization offers; how long the organization has been in business; and the organization’s mission, vision, and core values. Compare and contrast the characteristics of each organization’s form. Specifically, be sure to identify the characteristics of each organization’s form and take note of the similarities and differences between each.
  • Organizations are typically organized or structured into groups of functional areas. These functional areas develop groups of staff, or departments, to ensure the smooth flow of information and operations within the organization structure. Describe the role of key functional areas within each organization. Consider the following:
    • What key functional areas exist within each organization?
    • What role does each function play within the organization?
    • How might a data professional support the organization’s functions?
  • Discuss the relationship between each organization’s form and its functions within the organization. Specifically, address the following:
    • How might the purpose of each functional area vary based on the form of the organization?
    • What functional areas might a data analyst work closely or consult with?

 Review the business organizations in Supporting Materials and select one. You will compare and contrast your current employer, Currier Grocery, to the organization you selected. Prepare and organize your notes into 2 to 3 pages. All references must be cited in APA format. 

World Views Make a Difference in Research

Select one “scenario” from each of the following procedures in Chapter 8: Analytic Procedures, Systems Procedures, and Actors Procedures. From a world view perspective, how are situations similar? How are they different?

450 words with in text and 3 references

Access Control – Security breaches can have serious consequences for an organization

  

Do a case analysis of any one of the cases presented in Chapter 5 in the textbook (Chapple et. al.), pages 105 to 107. Make certain that your report covers all the major elements of the case. You should indicate clearly which case you have analyzed, the Private Sector, the Public Sector, or the Critical Infrastructure. Make sure to follow APA style. Please make sure your submission is 2 – 3 pages in length and meet the minimum APA formatting guidelines:
 

 •    12-pt, Times New Roman font
•    Double-spaced
•    1” margins on all sides
•    Please provide a title page including your Name, Course Number, Date of Submission, and         Assignment name.
•    Reference Section (A separate page is recommended.) Please cite the source using APA formatting guidelines.  Be sure to include at least three reference sources.
•    In-text citations – Please include the author name and year of publication 

Essay Help – Python 3 Language

 

Assignment Content

  1. In this course, you have learned that computer programming is key to computer science. The ability to program a succession of instructions to resolve a computing problem is a valuable skill that is integral to many aspects of modern life. You have also seen the versatility and distinguishing characteristics that make Python 3 a popular choice for programmers.

    End-of-Course Essay

    Write a 1- to 2-page essay in which you connect this course to your own career or personal life. Imagine the audience for this essay is someone who is interested in finding out about your experience with this course and the programming language.

    An essay is a short composition on a theme or subject, written in prose and generally analytic, speculative, or interpretative.

    Consider these questions as you write. You may answer all or some of the questions in your essay.

    • Why is object-oriented programming a valuable skill?
    • What are the benefits and limitations of Python 3?
    • Besides programming, what are some other tasks you can perform with Python 3?
    • How might you use the concepts you learned in this course in your career or personal life?
    • In what ways would you like to extend or strengthen your knowledge of object-oriented programming or Python 3 in particular?
    • Grading guidelines:
    • Title your essay.
    • Write 1 to 2 pages on your experience with Python 3.
    • Consider your audience as anyone interested in your experience with the course and Python 3.
    • Cite any references to support your assignment.

      Format your assignment according to APA guidelines.

      Submit your assignment.

Eu data protection laws

 Hide Assignment InformationInstructions

In order to complete assignment #8 you will need to answer the below questions. Please complete the questions in a Word document and then upload the assignment for grading. When assigning a name to your document please use the following format (last name_Assignment #8). Use examples from the readings, lecture notes and outside research to support your answers. The assignment must be a minimum of 1-full page in length with a minimum of 2 – outside sources. Please be sure to follow APA guidelines for citing and referencing source. Assignments are due by 11:59 pm Eastern time on Sunday.

Chapter 14A large American multinational corporation wants to establish a telephone and email hotline for employees to report wrongdoing within the company. The company has offices in the European Union and wants to ensure that it avoids violations of E.U. data protection laws. What steps can the company take to increase the likelihood that its hotline reporting system remains in compliance? 

Network traffic analysis

It is expected that your report will be in the region of 1500 words.

You are expected to conduct an analysis of this network packet capture— (will provide) using Wireshark. You are required to present your findings in a factual manner, to convince decision makers of a large corporation on business strategies.