new semester here we go
98
338/g-hangman/hangman.java
Normal file
@@ -0,0 +1,98 @@
|
||||
// Name: Alejandro Santillana
|
||||
import java.util.Random;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.io.FileReader;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
|
||||
import javafx.application.Application;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.layout.StackPane;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.layout.HBox;
|
||||
|
||||
public class hangman extends Application{
|
||||
public static String target_word;
|
||||
public static char[] masked_word;
|
||||
|
||||
public static int attempt_count = 1;
|
||||
|
||||
public static TextField input_field;
|
||||
|
||||
public static void reveal_char(char c) {
|
||||
// we should go through again and reveal any new characters
|
||||
for(int i = 0;i<target_word.length();i++) {
|
||||
if(c == target_word.charAt(i)) {
|
||||
masked_word[i] = c;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static Boolean checkInput(String str) {
|
||||
if(str.length() > 1 || str.length() == 0) {
|
||||
return false;
|
||||
}
|
||||
// fallthrough checking proper length inputs
|
||||
char c = str.charAt(0);
|
||||
if(c < 'A') {
|
||||
return false;
|
||||
}
|
||||
if(c>'Z' && c<'a') {
|
||||
return false;
|
||||
}
|
||||
if(c > 'z') {
|
||||
return false;
|
||||
}
|
||||
// fallthrough for letters of length of 1
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void start(Stage stage) {
|
||||
// draw the first image
|
||||
image = new Image("./img/h1.gif", false);
|
||||
|
||||
Label label = new Label("Word to guess: " + new String(masked_word));
|
||||
|
||||
// seutp the input field
|
||||
input_field = new TextField();
|
||||
// scene for things to live inside of
|
||||
Scene scene = new Scene(new StackPane(label), 640, 480);
|
||||
stage.show();
|
||||
stage.setScene(scene);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
// First we'll read in our file
|
||||
ArrayList<String> words = new ArrayList<String>();
|
||||
try {
|
||||
BufferedReader reader = new BufferedReader(new FileReader("words.txt"));
|
||||
String line;
|
||||
while((line = reader.readLine())!= null) {
|
||||
words.add(line);
|
||||
}
|
||||
}
|
||||
catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// pick a random item from our list as the word to guess for
|
||||
Random r_idx = new Random();
|
||||
int index = r_idx.nextInt(words.size());
|
||||
target_word = new String(words.get(index));
|
||||
masked_word = new char[target_word.length()];
|
||||
|
||||
// seutp the masked word with underscores
|
||||
for(int i = 0;i<target_word.length();i++) {
|
||||
masked_word[i] = '_';
|
||||
}
|
||||
|
||||
// start the application thing
|
||||
launch();
|
||||
}
|
||||
}
|
||||
BIN
338/g-hangman/img/h1.gif
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
338/g-hangman/img/h2.gif
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
338/g-hangman/img/h3.gif
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
338/g-hangman/img/h4.gif
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
338/g-hangman/img/h5.gif
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
338/g-hangman/img/h6.gif
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
338/g-hangman/img/h7.gif
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
338/g-hangman/img/jpg/.gif.jpg
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
338/g-hangman/img/jpg/.jpg
Normal file
|
After Width: | Height: | Size: 72 KiB |
6
338/g-hangman/words.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
bedroom
|
||||
chair
|
||||
something
|
||||
tree
|
||||
apple
|
||||
window
|
||||
BIN
338/graphical-hangman.zip
Normal file
137
338/hangman/Hangman.java
Normal file
@@ -0,0 +1,137 @@
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Hangman {
|
||||
// addes a new found character to the string
|
||||
public static void newChar(String source, char[] target, char c) {
|
||||
// putting a new char into the target string
|
||||
for(int i =0; i<source.length(); i++) {
|
||||
// only pass through the matches in the string
|
||||
if(source.charAt(i) == c) {
|
||||
target[i] = c;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// deals with normal guesses
|
||||
// only given good input
|
||||
public static void guessHandler(char c, char[] prog, String source) {
|
||||
boolean found = false;
|
||||
// looking to see where we need to change the progressive array
|
||||
for(int i =0;i<source.length();i++) {
|
||||
if(source.charAt(i) == c) {
|
||||
prog[i] = c;
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
if(found) {
|
||||
System.out.println(c+ " is in the word");
|
||||
System.out.println("Progress so far: " + new String(prog));
|
||||
}
|
||||
else {
|
||||
System.out.println(c+ " is not in the word");
|
||||
}
|
||||
}
|
||||
|
||||
// checks if we're given an alphabet character
|
||||
public static boolean alphaChar(char c) {
|
||||
if(c < 'A') {
|
||||
return false;
|
||||
}
|
||||
if(c>'Z' && c<'a') {
|
||||
return false;
|
||||
}
|
||||
if(c > 'z') {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Returns a new character to put into the word
|
||||
public static char useHint(String prev, String full) {
|
||||
for(int i =0;i<prev.length()-1;i++) {
|
||||
if(full.contains(prev.charAt(i) + "")) {
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
return prev.charAt(i);
|
||||
}
|
||||
}
|
||||
return '\0';
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
System.out.println("\tHangman");
|
||||
System.out.print("Enter a word: ");
|
||||
|
||||
// read stdin
|
||||
Scanner scan = new Scanner(System.in);
|
||||
String raw = scan.nextLine();
|
||||
|
||||
// keep track of the player's progression
|
||||
char[] progArr = new char[raw.length()];
|
||||
StringBuilder guessChars = new StringBuilder();
|
||||
|
||||
// ignore spaces by setting them to '#'
|
||||
for(int i =0;i<raw.length();i++) {
|
||||
if(raw.charAt(i) == ' ') {
|
||||
progArr[i] = '#';
|
||||
}
|
||||
else {
|
||||
progArr[i] = '_';
|
||||
}
|
||||
}
|
||||
|
||||
// bannering
|
||||
System.out.println("So far the word is :" + new String(progArr));
|
||||
System.out.println("You have 4 guesses remaining.");
|
||||
|
||||
int guessCount = 4;
|
||||
// Dealing with main game loop here
|
||||
while(true) {
|
||||
System.out.print("Enter either 1 for guessing or 2 for hint: ");
|
||||
String attempt = scan.nextLine();
|
||||
|
||||
if(attempt.contains("1")) {
|
||||
System.out.print("Enter your guess: ");
|
||||
attempt = scan.nextLine();
|
||||
// if we have good input we can go through a normal check
|
||||
if(alphaChar(attempt.charAt(0))) {
|
||||
guessHandler(attempt.charAt(0), progArr, raw);
|
||||
guessChars.append(attempt.charAt(0));
|
||||
System.out.println("Characters used: " + guessChars.toString());
|
||||
}
|
||||
}
|
||||
else if(attempt.contains("2")) {
|
||||
if(guessCount == 0) {
|
||||
System.out.println("No more guesses/hints left!");
|
||||
continue;
|
||||
}
|
||||
guessCount--;
|
||||
System.out.println(guessCount + " guesses left.");
|
||||
|
||||
|
||||
// find a fresh character
|
||||
char hint = useHint(guessChars.toString(), raw);
|
||||
guessHandler(hint, progArr, raw);
|
||||
// adjust the running track
|
||||
guessChars.append(hint);
|
||||
System.out.println("Characters used: " + guessChars.toString());
|
||||
}
|
||||
else {
|
||||
System.out.println("Invalid input");
|
||||
}
|
||||
|
||||
// exit condition
|
||||
if(new String(progArr).contains("_")) {
|
||||
if(progArr.toString().contains("_")) {
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
System.out.println("Congrats!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
78
338/homework5/App.java
Normal file
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
Author: Alejandro Santillana
|
||||
Description: Builds a basic school data tracker
|
||||
keeps track of students and what course they are enrolled in as well as what courses
|
||||
are offered by the school.
|
||||
Course information is also available
|
||||
Input is read from file
|
||||
*/
|
||||
public class App {
|
||||
public static void main(String[] args) {
|
||||
String dataFile1 = "data1.txt";
|
||||
String dataFile2 = "data2.txt";
|
||||
|
||||
// course reference for demo purposes
|
||||
Course course1;
|
||||
Student student1;
|
||||
|
||||
// first we'll read in some data
|
||||
System.out.println("===== Read Data 1 =====");
|
||||
School SCD = new School("CSUMB");
|
||||
// get all basic info about the SCD
|
||||
SCD.readData(dataFile1);
|
||||
|
||||
System.out.println("\n===== School Info 1 =====");
|
||||
SCD.schoolInfo();
|
||||
|
||||
// round 2 of adding info to the SCD
|
||||
System.out.println("\n===== Read Data 2 =====");
|
||||
SCD.readData(dataFile2);
|
||||
|
||||
System.out.println("\n===== School Info 2 =====");
|
||||
SCD.schoolInfo();
|
||||
|
||||
// we'll now add some new instructors
|
||||
SCD.addInstructor(700, "E. Tao", "tao@csumb.edu", "777-777-1234");
|
||||
SCD.addCourse(300, "CST300 – ProSem", 700, "BIT110");
|
||||
SCD.addCourse(231, "CST231 – Intro C++", 100, "BIT104");
|
||||
|
||||
// examples of bad courses to add
|
||||
System.out.println("\n===== Failed Course Addition =====");
|
||||
SCD.addCourse(306, "CST306 – GUI Dev", 250, "BIT120");
|
||||
SCD.addCourse(499, "CST499 – iOS Dev", 150, "BIT104");
|
||||
|
||||
System.out.println("\n===== Detailed Course Info =====");
|
||||
SCD.courseInfo(306);
|
||||
|
||||
// updateing a courses location
|
||||
course1 = SCD.getCourse(205);
|
||||
course1.updateLocation("Library 104");
|
||||
|
||||
// checking some courses' information
|
||||
System.out.println("\n===== Detailed Course Info 2 =====");
|
||||
SCD.courseInfo(205);
|
||||
|
||||
System.out.println("\n===== Detailed Course Info 4 =====");
|
||||
SCD.courseInfo();
|
||||
|
||||
// adding a student (valid this time)
|
||||
SCD.addStudent(5555, "Chris Watson", 205, 85.50f, "B");
|
||||
System.out.println("\n===== Detailed Course Info 5 =====");
|
||||
SCD.courseInfo(205);
|
||||
student1 = SCD.getStudentInfo(7777);
|
||||
|
||||
// student info
|
||||
System.out.println("\n===== Detailed Student Info =====");
|
||||
System.out.println(student1);
|
||||
|
||||
System.out.println("\n===== Detailed Student Info 2 =====");
|
||||
System.out.println(SCD.getStudentInfo(7777));
|
||||
SCD.graduateStudent(5555);
|
||||
|
||||
System.out.println("\n===== Detailed Course Info 6 =====");
|
||||
SCD.courseInfo(205);
|
||||
SCD.graduateStudent(5555);
|
||||
|
||||
System.out.println("\n===== Good Job! Bye! =====");
|
||||
}
|
||||
}
|
||||
25
338/homework5/Course.java
Normal file
@@ -0,0 +1,25 @@
|
||||
public class Course {
|
||||
public int id;
|
||||
public String title;
|
||||
public int instructorID;
|
||||
public String location;
|
||||
public int studentCount;
|
||||
|
||||
public Course (int id, String title, int instructorID, String location) {
|
||||
this.id = id;
|
||||
this.title = title;
|
||||
this.instructorID = instructorID;
|
||||
this.location = location;
|
||||
|
||||
this.studentCount = 0;
|
||||
}
|
||||
|
||||
// updates the room location of a given course ex. BIT-104 to BIT-110
|
||||
public void updateLocation(String newLocation) {
|
||||
this.location = newLocation;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this.id + " - " + this.title;
|
||||
}
|
||||
}
|
||||
8
338/homework5/Grade.java
Normal file
@@ -0,0 +1,8 @@
|
||||
public class Grade {
|
||||
public float num_grade;
|
||||
public String str_grade;
|
||||
public Grade(float num_grade, String str_grade) {
|
||||
this.num_grade = num_grade;
|
||||
this.str_grade = str_grade;
|
||||
}
|
||||
}
|
||||
15
338/homework5/Instructor.java
Normal file
@@ -0,0 +1,15 @@
|
||||
public class Instructor {
|
||||
public int id;
|
||||
public String name;
|
||||
public String email;
|
||||
public String phone;
|
||||
public Instructor(int id , String name, String email, String phone) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.email = email;
|
||||
this.phone = phone;
|
||||
}
|
||||
public String toString() {
|
||||
return this.name;
|
||||
}
|
||||
}
|
||||
279
338/homework5/School.java
Normal file
@@ -0,0 +1,279 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
|
||||
// NOTE: there will probably only be one instance of a school object ever
|
||||
public class School {
|
||||
private ArrayList<Instructor> instructorList;
|
||||
private ArrayList<Course> courseList;
|
||||
private ArrayList<Student> studentList;
|
||||
private String name;
|
||||
|
||||
public School(/*String file,*/ String schoolName) {
|
||||
this.instructorList = new ArrayList<Instructor>();
|
||||
this.courseList = new ArrayList<Course>();
|
||||
this.studentList = new ArrayList<Student>();
|
||||
|
||||
this.name = schoolName;
|
||||
//readData(file);
|
||||
}
|
||||
public void readData(String filename) {
|
||||
try {
|
||||
BufferedReader reader = new BufferedReader(new FileReader(filename));
|
||||
// first line is how many instructors we want to add
|
||||
int inst_count = Integer.parseInt(reader.readLine());
|
||||
for(int i =0;i<inst_count;i++) {
|
||||
// now we shold begin to populate out instructor list
|
||||
String[] data = reader.readLine().split(",");
|
||||
int tmp_id = Integer.parseInt(data[0]);
|
||||
|
||||
// ignoring the return value as those custom messages are in the method itself
|
||||
this.addInstructor(tmp_id, data[1], data[2],data[3]);
|
||||
}
|
||||
// next line should be number of courses to add
|
||||
int course_count = Integer.parseInt(reader.readLine());
|
||||
for(int i =0;i<course_count;i++) {
|
||||
String[] data = reader.readLine().split(",");
|
||||
int tmp_id = Integer.parseInt(data[0]);
|
||||
int inst_id = Integer.parseInt(data[2]);
|
||||
|
||||
this.addCourse(tmp_id, data[1], inst_id, data[3]);
|
||||
}
|
||||
// finally the amount of students we want to add is next
|
||||
int student_count = Integer.parseInt(reader.readLine());
|
||||
for(int i =0;i<student_count;i++) {
|
||||
// parse items from the current line
|
||||
String[] data = reader.readLine().split(",");
|
||||
int stud_id = Integer.parseInt(data[0]);
|
||||
int cour_id = Integer.parseInt(data[2]);
|
||||
float fl_grade = Float.parseFloat(data[3]);
|
||||
|
||||
// attempt to add the student
|
||||
this.addStudent(stud_id, data[1], cour_id, fl_grade, data[4]);
|
||||
}
|
||||
System.out.println("Done.");
|
||||
}
|
||||
catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
public boolean addInstructor(int id, String name, String email, String phone) {
|
||||
// make sure that the new instructor isn't already in the system
|
||||
for(Instructor i : this.instructorList) {
|
||||
if(id == i.id) {
|
||||
System.out.println("Instructor ID already in use");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Instructor new_inst = new Instructor(id, name, email, phone);
|
||||
instructorList.add(new_inst);
|
||||
return true;
|
||||
}
|
||||
public boolean addCourse(int id, String title, int instructorID, String location) {
|
||||
// make sure we don't the same course twice
|
||||
for(Course c : this.courseList) {
|
||||
if(c.id == id) {
|
||||
System.out.println("Course addition failed – Course number already used.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// check if the instructor exists
|
||||
boolean instructorExists = false;
|
||||
for(Instructor i : this.instructorList) {
|
||||
if(i.id == instructorID) {
|
||||
instructorExists = true;
|
||||
}
|
||||
}
|
||||
if(!instructorExists) {System.out.println("Course addition failed – Non-existing instructor.");}
|
||||
// check the instructor
|
||||
Course new_course = new Course(id, title, instructorID, location);
|
||||
courseList.add(new_course);
|
||||
return true;
|
||||
}
|
||||
|
||||
public int courseEnrolled(int id) {
|
||||
// Helper function which simply counts up how many people are enrolled in a given cuorse
|
||||
int count = 0;
|
||||
for(Course i : this.courseList) {
|
||||
if(i.id == id) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
public String getInstructor(int id) {
|
||||
// find the instructor name given an id
|
||||
for(Instructor i : this.instructorList) {
|
||||
if(i.id == id) {
|
||||
return i.name;
|
||||
}
|
||||
}
|
||||
return "Not Found";
|
||||
}
|
||||
public float courseAverage(int id) {
|
||||
// gets average of all the students grades for a given course by id
|
||||
float sum = 0;
|
||||
int count = 0;
|
||||
for(Student s : this.studentList) {
|
||||
for(Integer i : s.grades.keySet()) {
|
||||
if(i == id) {
|
||||
sum += s.grades.get(id).num_grade;
|
||||
count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(count == 0) {
|
||||
return 0.00f;
|
||||
}
|
||||
|
||||
return sum / (float)count;
|
||||
}
|
||||
|
||||
public void courseInfo(int id) {
|
||||
boolean found = false;
|
||||
// look for the course given by the id
|
||||
for(Course i : this.courseList) {
|
||||
found = true;
|
||||
if(i.id == id) {
|
||||
System.out.println("Course number: " + i.id);
|
||||
System.out.println("Instructor: "+ this.getInstructor(i.instructorID));
|
||||
System.out.println("Course title: " + i.title);
|
||||
System.out.println("Room: " + i.location);
|
||||
System.out.println("Total enrolled: " + this.courseEnrolled(id));
|
||||
System.out.println("Course average: " + this.courseAverage(id));
|
||||
}
|
||||
}
|
||||
if(!found) {
|
||||
System.out.println("Course not found: [id = " + id + "]");
|
||||
}
|
||||
}
|
||||
|
||||
public void courseInfo() {
|
||||
System.out.println("Number of courses: " + this.courseList.size());
|
||||
for(Course c : this.courseList) {
|
||||
System.out.println(c.id + ": " + this.courseEnrolled(c.id) + " enrolled");
|
||||
}
|
||||
}
|
||||
public Course getCourse(int id) {
|
||||
for(int i =0;i<this.courseList.size();i++) {
|
||||
if(this.courseList.get(i).id == id) {
|
||||
return this.courseList.get(i);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public boolean courseEmpty(int courseID) {
|
||||
for(Student s : this.studentList) {
|
||||
if(s.grades.get(courseID) != null) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public boolean deleteCourse(int id) {
|
||||
for(int i =0;i<this.courseList.size();i++) {
|
||||
if(this.courseEmpty(this.courseList.get(i).id)) {
|
||||
if(this.courseList.get(i).id == id) {
|
||||
this.courseList.remove(i);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public boolean addStudent(int id, String name, int courseID, float floatGrade, String letterGrade) {
|
||||
for(Student i : this.studentList) {
|
||||
if(i.id == id) {
|
||||
// attempt to regitser the student in case they're trying to add a new course
|
||||
// this method should also give us proper error msgs about registering
|
||||
if(this.register(id, courseID, floatGrade, letterGrade)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// check if the course even exists at all
|
||||
boolean cFound = false;
|
||||
for(Course c : this.courseList) {
|
||||
if(c.id == courseID) {
|
||||
cFound = true;
|
||||
}
|
||||
}
|
||||
if(!cFound) {
|
||||
System.out.println("Course does not exist");
|
||||
return false;
|
||||
}
|
||||
|
||||
// finally we can add the student into the system
|
||||
// this is assuming we didn't register them earlier
|
||||
Student new_student = new Student(id, name, courseID, floatGrade, letterGrade);
|
||||
studentList.add(new_student);
|
||||
return true;
|
||||
}
|
||||
public Student getStudentInfo(int id) {
|
||||
for(Student s : this.studentList) {
|
||||
if(s.id == id) {
|
||||
return s;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public boolean graduateStudent(int id) {
|
||||
// remove the target id from all the courses
|
||||
Student tmp = getStudentInfo(id);
|
||||
if(tmp == null) {
|
||||
System.out.println("Student not found");
|
||||
return false;
|
||||
}
|
||||
|
||||
tmp.graduate();
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean register(int studentID, int courseID, float floatGrade, String letterGrade) {
|
||||
Student tmp = this.getStudentInfo(studentID);
|
||||
if(tmp.grades.keySet().contains(courseID)) {
|
||||
System.out.println("Student already enrolled");
|
||||
return false;
|
||||
}
|
||||
// make sure we don't try to regitster for a course that doesn't exist
|
||||
if(this.getCourse(courseID) == null) {
|
||||
return false;
|
||||
}
|
||||
// if the student is there but not enrolled in that course then just create a new student with new data
|
||||
tmp.enroll(courseID, floatGrade, letterGrade);
|
||||
return true;
|
||||
}
|
||||
public void drop(int studentID, int courseID) {
|
||||
}
|
||||
public void assign(int instructorID, int courseID) {
|
||||
}
|
||||
public void unassign(int instructorID, int courseID) {
|
||||
}
|
||||
// basic printout of school infor
|
||||
public void schoolInfo() {
|
||||
System.out.println("School name: " + this.name);
|
||||
// instructors
|
||||
System.out.println("Instructor info");
|
||||
for(Instructor i : this.instructorList) {
|
||||
System.out.println(i.name);
|
||||
}
|
||||
// courses
|
||||
System.out.println("Course Information");
|
||||
for(Course c : this.courseList) {
|
||||
System.out.println(c.title);
|
||||
}
|
||||
// students
|
||||
System.out.println("Student Information");
|
||||
for(Student s : this.studentList) {
|
||||
// check what courses that student is in
|
||||
for(Integer i : s.grades.keySet()) {
|
||||
Course c_rep = this.getCourse(i);
|
||||
System.out.println(s.name + ": " + c_rep.title);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
43
338/homework5/Student.java
Normal file
@@ -0,0 +1,43 @@
|
||||
import java.util.HashMap;
|
||||
import java.util.ArrayList;
|
||||
public class Student {
|
||||
public int id;
|
||||
public String name;
|
||||
// courseID, grade for that course
|
||||
public HashMap<Integer, Grade> grades;
|
||||
|
||||
public String status;
|
||||
|
||||
public Student(int id, String name, int courseId, float floatGrade, String letterGrade) {
|
||||
this.name = name;
|
||||
this.id = id;
|
||||
grades = new HashMap<Integer, Grade>();
|
||||
grades.put(courseId, new Grade(floatGrade, letterGrade));
|
||||
// default student status
|
||||
this.status = "Enrolled";
|
||||
}
|
||||
public String toString() {
|
||||
return "Student number: " + this.id + "\n" +
|
||||
"Name: " + this.name + "\n" +
|
||||
"Status: " + this.status;
|
||||
}
|
||||
public float averageGrade() {
|
||||
float sum = 0;
|
||||
int count = 0;
|
||||
for(Grade g : this.grades.values()) {
|
||||
sum += g.num_grade;
|
||||
count++;
|
||||
}
|
||||
return sum/(float)count;
|
||||
}
|
||||
public void graduate() {
|
||||
for(Integer i : this.grades.keySet()) {
|
||||
// remove from all the courses
|
||||
this.grades.remove(i);
|
||||
}
|
||||
this.status = "Graduated";
|
||||
}
|
||||
public void enroll(int courseId, float num_grade, String l_grade) {
|
||||
grades.put(courseId, new Grade(num_grade, l_grade));
|
||||
}
|
||||
}
|
||||
13
338/homework5/data1.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
4
|
||||
100,Y. Byun,ybyun@csumb.edu,111-111-1111
|
||||
200,S. Narayanan,sathya@csumb.edu,222-222-2222
|
||||
300,M. Lara,lara@csumb.edu,333-333-3333
|
||||
250,S. Bude,bude@csumb.edu,444-123-4567
|
||||
3
|
||||
338,CST338 - Software Design,100,BIT 104
|
||||
205,CST205 - Multimedia Design and Programming,200,BIT 118
|
||||
306,CST306 - Game Engine Programming,100,BIT 104
|
||||
3
|
||||
7777,Alice Otter,338,89.50,B
|
||||
8888,Bob Otter,205,75.00,C
|
||||
7777,Alice Otter,306,98.00,A
|
||||
10
338/homework5/data2.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
2
|
||||
500,G. Bruns,bruns@csumb.edu,555-222-2222
|
||||
300,O. Doe,doe@csumb.edu,444-333-3333
|
||||
1
|
||||
336,CST336 - Internet Programming,300,Library 1010
|
||||
4
|
||||
7777,Alice Otter,205,71.00,C
|
||||
7777,Unknown Otter,205,71.00,C
|
||||
7777,Alice Otter,310,81.55,B
|
||||
9999,John Doe,338,89.50,B
|
||||
8
338/homework5/makefile
Normal file
@@ -0,0 +1,8 @@
|
||||
all:
|
||||
javac App.java Course.java Instructor.java School.java Student.java
|
||||
|
||||
run: all
|
||||
@java App
|
||||
|
||||
clean:
|
||||
rm -f *class
|
||||
55
338/lab2/can.java
Normal file
@@ -0,0 +1,55 @@
|
||||
// Alejandro Santillana
|
||||
/*
|
||||
* given an array of int values,
|
||||
* is there a index in the array where the sum of values[0 .. index]
|
||||
* is equal to (or balances) the sum of values[index+1 .. length-1]
|
||||
* look at the examples below
|
||||
* Your task: design and code the canBalance methods that returns true or false
|
||||
* the program should be efficient.
|
||||
* can you solve the problem without using nested loops? 1 loop? 2 loops?
|
||||
* Then run the program to see if your method works correctly.
|
||||
*/
|
||||
|
||||
public class CanBalance {
|
||||
|
||||
public static void main(String[] args) {
|
||||
boolean r;
|
||||
r = canBalance(new int[] {1, 1, 1, 2, 1});
|
||||
System.out.println("canBalance( [1, 1, 1, 2, 1] ) should be true. You returned "+r);
|
||||
|
||||
r = canBalance(new int[] {2, 1, 1, 2, 1 });
|
||||
System.out.println("canBalance( [2, 1, 1, 2, 1]) should be false. You returned "+r);
|
||||
|
||||
r = canBalance(new int[] {10, 10});
|
||||
System.out.println("canBalance( [10,10]) should be true. You returned "+r);
|
||||
|
||||
r = canBalance(new int[] {10, 0, 1, -1, 10} );
|
||||
System.out.println("canBalance([10, 0, 1, -1, 10]) should be true. You returned "+r);
|
||||
|
||||
r = canBalance(new int[] { 1});
|
||||
System.out.println(" should be false. You returned "+r);
|
||||
|
||||
r = canBalance(new int[] {2, 1, 1, 1, 1});
|
||||
System.out.println("canBalance([2, 1, 1, 1, 1]) should be true. You returned "+r);
|
||||
|
||||
}
|
||||
|
||||
public static boolean canBalance(int[] a) {
|
||||
int sum_a = 0;
|
||||
int sub_b = 0;
|
||||
|
||||
for(int i =0;i<a.length();i++) {
|
||||
sum_a += a[i];
|
||||
sum_b = 0;
|
||||
|
||||
for(int j =i+1;j<=a.length();j++) {
|
||||
sum_b = a[j];
|
||||
if(sum_b == sum_b) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
33
338/lab2/canbalance.java
Normal file
@@ -0,0 +1,33 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>POST data</title>
|
||||
<script type="text/javascript" src="/auth/saml2/sp/../extlib/simplesamlphp/www/resources/post.js"></script>
|
||||
<link
|
||||
type="text/css" rel="stylesheet" href="/auth/saml2/sp/../extlib/simplesamlphp/www/resources/post.css" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<noscript>
|
||||
<p><strong>Note:</strong>
|
||||
Since your browser does not support JavaScript,
|
||||
you must press the button below once to proceed.</p>
|
||||
</noscript>
|
||||
|
||||
<form method="post"
|
||||
action="https://csumb.okta.com/app/csumb_ilearn_1/exkjodlcw31RcSw7R0x7/sso/saml">
|
||||
<!-- Need to add this element and call click method, because calling
|
||||
submit() on the form causes failed submission if the form has another
|
||||
element with name or id of submit.
|
||||
See: https://developer.mozilla.org/en/DOM/form.submit#Specification -->
|
||||
<input type="submit" id="postLoginSubmitButton"/>
|
||||
<input type="hidden" name="SAMLRequest" value="PHNhbWxwOkF1dGhuUmVxdWVzdCB4bWxuczpzYW1scD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIiB4bWxuczpzYW1sPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YXNzZXJ0aW9uIiBJRD0iXzY0MGQ2NDIzOThhN2U2MDU4ZGRjNTU2NTVlNmNkZTM5YTUwNjNiOTgyOSIgVmVyc2lvbj0iMi4wIiBJc3N1ZUluc3RhbnQ9IjIwMTktMDItMDhUMDI6MDM6NDNaIiBEZXN0aW5hdGlvbj0iaHR0cHM6Ly9jc3VtYi5va3RhLmNvbS9hcHAvY3N1bWJfaWxlYXJuXzEvZXhram9kbGN3MzFSY1N3N1IweDcvc3NvL3NhbWwiIEFzc2VydGlvbkNvbnN1bWVyU2VydmljZVVSTD0iaHR0cHM6Ly9pbGVhcm4uY3N1bWIuZWR1L2F1dGgvc2FtbDIvc3Avc2FtbDItYWNzLnBocC9pbGVhcm4uY3N1bWIuZWR1IiBQcm90b2NvbEJpbmRpbmc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpiaW5kaW5nczpIVFRQLVBPU1QiPjxzYW1sOklzc3Vlcj5odHRwczovL2lsZWFybi5jc3VtYi5lZHUvYXV0aC9zYW1sMi9zcC9tZXRhZGF0YS5waHA8L3NhbWw6SXNzdWVyPjxkczpTaWduYXR1cmUgeG1sbnM6ZHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPgogIDxkczpTaWduZWRJbmZvPjxkczpDYW5vbmljYWxpemF0aW9uTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8xMC94bWwtZXhjLWMxNG4jIi8+CiAgICA8ZHM6U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxkc2lnLW1vcmUjcnNhLXNoYTI1NiIvPgogIDxkczpSZWZlcmVuY2UgVVJJPSIjXzY0MGQ2NDIzOThhN2U2MDU4ZGRjNTU2NTVlNmNkZTM5YTUwNjNiOTgyOSI+PGRzOlRyYW5zZm9ybXM+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNlbnZlbG9wZWQtc2lnbmF0dXJlIi8+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyIvPjwvZHM6VHJhbnNmb3Jtcz48ZHM6RGlnZXN0TWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMjc2hhMjU2Ii8+PGRzOkRpZ2VzdFZhbHVlPlc0Qjdpek05WGE5cWtYeEtMV3IvSEVIRE94WEVxWTlLQXBIZ3RBNG03Mnc9PC9kczpEaWdlc3RWYWx1ZT48L2RzOlJlZmVyZW5jZT48L2RzOlNpZ25lZEluZm8+PGRzOlNpZ25hdHVyZVZhbHVlPkdQZUhqMTRlbWYwWE56cjJEMDhqT2N6WGpLRFJzZlNyZE1VUlBrdDUraTlNZXRzYXBtamZEQ0p6RUFZa3E3TnFHUjF0NVY3L3ZWZW0rYmRiaUxGeUUreXRKeldrSjUzRjAvUkJ0TUJwVUdTVUVjYjZadGlBSXJpZzlkTDU5eE1PK3Z0T2xzd0s4NVprdXhNbHJKQjBRdVdpVVVpVTFMSHFnUUdOMHkwNS9UYUg3Zzl6V3RZWlRESFF5OEMxOEJYTENZY3h4dGh2NnVBNnM1QVB1SGx4S0poL3hhZXMvQ21ZZGlERGNBWlg1cWJZZDU5NjJrOSt1Q0V3emhFVHRyVFhjd0w1MGxQS29MRDVTcFJqUk54SHIxaU5jbzF5bDVyemtseExhT0dBb21TczYxdzVVNkNFbkNTRjh0a3kwakpOaVFHR3ZWdVNmNXM2cXhnWlgwNHNFQT09PC9kczpTaWduYXR1cmVWYWx1ZT4KPGRzOktleUluZm8+PGRzOlg1MDlEYXRhPjxkczpYNTA5Q2VydGlmaWNhdGU+TUlJRC9UQ0NBdVdnQXdJQkFnSUJBREFOQmdrcWhraUc5dzBCQVFVRkFEQ0JtREVQTUEwR0ExVUVBd3dHWlZSb2FXNXJNUXN3Q1FZRFZRUUdFd0pWVXpFdk1DMEdDU3FHU0liM0RRRUpBUllnYW1WemMyVXVjMkZtY21GdVFHVjBhR2x1YTJWa2RXTmhkR2x2Ymk1amIyMHhFakFRQmdOVkJBY01DVUpoYkhScGJXOXlaVEVQTUEwR0ExVUVDZ3dHWlZSb2FXNXJNUkV3RHdZRFZRUUlEQWhOWVhKNWJHRnVaREVQTUEwR0ExVUVDd3dHWlZSb2FXNXJNQjRYRFRFNE1EVXhPREUxTWpnd01Wb1hEVEk0TURVeE5URTFNamd3TVZvd2daZ3hEekFOQmdOVkJBTU1CbVZVYUdsdWF6RUxNQWtHQTFVRUJoTUNWVk14THpBdEJna3Foa2lHOXcwQkNRRVdJR3BsYzNObExuTmhabkpoYmtCbGRHaHBibXRsWkhWallYUnBiMjR1WTI5dE1SSXdFQVlEVlFRSERBbENZV3gwYVcxdmNtVXhEekFOQmdOVkJBb01CbVZVYUdsdWF6RVJNQThHQTFVRUNBd0lUV0Z5ZVd4aGJtUXhEekFOQmdOVkJBc01CbVZVYUdsdWF6Q0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU5hckN2ZWR3dWlIbVlXWXFQN09kb3FRdDN2SGZsb1hsL01keHVMcEE5Z1VEWVJYWUkyZ3V4Zy9iR3Q1TkVuVCtFRzVucFZZS2pGUFBpU0Nsait6ckNtaFl0MzM4SEw0N2V5QUZ5ZWlIbU9sbklDTlJFbGFIK1lTMG9SRVBiaDZNV2Y4cUpEVlJrQjNBVEJJeUFwdFVicW9GOVhIMDFOb3RWU3N2MEg2bWhrb3FOb3BSSGN0N1RMY3hVRUpZdWNmWEhpdmZJS1gzQzI5Y2lXNjlvVWdkTm85bDJNc1NTanBzaE1EbS82Z3FjYVExL1NlUFN5ak50UHp3dTNGUnh5NXNoSVYvQ00vZDJCczdZWjJVZ0JlNWtNeXQ3RU1XbUdJOTMra01odGxMaEtNMTVTMUZMcElzR2RDLzJOZ0VCUHF4S09DNDhXNFF3S2RCazJRMVE1NVc2MENBd0VBQWFOUU1FNHdIUVlEVlIwT0JCWUVGT1lRV3llYlpXTFpVM0hMREFjVWtRajdydTNtTUI4R0ExVWRJd1FZTUJhQUZPWVFXeWViWldMWlUzSExEQWNVa1FqN3J1M21NQXdHQTFVZEV3UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFJV0d6U3RwWXdVU21IQ3loK2NPV1BrQlI5YzBrM2xUbkVFVmJ6SzhtdnIzWUd6Zy9KQUZoeTZuRDFGNnlQN0Z0MzdMQkRDZ2ZDK2xWV3F5bVU3SFNDOHhNNXkzeHpERlkvalR5R0pDVHV5bXQ2Qk5MR3ZlaHl2cWY0V25kSmRkUXIweTZxL09wNDRLQTlISG5rMENFQk94Z1p1UnJsMmp1VW9abmlGK3RZTW5ib3pyQXgyekxsVnE4ZEttMkVnb0Y1a0ZBMjNYZE9hczBDaHF1S3Z5Y3NWU3JUb0tyNjBjNlcwdlBBZGJ2bWd0MTM3U0pHMTJWR2g2d0M2NW5tRnpKcVRXeE5WbjRDRkNlZ3czWDN3aHgyYlJqRlBYYVFkdEJMMWQzNFNhR09Gb1RNYzUxTUV2M1R0QStIeGVLSkRlRTdDNmhHTzc0RlhIMmtMRFE2TDNzcE09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9kczpTaWduYXR1cmU+PHNhbWxwOk5hbWVJRFBvbGljeSBGb3JtYXQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjEuMTpuYW1laWQtZm9ybWF0OnVuc3BlY2lmaWVkIiBBbGxvd0NyZWF0ZT0idHJ1ZSIvPjwvc2FtbHA6QXV0aG5SZXF1ZXN0Pg==" /><input type="hidden" name="RelayState" value="https://ilearn.csumb.edu/pluginfile.php/1114706/mod_resource/content/1/CanBalance.java" />
|
||||
<noscript>
|
||||
<button type="submit" class="btn">Submit</button>
|
||||
</noscript>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
338/lab5/build/h1.gif
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
338/lab5/build/h2.gif
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
338/lab5/build/h3.gif
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
338/lab5/build/h4.gif
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
338/lab5/build/h5.gif
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
338/lab5/build/h6.gif
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
338/lab5/build/h7.gif
Normal file
|
After Width: | Height: | Size: 12 KiB |
112
338/lab5/build/hangman/Game.java
Normal file
@@ -0,0 +1,112 @@
|
||||
package hangman;
|
||||
/**
|
||||
* Game contains the logic for game of hangman.
|
||||
*
|
||||
*/
|
||||
public class Game {
|
||||
|
||||
protected String word;
|
||||
protected int remaining_guesses;
|
||||
protected StringBuffer display;
|
||||
protected String correctGuess;
|
||||
protected String badGuess;
|
||||
|
||||
/**
|
||||
* Game constructor
|
||||
* @param word - the word to be guessed
|
||||
* @param guesses - number of incorrect guesses allowed
|
||||
*/
|
||||
public Game(String word, int guesses) {
|
||||
this.word = word;
|
||||
remaining_guesses = guesses;
|
||||
correctGuess = "";
|
||||
badGuess = "";
|
||||
display = new StringBuffer();
|
||||
for (int i = 0; i < word.length(); i++) {
|
||||
char c = word.charAt(i);
|
||||
if (Character.isLetter(c)) {
|
||||
display.append("_");
|
||||
} else {
|
||||
display.append("#");
|
||||
}
|
||||
display.append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
public String getWord() {
|
||||
return word;
|
||||
}
|
||||
|
||||
public int getRemainingGuesses() {
|
||||
return remaining_guesses;
|
||||
}
|
||||
|
||||
public String getDisplay() {
|
||||
return display.toString();
|
||||
}
|
||||
|
||||
/* return code from processGuess */
|
||||
|
||||
public static final int GOOD = 1;
|
||||
public static final int BAD = 2;
|
||||
public static final int WON = 3;
|
||||
public static final int LOST = 4;
|
||||
public static final int REPEAT_GOOD_GUESS = 5;
|
||||
public static final int REPEAT_BAD_GUESS = 6;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param c - the letter guessed
|
||||
* @return code
|
||||
*/
|
||||
public int processGuess(char c) {
|
||||
if (correctGuess.indexOf(c) >= 0) {
|
||||
return REPEAT_GOOD_GUESS;
|
||||
}
|
||||
|
||||
if (badGuess.indexOf(c) >= 0) {
|
||||
remaining_guesses -= 1;
|
||||
if (remaining_guesses <= 0 && display.indexOf("_") >= 0) {
|
||||
return LOST;
|
||||
} else {
|
||||
return REPEAT_BAD_GUESS;
|
||||
}
|
||||
|
||||
} else {
|
||||
boolean found = false;
|
||||
for (int i = 0; i < word.length(); i++) {
|
||||
if (c == word.charAt(i)) {
|
||||
found = true;
|
||||
correctGuess += c;
|
||||
display.replace(2 * i, 2 * i + 1, word.substring(i, i + 1));
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
remaining_guesses -= 1;
|
||||
badGuess += c;
|
||||
if (remaining_guesses <= 0 && display.indexOf("_") >= 0) {
|
||||
return LOST;
|
||||
} else {
|
||||
return BAD;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (display.indexOf("_") < 0) {
|
||||
return WON;
|
||||
} else {
|
||||
return GOOD;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* user asks for a hint.
|
||||
* @return code WON, LOST or GOOD.
|
||||
*/
|
||||
public int doHint() {
|
||||
int k = display.indexOf("_");
|
||||
char c = word.charAt(k / 2);
|
||||
int rc = processGuess(c);
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
156
338/lab5/build/hangman/Hangman.java
Normal file
@@ -0,0 +1,156 @@
|
||||
package hangman;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
import java.util.Scanner;
|
||||
import javafx.application.Application;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.event.EventHandler;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.scene.text.Text;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
|
||||
public class Hangman extends Application {
|
||||
|
||||
Image[] images = new Image[7];
|
||||
ArrayList<String> words;
|
||||
Game g;
|
||||
ImageView imageView;
|
||||
Text text1;
|
||||
Text text2;
|
||||
TextField textField;
|
||||
|
||||
@Override
|
||||
public void start(Stage stage) throws Exception {
|
||||
|
||||
words = new ArrayList<String>();
|
||||
readFile();
|
||||
|
||||
g = new Game(pickRandomWord(), 6);
|
||||
|
||||
try {
|
||||
//load image files
|
||||
images[0] = new Image(new FileInputStream("./h1.gif"));
|
||||
images[1] = new Image(new FileInputStream("./h2.gif"));
|
||||
images[2] = new Image(new FileInputStream("./h3.gif"));
|
||||
images[3] = new Image(new FileInputStream("./h4.gif"));
|
||||
images[4] = new Image(new FileInputStream("./h5.gif"));
|
||||
images[5] = new Image(new FileInputStream("./h6.gif"));
|
||||
images[6] = new Image(new FileInputStream("./h7.gif"));
|
||||
} catch (Exception e) {
|
||||
System.out.println("Error. " + e.getMessage());
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
imageView = new ImageView(images[0]);
|
||||
text1 = new Text("Guess a letter or ask for hint.");
|
||||
text2 = new Text(g.getDisplay());
|
||||
textField = new TextField();
|
||||
textField.setOnAction(new GameController());
|
||||
VBox vbox = new VBox(10);
|
||||
vbox.getChildren().addAll(imageView, text1, text2, textField);
|
||||
|
||||
//Creating a scene object
|
||||
Scene scene = new Scene(vbox, 250, 350);
|
||||
stage.setTitle("Play Hangman");
|
||||
stage.setScene(scene);
|
||||
stage.show();
|
||||
}
|
||||
|
||||
public class GameController implements EventHandler<ActionEvent> {
|
||||
|
||||
@Override
|
||||
public void handle(ActionEvent ae) {
|
||||
String user_input = textField.getText();
|
||||
//DEBUG System.out.println(user_input);
|
||||
if (user_input.length() == 0) {
|
||||
text1.setText("Enter a single letter or enter hint.");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
} else if (user_input.equalsIgnoreCase("hint")) {
|
||||
int rc = g.doHint();
|
||||
imageView.setImage(images[6 - g.getRemainingGuesses()]);
|
||||
if (rc == Game.WON) {
|
||||
text1.setText("You won!");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
} else if (rc == Game.LOST) {
|
||||
text1.setText("");
|
||||
text2.setText("Game over. The word was: " + g.getWord());
|
||||
textField.setText("");
|
||||
} else {
|
||||
text1.setText("Enter a guess or hint.");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
}
|
||||
|
||||
} else {
|
||||
char c = user_input.charAt(0);
|
||||
int rc = g.processGuess(c);
|
||||
switch (rc) {
|
||||
case Game.BAD:
|
||||
text1.setText("No " + c + " in the word. " + g.getRemainingGuesses() + " attempts left.");
|
||||
textField.setText("");
|
||||
imageView.setImage(images[6 - g.getRemainingGuesses()]);
|
||||
break;
|
||||
case Game.GOOD:
|
||||
text1.setText("Yes. There is a " + c + " in the word.");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
break;
|
||||
case Game.LOST:
|
||||
text1.setText("That was your last guess. Game Over");
|
||||
text2.setText("Word was: " + g.getWord());
|
||||
imageView.setImage(images[6]);
|
||||
textField.setText("");
|
||||
break;
|
||||
case Game.WON:
|
||||
text1.setText("You won!");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
break;
|
||||
case Game.REPEAT_GOOD_GUESS:
|
||||
text1.setText("You already guessed that letter.");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
case Game.REPEAT_BAD_GUESS:
|
||||
text1.setText("You already guessed that letter.");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
imageView.setImage(images[6 - g.getRemainingGuesses()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
launch(args);
|
||||
}
|
||||
|
||||
public void readFile(){
|
||||
try {
|
||||
File f = new File("words.txt");
|
||||
Scanner infile = new Scanner(f);
|
||||
while (infile.hasNext()){
|
||||
words.add(infile.nextLine().trim());
|
||||
}
|
||||
infile.close();
|
||||
|
||||
}catch (Exception e){
|
||||
System.out.println("Error exception. "+e.getMessage());
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
public String pickRandomWord() {
|
||||
int k = new Random().nextInt(words.size());
|
||||
return words.get(k);
|
||||
}
|
||||
|
||||
}
|
||||
18
338/lab5/build/hangman/makefile
Normal file
@@ -0,0 +1,18 @@
|
||||
cc=~/Downloads/jdk-11.0.2/bin/javac
|
||||
fxlib=--module-path /home/shockrah/Downloads/javafx-sdk-11.0.2/lib
|
||||
ctrl=--add-modules javafx.controls
|
||||
|
||||
env=~/Downloads/jdk-11.0.2/bin/java
|
||||
jfile=Game.java Hangman.java
|
||||
cfile="Hangman"
|
||||
|
||||
default:
|
||||
# takes a java file as entry to build
|
||||
$(cc) $(fxlib) $(jfile) $(ctr)
|
||||
|
||||
# ouchie
|
||||
run:
|
||||
$(env) $(fxlib) $(ctrl) $(cfile)
|
||||
|
||||
clean:
|
||||
rm -f *class
|
||||
2
338/lab5/build/hangman/run.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
[ -z $1 ] && echo "no target" && exit 1
|
||||
java --module-path /home/shockrah/Downloads/javafx-sdk-11.0.2/lib --add-modules javafx.controls $1
|
||||
1
338/lab5/build/make.sh
Normal file
@@ -0,0 +1 @@
|
||||
javac --module-path /home/shockrah/Downloads/javafx-sdk-11.0.2/lib $1 --add-modules javafx.controls
|
||||
2
338/lab5/build/run
Executable file
@@ -0,0 +1,2 @@
|
||||
[ -z $1 ] && echo "no target" && exit 1
|
||||
java --module-path /home/shockrah/Downloads/javafx-sdk-11.0.2/lib --add-modules javafx.controls $1
|
||||
2
338/lab5/build/run.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
[ -z $1 ] && echo "no target" && exit 1
|
||||
java --module-path /home/shockrah/Downloads/javafx-sdk-11.0.2/lib --add-modules javafx.controls $1
|
||||
53
338/lab5/source/build.xml
Normal file
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!-- You may freely edit this file. See commented blocks below for --><!-- some examples of how to customize the build. --><!-- (If you delete it and reopen the project it will be recreated.) --><!-- By default, only the Clean and Build commands use this build script. --><project name="javafxsample" default="default" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant">
|
||||
<description>Builds, tests, and runs the project javafxsample.</description>
|
||||
<import file="nbproject/build-impl.xml"/>
|
||||
<!--
|
||||
|
||||
There exist several targets which are by default empty and which can be
|
||||
used for execution of your tasks. These targets are usually executed
|
||||
before and after some main targets. Those of them relevant for JavaFX project are:
|
||||
|
||||
-pre-init: called before initialization of project properties
|
||||
-post-init: called after initialization of project properties
|
||||
-pre-compile: called before javac compilation
|
||||
-post-compile: called after javac compilation
|
||||
-pre-compile-test: called before javac compilation of JUnit tests
|
||||
-post-compile-test: called after javac compilation of JUnit tests
|
||||
-pre-jfx-jar: called before FX SDK specific <fx:jar> task
|
||||
-post-jfx-jar: called after FX SDK specific <fx:jar> task
|
||||
-pre-jfx-deploy: called before FX SDK specific <fx:deploy> task
|
||||
-post-jfx-deploy: called after FX SDK specific <fx:deploy> task
|
||||
-pre-jfx-native: called just after -pre-jfx-deploy if <fx:deploy> runs in native packaging mode
|
||||
-post-jfx-native: called just after -post-jfx-deploy if <fx:deploy> runs in native packaging mode
|
||||
-post-clean: called after cleaning build products
|
||||
|
||||
(Targets beginning with '-' are not intended to be called on their own.)
|
||||
|
||||
Example of inserting a HTML postprocessor after javaFX SDK deployment:
|
||||
|
||||
<target name="-post-jfx-deploy">
|
||||
<basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
|
||||
<property name="jfx.deployment.html" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}.html"/>
|
||||
<custompostprocess>
|
||||
<fileset dir="${jfx.deployment.html}"/>
|
||||
</custompostprocess>
|
||||
</target>
|
||||
|
||||
Example of calling an Ant task from JavaFX SDK. Note that access to JavaFX SDK Ant tasks must be
|
||||
initialized; to ensure this is done add the dependence on -check-jfx-sdk-version target:
|
||||
|
||||
<target name="-post-jfx-jar" depends="-check-jfx-sdk-version">
|
||||
<echo message="Calling jar task from JavaFX SDK"/>
|
||||
<fx:jar ...>
|
||||
...
|
||||
</fx:jar>
|
||||
</target>
|
||||
|
||||
For more details about JavaFX SDK Ant tasks go to
|
||||
http://docs.oracle.com/javafx/2/deployment/jfxpub-deployment.htm
|
||||
|
||||
For list of available properties check the files
|
||||
nbproject/build-impl.xml and nbproject/jfx-impl.xml.
|
||||
|
||||
-->
|
||||
</project>
|
||||
4
338/lab5/source/build/built-jar.properties
Normal file
@@ -0,0 +1,4 @@
|
||||
#Wed, 20 Feb 2019 12:05:41 -0800
|
||||
|
||||
|
||||
C\:\\Users\\wisne\\Documents\\NetBeansProjects\\javafxsample=
|
||||
375
338/lab5/source/build/test/results/TEST-hangman.GameTest.xml
Normal file
@@ -0,0 +1,375 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<testsuite errors="5" failures="0" hostname="DESKTOP-JSCKJ80" name="hangman.GameTest" skipped="0" tests="5" time="0.051" timestamp="2019-02-20T20:05:42">
|
||||
<properties>
|
||||
<property name="netbeans.autoupdate.country" value="US" />
|
||||
<property name="javafx.binarycss" value="false" />
|
||||
<property name="ant.file.type.hangmanfx-impl" value="file" />
|
||||
<property name="javac.test.classpath" value="C:\Program Files\Java\jdk1.8.0_181\jre/lib/javaws.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/deploy.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/plugin.jar:build/classes:C:\Program Files\NetBeans 8.1\platform\modules\ext\junit-4.12.jar:C:\Program Files\NetBeans 8.1\platform\modules\ext\hamcrest-core-1.3.jar" />
|
||||
<property name="manifest.custom.codebase" value="*" />
|
||||
<property name="javac.includes" value="hangman/GameTest.java" />
|
||||
<property name="ant.core.lib" value="C:\Program Files\NetBeans 8.1\extide\ant\lib\ant.jar" />
|
||||
<property name="javadoc.windowtitle" value="" />
|
||||
<property name="javafx.preloader.enabled" value="false" />
|
||||
<property name="user.dir" value="C:\Users\wisne\Documents\NetBeansProjects\javafxsample" />
|
||||
<property name="java.vm.version" value="25.181-b13" />
|
||||
<property name="libs.MySQLDriver.classpath" value="C:\Program Files\NetBeans 8.1\ide\modules\ext\mysql-connector-java-5.1.23-bin.jar" />
|
||||
<property name="libs.eclipselinkmodelgen.src" value="" />
|
||||
<property name="javadoc.notree" value="false" />
|
||||
<property name="netbeans.autoupdate.version" value="1.23" />
|
||||
<property name="javac.profile.cmd.line.arg" value="" />
|
||||
<property name="jdk.home" value="C:\Program Files\Java\jdk1.8.0_181" />
|
||||
<property name="libs.javac-api.src" value="" />
|
||||
<property name="javafx.enabled" value="true" />
|
||||
<property name="javadoc.noindex" value="false" />
|
||||
<property name="libs.jpa2-persistence.classpath" value="C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\hibernate-jpa-2.1-api-1.0.0.Final.jar" />
|
||||
<property name="sun.os.patch.level" value="" />
|
||||
<property name="auxiliary.org-netbeans-modules-projectapi.issue214819_5f_fx_5f_enabled" value="true" />
|
||||
<property name="java.vm.specification.name" value="Java Virtual Machine Specification" />
|
||||
<property name="nb.show.statistics.ui" value="usageStatisticsEnabled" />
|
||||
<property name="netbeans.autoupdate.variant" value="" />
|
||||
<property name="have.tests" value="true" />
|
||||
<property name="org.xml.sax.driver" value="com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser" />
|
||||
<property name="libs.hamcrest.classpath" value="C:\Program Files\NetBeans 8.1\platform\modules\ext\hamcrest-core-1.3.jar" />
|
||||
<property name="libs.javac-api.javadoc" value="" />
|
||||
<property name="os.name" value="Windows 10" />
|
||||
<property name="test.class" value="hangman.GameTest" />
|
||||
<property name="libs.beans-binding.classpath" value="C:\Program Files\NetBeans 8.1\java\modules\ext\beansbinding-1.2.1.jar" />
|
||||
<property name="ap.proc.none.internal" value="" />
|
||||
<property name="libs.JWSAntTasks.maven-pom" value="" />
|
||||
<property name="libs.testng.src" value="" />
|
||||
<property name="javafx.preloader.project.path" value="" />
|
||||
<property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/" />
|
||||
<property name="javafx.preloader.type" value="none" />
|
||||
<property name="libs.jaxb.maven-pom" value="" />
|
||||
<property name="os.arch" value="amd64" />
|
||||
<property name="libs.eclipselink.src" value="" />
|
||||
<property name="user.name" value="wisne" />
|
||||
<property name="copylibs.rebase" value="true" />
|
||||
<property name="libs.swing-layout.maven-pom" value="" />
|
||||
<property name="sun.java.command" value="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner hangman.GameTest skipNonTests=false filtertrace=true haltOnError=false haltOnFailure=false showoutput=true outputtoformatters=true logfailedtests=true threadid=0 logtestlistenerevents=true formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,C:\Users\wisne\Documents\NetBeansProjects\javafxsample\build\test\results\TEST-hangman.GameTest.xml crashfile=C:\Users\wisne\Documents\NetBeansProjects\javafxsample\build\junitvmwatcher5728162905230135902.properties propsfile=C:\Users\wisne\Documents\NetBeansProjects\javafxsample\build\junit1001895532739290321.properties" />
|
||||
<property name="build.classes.dir" value="build/classes" />
|
||||
<property name="netbeans.accept_license_class" value="org.netbeans.license.AcceptLicense" />
|
||||
<property name="build.sysclasspath" value="ignore" />
|
||||
<property name="ap.supported.internal" value="true" />
|
||||
<property name="java.failonerror" value="true" />
|
||||
<property name="libs.jaxws21.javadoc" value="C:\Program Files\NetBeans 8.1\java\docs\jaxws-api-doc.zip" />
|
||||
<property name="javafx.run.width" value="800" />
|
||||
<property name="includes" value="**" />
|
||||
<property name="user.country" value="US" />
|
||||
<property name="manifest.file" value="manifest.mf" />
|
||||
<property name="javadoc.encoding" value="UTF-8" />
|
||||
<property name="javac.classpath" value="C:\Program Files\Java\jdk1.8.0_181\jre/lib/javaws.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/deploy.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/plugin.jar" />
|
||||
<property name="libs.spring-framework400.classpath" value="C:\Program Files\NetBeans 8.1\ide\modules\org-apache-commons-logging.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\cglib-2.2.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-aop-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-aspects-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-beans-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-build-src-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-context-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-context-support-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-core-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-expression-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-framework-bom-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-instrument-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-instrument-tomcat-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-jdbc-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-jms-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-messaging-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-orm-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-oxm-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-test-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-tx-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-web-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-webmvc-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-webmvc-portlet-4.0.1.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-4\spring-websocket-4.0.1.RELEASE.jar" />
|
||||
<property name="debug-transport" value="dt_shmem" />
|
||||
<property name="netbeans.home" value="C:\Program Files\NetBeans 8.1\platform" />
|
||||
<property name="build.compiler.emacs" value="true" />
|
||||
<property name="javafx.deploy.includeDT" value="true" />
|
||||
<property name="java.endorsed.dirs" value="C:\Program Files\Java\jdk1.8.0_181\jre\lib\endorsed" />
|
||||
<property name="pythonplatform.Python_3.7.0.console" value="C:\Users\wisne\AppData\Local\Programs\Python\Python37-32\python.exe" />
|
||||
<property name="test.includes" value="hangman/GameTest.java" />
|
||||
<property name="netbeans.dynamic.classpath" value="C:\Program Files\NetBeans 8.1\platform\core\asm-all-5.0.1.jar;C:\Program Files\NetBeans 8.1\platform\core\core-base.jar;C:\Program Files\NetBeans 8.1\platform\core\core.jar;C:\Program Files\NetBeans 8.1\platform\core\org-netbeans-libs-asm.jar;C:\Program Files\NetBeans 8.1\platform\core\org-openide-filesystems-compat8.jar;C:\Program Files\NetBeans 8.1\platform\core\org-openide-filesystems.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\core-base_ja.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\core-base_pt_BR.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\core-base_ru.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\core-base_zh_CN.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\core_ja.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\core_pt_BR.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\core_ru.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\core_zh_CN.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\org-netbeans-libs-asm_ja.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\org-netbeans-libs-asm_pt_BR.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\org-netbeans-libs-asm_ru.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\org-netbeans-libs-asm_zh_CN.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\org-openide-filesystems-compat8_ja.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\org-openide-filesystems-compat8_pt_BR.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\org-openide-filesystems-compat8_ru.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\org-openide-filesystems-compat8_zh_CN.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\org-openide-filesystems_ja.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\org-openide-filesystems_pt_BR.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\org-openide-filesystems_ru.jar;C:\Program Files\NetBeans 8.1\platform\core\locale\org-openide-filesystems_zh_CN.jar;C:\Program Files\NetBeans 8.1\nb\core\org-netbeans-upgrader.jar;C:\Program Files\NetBeans 8.1\nb\core\locale\core_nb.jar;C:\Program Files\NetBeans 8.1\nb\core\locale\core_nb_ja.jar;C:\Program Files\NetBeans 8.1\nb\core\locale\core_nb_pt_BR.jar;C:\Program Files\NetBeans 8.1\nb\core\locale\core_nb_ru.jar;C:\Program Files\NetBeans 8.1\nb\core\locale\core_nb_zh_CN.jar;C:\Program Files\NetBeans 8.1\nb\core\locale\org-netbeans-upgrader_ja.jar;C:\Program Files\NetBeans 8.1\nb\core\locale\org-netbeans-upgrader_pt_BR.jar;C:\Program Files\NetBeans 8.1\nb\core\locale\org-netbeans-upgrader_ru.jar;C:\Program Files\NetBeans 8.1\nb\core\locale\org-netbeans-upgrader_zh_CN.jar" />
|
||||
<property name="jnlp.enabled" value="false" />
|
||||
<property name="java.vm.specification.version" value="1.8" />
|
||||
<property name="libs.hibernate4-support.src" value="" />
|
||||
<property name="netbeans.productversion" value="NetBeans IDE 8.1 (Build 201510222201)" />
|
||||
<property name="javafx.preloader.class" value="" />
|
||||
<property name="libs.jaxws21.src" value="" />
|
||||
<property name="application.title" value="hangmanfx" />
|
||||
<property name="python.console.encoding" value="cp0" />
|
||||
<property name="netbeans.autoupdate.language" value="en" />
|
||||
<property name="java.vendor" value="Oracle Corporation" />
|
||||
<property name="jar.index.metainf" value="false" />
|
||||
<property name="javac.debug" value="true" />
|
||||
<property name="javadoc.splitindex" value="true" />
|
||||
<property name="file.separator" value="\" />
|
||||
<property name="javac.includesfile.binary" value="C:\Users\wisne\Documents\NetBeansProjects\javafxsample\null1696129323" />
|
||||
<property name="libs.junit_4.maven-pom" value="" />
|
||||
<property name="javac.test.processorpath" value="C:\Program Files\Java\jdk1.8.0_181\jre/lib/javaws.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/deploy.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/plugin.jar:build/classes:C:\Program Files\NetBeans 8.1\platform\modules\ext\junit-4.12.jar:C:\Program Files\NetBeans 8.1\platform\modules\ext\hamcrest-core-1.3.jar" />
|
||||
<property name="netbeans.buildnumber" value="201510222201" />
|
||||
<property name="libs.JWSAntTasks.javadoc" value="" />
|
||||
<property name="build.generated.sources.dir" value="build/generated-sources" />
|
||||
<property name="user.variant" value="" />
|
||||
<property name="libs.eclipselinkmodelgen.classpath" value="C:\Program Files\NetBeans 8.1\java\modules\ext\eclipselink\org.eclipse.persistence.jpa.modelgen_2.5.2.v20140319-9ad6abd.jar" />
|
||||
<property name="sun.java.launcher" value="SUN_STANDARD" />
|
||||
<property name="libs.hibernate4-persistencemodelgen.javadoc" value="" />
|
||||
<property name="libs.jaxb.javadoc" value="C:\Program Files\NetBeans 8.1\ide\docs\jaxb-api-doc.zip" />
|
||||
<property name="javac.includes.binary" value="C:\Users\wisne\Documents\NetBeansProjects\javafxsample\build\test\classes\hangman\GameTest.class" />
|
||||
<property name="ant.home" value="C:\Program Files\NetBeans 8.1\extide\ant" />
|
||||
<property name="libs.junit_4.src" value="C:\Program Files\NetBeans 8.1\platform\docs\junit-4.12-sources.jar" />
|
||||
<property name="javafx.run.height" value="600" />
|
||||
<property name="libs.testng.classpath" value="C:\Program Files\NetBeans 8.1\platform\modules\ext\testng-6.8.1-dist.jar" />
|
||||
<property name="libs.absolutelayout.maven-pom" value="" />
|
||||
<property name="ant.java.version" value="1.8" />
|
||||
<property name="java.library.path" value="C:\Program Files\Java\jdk1.8.0_181\jre\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;c:\Program Files\Java\jdk1.8.0_181\bin;C:\RailsInstaller\Git\cmd;C:\RailsInstaller\Ruby2.3.3\bin;C:\Users\wisne\AppData\Local\Programs\Python\Python37-32\Scripts\;C:\Users\wisne\AppData\Local\Programs\Python\Python37-32\;C:\Users\wisne\AppData\Local\Microsoft\WindowsApps;." />
|
||||
<property name="javadoc.author" value="false" />
|
||||
<property name="java.util.logging.config.class" value="org.netbeans.core.startup.TopLogging" />
|
||||
<property name="libs.spring-framework400.src" value="" />
|
||||
<property name="libs.PostgreSQLDriver.src" value="" />
|
||||
<property name="sun.arch.data.model" value="64" />
|
||||
<property name="basedir" value="C:\Users\wisne\Documents\NetBeansProjects\javafxsample" />
|
||||
<property name="libs.jpa20-persistence.maven-pom" value="" />
|
||||
<property name="jar.compress" value="false" />
|
||||
<property name="path.separator" value=";" />
|
||||
<property name="ant.junit.enabletestlistenerevents" value="true" />
|
||||
<property name="sun.io.unicode.encoding" value="UnicodeLittle" />
|
||||
<property name="libs.jaxws21.classpath" value="C:\Program Files\NetBeans 8.1\ide\modules\ext\jaxb\jaxb-impl.jar;C:\Program Files\NetBeans 8.1\ide\modules\ext\jaxb\jaxb-xjc.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\FastInfoset.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\gmbal-api-only.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\ha-api.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\javax.mail_1.4.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\jaxws-rt.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\jaxws-tools.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\management-api.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\mimepull.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\policy.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\saaj-impl.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\stax-ex.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\stax2-api.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\streambuffer.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\woodstox-core-asl.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\api\jaxws-api.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\api\jsr181-api.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\api\javax.annotation.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\jaxws22\api\saaj-api.jar;C:\Program Files\NetBeans 8.1\ide\modules\ext\jaxb\activation.jar;C:\Program Files\NetBeans 8.1\ide\modules\ext\jaxb\api\jaxb-api.jar;C:\Program Files\NetBeans 8.1\ide\modules\ext\jaxb\api\jsr173_1.0_api.jar" />
|
||||
<property name="compile.on.save" value="true" />
|
||||
<property name="apple.awt.graphics.UseQuartz" value="true" />
|
||||
<property name="user.language" value="en" />
|
||||
<property name="testng.mode" value="testng" />
|
||||
<property name="libs.JAXB-ENDORSED.maven-pom" value="" />
|
||||
<property name="libs.eclipselink.maven-pom" value="" />
|
||||
<property name="application.vendor" value="wisne" />
|
||||
<property name="test.binaryincludes" value="<nothing>" />
|
||||
<property name="manifest.available" value="true" />
|
||||
<property name="libs.spring-framework300.maven-pom" value="" />
|
||||
<property name="run.test.classpath" value="C:\Program Files\Java\jdk1.8.0_181\jre/lib/javaws.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/deploy.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/plugin.jar:build/classes:C:\Program Files\NetBeans 8.1\platform\modules\ext\junit-4.12.jar:C:\Program Files\NetBeans 8.1\platform\modules\ext\hamcrest-core-1.3.jar:build/test/classes" />
|
||||
<property name="ant.project.invoked-targets" value="test-single" />
|
||||
<property name="test.binaryexcludes" value="" />
|
||||
<property name="libs.swing-layout.javadoc" value="C:\Program Files\NetBeans 8.1\platform\docs\swing-layout-1.0.4-doc.zip" />
|
||||
<property name="sun.java2d.dpiaware" value="true" />
|
||||
<property name="libs.hibernate4-persistence.maven-pom" value="" />
|
||||
<property name="https.nonProxyHosts" value="localhost|127.0.0.1|DESKTOP-JSCKJ80" />
|
||||
<property name="libs.PostgreSQLDriver.maven-pom" value="" />
|
||||
<property name="java.class.version" value="52.0" />
|
||||
<property name="libs.hibernate4-persistencemodelgen.maven-pom" value="" />
|
||||
<property name="libs.eclipselink.javadoc" value="C:\Program Files\NetBeans 8.1\java\modules\ext\docs\javax.persistence-2.1.0-doc.zip" />
|
||||
<property name="user.properties.file" value="C:\Users\wisne\AppData\Roaming\NetBeans\8.1\build.properties" />
|
||||
<property name="runtime.encoding" value="UTF-8" />
|
||||
<property name="javafx.rebase.libs" value="false" />
|
||||
<property name="libs.javac-api.maven-pom" value="" />
|
||||
<property name="file.encoding.pkg" value="sun.io" />
|
||||
<property name="sun.cpu.endian" value="little" />
|
||||
<property name="libs.JAXB-ENDORSED.javadoc" value="" />
|
||||
<property name="libs.JWSAntTasks.classpath" value="C:\Program Files\NetBeans 8.1\java\ant\extra\org-netbeans-modules-javawebstart-anttasks.jar" />
|
||||
<property name="libs.spring-framework300.src" value="" />
|
||||
<property name="empty.dir" value="C:\Users\wisne\Documents\NetBeansProjects\javafxsample\build\empty" />
|
||||
<property name="javafx.deploy.backgroundupdate" value="false" />
|
||||
<property name="javafx.disable.concurrent.runs" value="false" />
|
||||
<property name="version-output" value="java version "1.8" />
|
||||
<property name="test.binarytestincludes" value="" />
|
||||
<property name="libs.hibernate4-persistencemodelgen.src" value="" />
|
||||
<property name="javafx.preloader.jar.path" value="" />
|
||||
<property name="javadoc.preview" value="true" />
|
||||
<property name="libs.jpa20-persistence.javadoc" value="C:\Program Files\NetBeans 8.1\java\modules\ext\docs\javax.persistence-2.1.0-doc.zip" />
|
||||
<property name="java.home" value="C:\Program Files\Java\jdk1.8.0_181\jre" />
|
||||
<property name="debug.test.classpath" value="C:\Program Files\Java\jdk1.8.0_181\jre/lib/javaws.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/deploy.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/plugin.jar:build/classes:C:\Program Files\NetBeans 8.1\platform\modules\ext\junit-4.12.jar:C:\Program Files\NetBeans 8.1\platform\modules\ext\hamcrest-core-1.3.jar:build/test/classes" />
|
||||
<property name="netbeans.importclass" value="org.netbeans.upgrade.AutoUpgrade" />
|
||||
<property name="ant.project.default-target" value="default" />
|
||||
<property name="annotation.processing.run.all.processors" value="true" />
|
||||
<property name="jar.archive.disabled" value="true" />
|
||||
<property name="libs.PostgreSQLDriver.javadoc" value="" />
|
||||
<property name="javafx.main.class" value="javafxsample.Javafxsample" />
|
||||
<property name="libs.MySQLDriver.maven-pom" value="" />
|
||||
<property name="libs.hibernate4-persistence.javadoc" value="C:\Program Files\NetBeans 8.1\java\modules\ext\docs\javax.persistence-2.1.0-doc.zip" />
|
||||
<property name="javafx.application.implementation.version" value="1.0" />
|
||||
<property name="http.nonProxyHosts" value="localhost|127.0.0.1|DESKTOP-JSCKJ80" />
|
||||
<property name="libs.junit_4.javadoc" value="C:\Program Files\NetBeans 8.1\platform\docs\junit-4.12-javadoc.jar" />
|
||||
<property name="run.classpath" value="dist/hangmanfx.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/javaws.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/deploy.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/plugin.jar:build/classes" />
|
||||
<property name="endorsed.javafx.ant.classpath" value="." />
|
||||
<property name="jna.boot.library.name" value="jnidispatch-410" />
|
||||
<property name="sun.awt.datatransfer.timeout" value="1000" />
|
||||
<property name="libs.jpa2-persistence.maven-pom" value="" />
|
||||
<property name="annotation.processing.enabled.in.editor" value="false" />
|
||||
<property name="libs.hibernate4-support.classpath" value="C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\antlr-2.7.7.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\c3p0-0.9.2.1.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\hibernate-c3p0-4.3.1.Final.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\mchange-commons-java-0.2.3.4.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\dom4j-1.6.1.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\ehcache-core-2.4.3.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\hibernate-ehcache-4.3.1.Final.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\hibernate-core-4.3.1.Final.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\jboss-logging-3.1.3.GA.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\hibernate-commons-annotations-4.0.4.Final.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\hibernate-entitymanager-4.3.1.Final.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\javassist-3.18.1-GA.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\jboss-transaction-api_1.2_spec-1.0.0.Final.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\slf4j-api-1.6.1.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\slf4j-simple-1.6.1.jar" />
|
||||
<property name="nb.native.filechooser" value="false" />
|
||||
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers" />
|
||||
<property name="javac.deprecation" value="false" />
|
||||
<property name="javadoc.use" value="true" />
|
||||
<property name="sun.java2d.noddraw" value="true" />
|
||||
<property name="javac.processorpath" value="C:\Program Files\Java\jdk1.8.0_181\jre/lib/javaws.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/deploy.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/plugin.jar" />
|
||||
<property name="libs.hamcrest.maven-pom" value="" />
|
||||
<property name="javac.compilerargs" value="" />
|
||||
<property name="ant.file" value="C:\Users\wisne\Documents\NetBeansProjects\javafxsample\build.xml" />
|
||||
<property name="libs.beans-binding.maven-pom" value="" />
|
||||
<property name="libs.hibernate4-support.javadoc" value="C:\Program Files\NetBeans 8.1\java\modules\ext\docs\javax.persistence-2.1.0-doc.zip" />
|
||||
<property name="libs.beans-binding.src" value="" />
|
||||
<property name="java.vm.specification.vendor" value="Oracle Corporation" />
|
||||
<property name="libs.swing-layout.src" value="C:\Program Files\NetBeans 8.1\platform\docs\swing-layout-1.0.4-src.zip" />
|
||||
<property name="org.openide.major.version" value="IDE/1" />
|
||||
<property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM" />
|
||||
<property name="javafx.preloader.jar.filename" value="" />
|
||||
<property name="netbeans.user" value="C:\Users\wisne\AppData\Roaming\NetBeans\8.1" />
|
||||
<property name="javadoc.additionalparam" value="" />
|
||||
<property name="java.io.tmpdir" value="C:\Users\wisne\AppData\Local\Temp\" />
|
||||
<property name="javafx.run.inbrowser.path" value="C:\Program Files\Internet Explorer\iexplore.exe" />
|
||||
<property name="java.vendor.url" value="http://java.oracle.com/" />
|
||||
<property name="endorsed.classpath.cmd.line.arg" value="" />
|
||||
<property name="junit.available" value="true" />
|
||||
<property name="org.openide.awt.ActionReference.completion" value="org.netbeans.modules.apisupport.project.layers.PathCompletions" />
|
||||
<property name="sun.boot.library.path" value="C:\Program Files\Java\jdk1.8.0_181\jre\bin" />
|
||||
<property name="have.sources" value="true" />
|
||||
<property name="libs.hamcrest.javadoc" value="" />
|
||||
<property name="pythonplatform.Python_3.7.0.sourcelevel" value="3.7" />
|
||||
<property name="debug.classpath" value="dist/hangmanfx.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/javaws.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/deploy.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/plugin.jar:build/classes" />
|
||||
<property name="javadoc.private" value="false" />
|
||||
<property name="test.src.dir" value="test" />
|
||||
<property name="ap.processors.internal" value="" />
|
||||
<property name="meta.inf.dir" value="src/META-INF" />
|
||||
<property name="javadoc.encoding.used" value="UTF-8" />
|
||||
<property name="ant.file.hangmanfx-impl" value="C:\Users\wisne\Documents\NetBeansProjects\javafxsample\nbproject\build-impl.xml" />
|
||||
<property name="dist.jar" value="dist/hangmanfx.jar" />
|
||||
<property name="libs.spring-framework400.maven-pom" value="" />
|
||||
<property name="java.runtime.name" value="Java(TM) SE Runtime Environment" />
|
||||
<property name="ant.project.name" value="javafxsample" />
|
||||
<property name="netbeans.hash.code" value="unique=NB_EXTIDE_JAVA0d7a62603-b5e0-4466-9bd4-b5813666fea1_8a8e1a1b-ad1a-4428-b614-ade29870a442" />
|
||||
<property name="netbeans.default_userdir_root" value="C:\Users\wisne\AppData\Roaming\NetBeans" />
|
||||
<property name="sun.cpu.isalist" value="amd64" />
|
||||
<property name="libs.spring-framework400.javadoc" value="" />
|
||||
<property name="libs.CopyLibs.javadoc" value="" />
|
||||
<property name="org.openide.specification.version" value="6.2" />
|
||||
<property name="javafx.classpath.extension" value="C:\Program Files\Java\jdk1.8.0_181\jre/lib/javaws.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/deploy.jar:C:\Program Files\Java\jdk1.8.0_181\jre/lib/plugin.jar" />
|
||||
<property name="user.home" value="C:\Users\wisne" />
|
||||
<property name="annotation.processing.processors.list" value="" />
|
||||
<property name="debug-args-line" value="-Xdebug" />
|
||||
<property name="libs.JWSAntTasks.src" value="" />
|
||||
<property name="jar.index" value="false" />
|
||||
<property name="libs.CopyLibs.maven-pom" value="" />
|
||||
<property name="libs.spring-framework300.javadoc" value="" />
|
||||
<property name="libs.absolutelayout.javadoc" value="" />
|
||||
<property name="java.specification.name" value="Java Platform API Specification" />
|
||||
<property name="java.specification.vendor" value="Oracle Corporation" />
|
||||
<property name="libs.javac-api.classpath" value="C:\Program Files\NetBeans 8.1\java\modules\ext\nb-javac-api.jar" />
|
||||
<property name="java.version" value="1.8.0_181" />
|
||||
<property name="run.jvmargs.ide" value="" />
|
||||
<property name="javadoc.version" value="false" />
|
||||
<property name="libs.MySQLDriver.javadoc" value="" />
|
||||
<property name="org.openide.version" value="deprecated" />
|
||||
<property name="platform.java" value="C:\Program Files\Java\jdk1.8.0_181\jre/bin/java" />
|
||||
<property name="source.encoding" value="UTF-8" />
|
||||
<property name="ap.cmd.line.internal" value="" />
|
||||
<property name="libs.eclipselinkmodelgen.maven-pom" value="" />
|
||||
<property name="pythonplatform.Python_3.7.0.args" value="-u" />
|
||||
<property name="ant.file.type.jfx-impl" value="file" />
|
||||
<property name="libs.eclipselinkmodelgen.javadoc" value="" />
|
||||
<property name="pythonplatform.Python_3.7.0.interpreter" value="C:\Users\wisne\AppData\Local\Programs\Python\Python37-32\python.exe" />
|
||||
<property name="ant.file.jfx-impl" value="C:\Users\wisne\Documents\NetBeansProjects\javafxsample\nbproject\jfx-impl.xml" />
|
||||
<property name="netbeans.home+have.tests" value="true" />
|
||||
<property name="annotation.processing.processor.options" value="" />
|
||||
<property name="libs.testng.maven-pom" value="" />
|
||||
<property name="libs.jaxb.src" value="" />
|
||||
<property name="ant.file.javafxsample" value="C:\Users\wisne\Documents\NetBeansProjects\javafxsample\build.xml" />
|
||||
<property name="work.dir" value="C:\Users\wisne\Documents\NetBeansProjects\javafxsample" />
|
||||
<property name="compile.on.save.unsupported.javafx" value="true" />
|
||||
<property name="libs.jaxb.classpath" value="C:\Program Files\NetBeans 8.1\ide\modules\ext\jaxb\jaxb-impl.jar;C:\Program Files\NetBeans 8.1\ide\modules\ext\jaxb\jaxb-xjc.jar;C:\Program Files\NetBeans 8.1\ide\modules\ext\jaxb\jaxb1-impl.jar;C:\Program Files\NetBeans 8.1\ide\modules\ext\jaxb\activation.jar;C:\Program Files\NetBeans 8.1\ide\modules\ext\jaxb\api\jaxb-api.jar;C:\Program Files\NetBeans 8.1\ide\modules\ext\jaxb\api\jsr173_1.0_api.jar" />
|
||||
<property name="do.depend" value="false" />
|
||||
<property name="dist.javadoc.dir" value="dist/javadoc" />
|
||||
<property name="libs.swing-layout.classpath" value="C:\Program Files\NetBeans 8.1\platform\modules\ext\swing-layout-1.0.4.jar" />
|
||||
<property name="build.generated.dir" value="build/generated" />
|
||||
<property name="javac.source" value="1.8" />
|
||||
<property name="javafx.fallback.class" value="com.javafx.main.NoJavaFXFallback" />
|
||||
<property name="line.separator" value="
" />
|
||||
<property name="java.specification.version" value="1.8" />
|
||||
<property name="libs.jaxws21.maven-pom" value="" />
|
||||
<property name="java.vm.info" value="mixed mode" />
|
||||
<property name="pythonplatform.Python_3.7.0.pythonlib" value="C:\Users\wisne\AppData\Roaming\NetBeans\8.1;C:\Users\wisne\AppData\Local\Programs\Python\Python37-32\python37.zip;C:\Users\wisne\AppData\Local\Programs\Python\Python37-32\DLLs;C:\Users\wisne\AppData\Local\Programs\Python\Python37-32\lib;C:\Users\wisne\AppData\Local\Programs\Python\Python37-32;C:\Users\wisne\AppData\Local\Programs\Python\Python37-32\lib\site-packages" />
|
||||
<property name="nb.junit.batch" value="true" />
|
||||
<property name="junit.forkmode" value="perTest" />
|
||||
<property name="sun.boot.class.path" value="C:\Program Files\Java\jdk1.8.0_181\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_181\jre\classes" />
|
||||
<property name="javac.target" value="1.8" />
|
||||
<property name="built-jar.properties" value="C:\Users\wisne\Documents\NetBeansProjects\javafxsample\build\built-jar.properties" />
|
||||
<property name="build.test.classes.dir" value="build/test/classes" />
|
||||
<property name="src.dir" value="src" />
|
||||
<property name="annotation.processing.enabled" value="true" />
|
||||
<property name="libs.jpa2-persistence.src" value="" />
|
||||
<property name="sun.awt.keepWorkingSetOnMinimize" value="true" />
|
||||
<property name="libs.jpa20-persistence.src" value="" />
|
||||
<property name="javafx.enable.concurrent.external.runs" value="false" />
|
||||
<property name="javafx.deploy.embedJNLP" value="true" />
|
||||
<property name="dist.dir" value="dist" />
|
||||
<property name="testng.debug.mode" value="" />
|
||||
<property name="javac.fork" value="false" />
|
||||
<property name="java.awt.printerjob" value="sun.awt.windows.WPrinterJob" />
|
||||
<property name="default.javac.source" value="1.8" />
|
||||
<property name="debug-transport-by-os" value="dt_shmem" />
|
||||
<property name="libs.MySQLDriver.src" value="" />
|
||||
<property name="sun.jnu.encoding" value="Cp1252" />
|
||||
<property name="java.runtime.version" value="1.8.0_181-b13" />
|
||||
<property name="build.test.results.dir" value="build/test/results" />
|
||||
<property name="javafx.run.inbrowser" value="<Default System Browser>" />
|
||||
<property name="pythonplatform.Python_3.7.0.name" value="Python 3.7.0" />
|
||||
<property name="default.javac.target" value="1.8" />
|
||||
<property name="libs.junit_4.classpath" value="C:\Program Files\NetBeans 8.1\platform\modules\ext\junit-4.12.jar" />
|
||||
<property name="user.timezone" value="" />
|
||||
<property name="nb.junit.single" value="false" />
|
||||
<property name="netbeans.dirs" value="C:\Program Files\NetBeans 8.1\nb;C:\Program Files\NetBeans 8.1\ergonomics;C:\Program Files\NetBeans 8.1\ide;C:\Program Files\NetBeans 8.1\extide;C:\Program Files\NetBeans 8.1\java;C:\Program Files\NetBeans 8.1\apisupport;C:\Program Files\NetBeans 8.1\webcommon;C:\Program Files\NetBeans 8.1\websvccommon;C:\Program Files\NetBeans 8.1\enterprise;C:\Program Files\NetBeans 8.1\mobility;C:\Program Files\NetBeans 8.1\profiler;C:\Program Files\NetBeans 8.1\python;C:\Program Files\NetBeans 8.1\php;C:\Program Files\NetBeans 8.1\identity;C:\Program Files\NetBeans 8.1\harness;C:\Program Files\NetBeans 8.1\cnd;C:\Program Files\NetBeans 8.1\cndext;C:\Program Files\NetBeans 8.1\dlight;C:\Program Files\NetBeans 8.1\groovy;C:\Program Files\NetBeans 8.1\extra;C:\Program Files\NetBeans 8.1\javacard;C:\Program Files\NetBeans 8.1\javafx" />
|
||||
<property name="java.ext.dirs" value="C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext;C:\windows\Sun\Java\lib\ext" />
|
||||
<property name="endorsed.classpath" value="" />
|
||||
<property name="libs.absolutelayout.classpath" value="C:\Program Files\NetBeans 8.1\java\modules\ext\AbsoluteLayout.jar" />
|
||||
<property name="excludes" value="" />
|
||||
<property name="libs.jpa2-persistence.javadoc" value="C:\Program Files\NetBeans 8.1\java\modules\ext\docs\javax.persistence-2.1.0-doc.zip" />
|
||||
<property name="apple.laf.useScreenMenuBar" value="true" />
|
||||
<property name="java.class.path" value="C:\Program Files\Java\jdk1.8.0_181\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\plugin.jar;C:\Users\wisne\Documents\NetBeansProjects\javafxsample\build\classes;C:\Program Files\NetBeans 8.1\platform\modules\ext\junit-4.12.jar;C:\Program Files\NetBeans 8.1\platform\modules\ext\hamcrest-core-1.3.jar;C:\Users\wisne\Documents\NetBeansProjects\javafxsample\build\test\classes;C:\Program Files\NetBeans 8.1\extide\ant\lib\ant-launcher.jar;C:\Program Files\NetBeans 8.1\extide\ant\lib\ant.jar;C:\Program Files\NetBeans 8.1\extide\ant\lib\ant-junit.jar;C:\Program Files\NetBeans 8.1\extide\ant\lib\ant-junit4.jar" />
|
||||
<property name="libs.absolutelayout.src" value="" />
|
||||
<property name="libs.jpa20-persistence.classpath" value="C:\Program Files\NetBeans 8.1\java\modules\ext\eclipselink\javax.persistence_2.1.0.v201304241213.jar" />
|
||||
<property name="os.version" value="10.0" />
|
||||
<property name="application.args" value="" />
|
||||
<property name="manifest.custom.permissions" value="" />
|
||||
<property name="main.class.available" value="true" />
|
||||
<property name="sun.awt.enableExtraMouseButtons" value="true" />
|
||||
<property name="sun.desktop" value="windows" />
|
||||
<property name="libs.hibernate4-persistence.src" value="" />
|
||||
<property name="libs.hibernate4-support.maven-pom" value="" />
|
||||
<property name="javafx.deploy.allowoffline" value="true" />
|
||||
<property name="libs.JAXB-ENDORSED.classpath" value="C:\Program Files\NetBeans 8.1\ide\modules\ext\jaxb\api\jaxb-api.jar" />
|
||||
<property name="nb.internal.action.name" value="run.single" />
|
||||
<property name="libs.eclipselink.classpath" value="C:\Program Files\NetBeans 8.1\java\modules\ext\eclipselink\eclipselink.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\eclipselink\javax.persistence_2.1.0.v201304241213.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\eclipselink\org.eclipse.persistence.jpa.jpql_2.5.2.v20140319-9ad6abd.jar" />
|
||||
<property name="java.awt.graphicsenv" value="sun.awt.Win32GraphicsEnvironment" />
|
||||
<property name="libs.beans-binding.javadoc" value="C:\Program Files\NetBeans 8.1\java\docs\beansbinding-1.2.1-doc.zip" />
|
||||
<property name="java.vm.vendor" value="Oracle Corporation" />
|
||||
<property name="libs.CopyLibs.classpath" value="C:\Program Files\NetBeans 8.1\java\ant\extra\org-netbeans-modules-java-j2seproject-copylibstask.jar" />
|
||||
<property name="libs.spring-framework300.classpath" value="C:\Program Files\NetBeans 8.1\ide\modules\org-apache-commons-logging.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\cglib-2.2.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-aop-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-aspects-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-beans-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-build-src-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-context-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-context-support-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-core-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-expression-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-framework-bom-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-instrument-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-instrument-tomcat-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-jdbc-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-jms-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-orm-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-oxm-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-struts-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-test-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-tx-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-web-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-webmvc-3.2.7.RELEASE.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\spring-3.0\spring-webmvc-portlet-3.2.7.RELEASE.jar" />
|
||||
<property name="libs.hamcrest.src" value="" />
|
||||
<property name="run.jvmargs" value="" />
|
||||
<property name="libs.hibernate4-persistence.classpath" value="C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\antlr-2.7.7.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\c3p0-0.9.2.1.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\hibernate-c3p0-4.3.1.Final.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\mchange-commons-java-0.2.3.4.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\dom4j-1.6.1.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\ehcache-core-2.4.3.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\hibernate-ehcache-4.3.1.Final.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\hibernate-core-4.3.1.Final.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\jboss-logging-3.1.3.GA.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\hibernate-commons-annotations-4.0.4.Final.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\hibernate-entitymanager-4.3.1.Final.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\javassist-3.18.1-GA.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\jboss-transaction-api_1.2_spec-1.0.0.Final.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\slf4j-api-1.6.1.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\slf4j-simple-1.6.1.jar;C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\hibernate-jpa-2.1-api-1.0.0.Final.jar" />
|
||||
<property name="libs.JAXB-ENDORSED.src" value="" />
|
||||
<property name="libs.testng.javadoc" value="C:\Program Files\NetBeans 8.1\platform\docs\testng-6.8.1-javadoc.zip" />
|
||||
<property name="user.script" value="" />
|
||||
<property name="libs.PostgreSQLDriver.classpath" value="C:\Program Files\NetBeans 8.1\ide\modules\ext\postgresql-9.2-1002.jdbc4.jar" />
|
||||
<property name="libs.hibernate4-persistencemodelgen.classpath" value="C:\Program Files\NetBeans 8.1\java\modules\ext\hibernate4\hibernate-jpamodelgen-4.3.1.Final.jar" />
|
||||
<property name="annotation.processing.source.output" value="build/generated-sources/ap-source-output" />
|
||||
<property name="main.class" value="com.javafx.main.Main" />
|
||||
<property name="libs.CopyLibs.src" value="" />
|
||||
<property name="build.dir" value="build" />
|
||||
<property name="ant.file.type.javafxsample" value="file" />
|
||||
<property name="ant.version" value="Apache Ant(TM) version 1.9.4 compiled on April 29 2014" />
|
||||
<property name="file.encoding" value="Cp1252" />
|
||||
<property name="build.classes.excludes" value="**/*.java,**/*.form" />
|
||||
<property name="jdkBug6558476" value="false" />
|
||||
<property name="javadoc.nonavbar" value="false" />
|
||||
<property name="platform.active" value="default_platform" />
|
||||
<property name="awt.toolkit" value="sun.awt.windows.WToolkit" />
|
||||
</properties>
|
||||
<testcase classname="hangman.GameTest" name="testProcessGuess" time="0.0">
|
||||
<error type="java.lang.NullPointerException">java.lang.NullPointerException
|
||||
at hangman.GameTest.testProcessGuess(GameTest.java:91)
|
||||
</error>
|
||||
</testcase>
|
||||
<testcase classname="hangman.GameTest" name="testGetWord" time="0.0">
|
||||
<error type="java.lang.NullPointerException">java.lang.NullPointerException
|
||||
at hangman.GameTest.testGetWord(GameTest.java:48)
|
||||
</error>
|
||||
</testcase>
|
||||
<testcase classname="hangman.GameTest" name="testGetRemainingGuesses" time="0.0">
|
||||
<error type="java.lang.NullPointerException">java.lang.NullPointerException
|
||||
at hangman.GameTest.testGetRemainingGuesses(GameTest.java:62)
|
||||
</error>
|
||||
</testcase>
|
||||
<testcase classname="hangman.GameTest" name="testDoHint" time="0.0">
|
||||
<error type="java.lang.NullPointerException">java.lang.NullPointerException
|
||||
at hangman.GameTest.testDoHint(GameTest.java:105)
|
||||
</error>
|
||||
</testcase>
|
||||
<testcase classname="hangman.GameTest" name="testGetDisplay" time="0.0">
|
||||
<error type="java.lang.NullPointerException">java.lang.NullPointerException
|
||||
at hangman.GameTest.testGetDisplay(GameTest.java:76)
|
||||
</error>
|
||||
</testcase>
|
||||
<system-out><![CDATA[processGuess
|
||||
getWord
|
||||
getRemainingGuesses
|
||||
doHint
|
||||
getDisplay
|
||||
]]></system-out>
|
||||
<system-err><![CDATA[]]></system-err>
|
||||
</testsuite>
|
||||
BIN
338/lab5/source/h1.gif
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
338/lab5/source/h2.gif
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
338/lab5/source/h3.gif
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
338/lab5/source/h4.gif
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
338/lab5/source/h5.gif
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
338/lab5/source/h6.gif
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
338/lab5/source/h7.gif
Normal file
|
After Width: | Height: | Size: 12 KiB |
3
338/lab5/source/manifest.mf
Normal file
@@ -0,0 +1,3 @@
|
||||
Manifest-Version: 1.0
|
||||
X-COMMENT: Main-Class will be added automatically by build
|
||||
|
||||
1420
338/lab5/source/nbproject/build-impl.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
# Do not modify this property in this configuration. It can be re-generated.
|
||||
$label=Run as WebStart
|
||||
@@ -0,0 +1,2 @@
|
||||
# Do not modify this property in this configuration. It can be re-generated.
|
||||
$label=Run in Browser
|
||||
8
338/lab5/source/nbproject/genfiles.properties
Normal file
@@ -0,0 +1,8 @@
|
||||
build.xml.data.CRC32=6ba13265
|
||||
build.xml.script.CRC32=9ac9c85d
|
||||
build.xml.stylesheet.CRC32=8064a381@1.79.1.48
|
||||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
||||
nbproject/build-impl.xml.data.CRC32=21992267
|
||||
nbproject/build-impl.xml.script.CRC32=67abe0ae
|
||||
nbproject/build-impl.xml.stylesheet.CRC32=05530350@1.79.1.48
|
||||
4008
338/lab5/source/nbproject/jfx-impl.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
# Do not modify this property in this configuration. It can be re-generated.
|
||||
javafx.run.as=webstart
|
||||
@@ -0,0 +1,2 @@
|
||||
# Do not modify this property in this configuration. It can be re-generated.
|
||||
javafx.run.as=embedded
|
||||
6
338/lab5/source/nbproject/private/private.properties
Normal file
@@ -0,0 +1,6 @@
|
||||
auxiliary.org-netbeans-modules-projectapi.issue214819_5f_fx_5f_enabled=true
|
||||
# No need to modify this property unless customizing JavaFX Ant task infrastructure
|
||||
endorsed.javafx.ant.classpath=.
|
||||
javafx.run.inbrowser=<Default System Browser>
|
||||
javafx.run.inbrowser.path=C:\\Program Files\\Internet Explorer\\iexplore.exe
|
||||
user.properties.file=C:\\Users\\wisne\\AppData\\Roaming\\NetBeans\\8.1\\build.properties
|
||||
7
338/lab5/source/nbproject/private/private.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
|
||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||
<group/>
|
||||
</open-files>
|
||||
</project-private>
|
||||
115
338/lab5/source/nbproject/project.properties
Normal file
@@ -0,0 +1,115 @@
|
||||
annotation.processing.enabled=true
|
||||
annotation.processing.enabled.in.editor=false
|
||||
annotation.processing.processor.options=
|
||||
annotation.processing.processors.list=
|
||||
annotation.processing.run.all.processors=true
|
||||
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
|
||||
application.title=hangmanfx
|
||||
application.vendor=wisne
|
||||
build.classes.dir=${build.dir}/classes
|
||||
build.classes.excludes=**/*.java,**/*.form
|
||||
# This directory is removed when the project is cleaned:
|
||||
build.dir=build
|
||||
build.generated.dir=${build.dir}/generated
|
||||
build.generated.sources.dir=${build.dir}/generated-sources
|
||||
# Only compile against the classpath explicitly listed here:
|
||||
build.sysclasspath=ignore
|
||||
build.test.classes.dir=${build.dir}/test/classes
|
||||
build.test.results.dir=${build.dir}/test/results
|
||||
compile.on.save=true
|
||||
compile.on.save.unsupported.javafx=true
|
||||
# Uncomment to specify the preferred debugger connection transport:
|
||||
#debug.transport=dt_socket
|
||||
debug.classpath=\
|
||||
${run.classpath}
|
||||
debug.test.classpath=\
|
||||
${run.test.classpath}
|
||||
# This directory is removed when the project is cleaned:
|
||||
dist.dir=dist
|
||||
dist.jar=${dist.dir}/hangmanfx.jar
|
||||
dist.javadoc.dir=${dist.dir}/javadoc
|
||||
endorsed.classpath=
|
||||
excludes=
|
||||
includes=**
|
||||
# Non-JavaFX jar file creation is deactivated in JavaFX 2.0+ projects
|
||||
jar.archive.disabled=true
|
||||
jar.compress=false
|
||||
javac.classpath=\
|
||||
${javafx.classpath.extension}
|
||||
# Space-separated list of extra javac options
|
||||
javac.compilerargs=
|
||||
javac.deprecation=false
|
||||
javac.processorpath=\
|
||||
${javac.classpath}
|
||||
javac.source=1.8
|
||||
javac.target=1.8
|
||||
javac.test.classpath=\
|
||||
${javac.classpath}:\
|
||||
${build.classes.dir}:\
|
||||
${libs.junit_4.classpath}:\
|
||||
${libs.hamcrest.classpath}
|
||||
javac.test.processorpath=\
|
||||
${javac.test.classpath}
|
||||
javadoc.additionalparam=
|
||||
javadoc.author=false
|
||||
javadoc.encoding=${source.encoding}
|
||||
javadoc.noindex=false
|
||||
javadoc.nonavbar=false
|
||||
javadoc.notree=false
|
||||
javadoc.private=false
|
||||
javadoc.splitindex=true
|
||||
javadoc.use=true
|
||||
javadoc.version=false
|
||||
javadoc.windowtitle=
|
||||
javafx.application.implementation.version=1.0
|
||||
javafx.binarycss=false
|
||||
javafx.classpath.extension=\
|
||||
${java.home}/lib/javaws.jar:\
|
||||
${java.home}/lib/deploy.jar:\
|
||||
${java.home}/lib/plugin.jar
|
||||
javafx.deploy.allowoffline=true
|
||||
# If true, application update mode is set to 'background', if false, update mode is set to 'eager'
|
||||
javafx.deploy.backgroundupdate=false
|
||||
javafx.deploy.embedJNLP=true
|
||||
javafx.deploy.includeDT=true
|
||||
# Set true to prevent creation of temporary copy of deployment artifacts before each run (disables concurrent runs)
|
||||
javafx.disable.concurrent.runs=false
|
||||
# Set true to enable multiple concurrent runs of the same WebStart or Run-in-Browser project
|
||||
javafx.enable.concurrent.external.runs=false
|
||||
# This is a JavaFX project
|
||||
javafx.enabled=true
|
||||
javafx.fallback.class=com.javafx.main.NoJavaFXFallback
|
||||
# Main class for JavaFX
|
||||
javafx.main.class=javafxsample.Javafxsample
|
||||
javafx.preloader.class=
|
||||
# This project does not use Preloader
|
||||
javafx.preloader.enabled=false
|
||||
javafx.preloader.jar.filename=
|
||||
javafx.preloader.jar.path=
|
||||
javafx.preloader.project.path=
|
||||
javafx.preloader.type=none
|
||||
# Set true for GlassFish only. Rebases manifest classpaths of JARs in lib dir. Not usable with signed JARs.
|
||||
javafx.rebase.libs=false
|
||||
javafx.run.height=600
|
||||
javafx.run.width=800
|
||||
# Pre-JavaFX 2.0 WebStart is deactivated in JavaFX 2.0+ projects
|
||||
jnlp.enabled=false
|
||||
# Main class for Java launcher
|
||||
main.class=com.javafx.main.Main
|
||||
# For improved security specify narrower Codebase manifest attribute to prevent RIAs from being repurposed
|
||||
manifest.custom.codebase=*
|
||||
# Specify Permissions manifest attribute to override default (choices: sandbox, all-permissions)
|
||||
manifest.custom.permissions=
|
||||
manifest.file=manifest.mf
|
||||
meta.inf.dir=${src.dir}/META-INF
|
||||
platform.active=default_platform
|
||||
run.classpath=\
|
||||
${dist.jar}:\
|
||||
${javac.classpath}:\
|
||||
${build.classes.dir}
|
||||
run.test.classpath=\
|
||||
${javac.test.classpath}:\
|
||||
${build.test.classes.dir}
|
||||
source.encoding=UTF-8
|
||||
src.dir=src
|
||||
test.src.dir=test
|
||||
25
338/lab5/source/nbproject/project.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://www.netbeans.org/ns/project/1">
|
||||
<type>org.netbeans.modules.java.j2seproject</type>
|
||||
<configuration>
|
||||
<buildExtensions xmlns="http://www.netbeans.org/ns/ant-build-extender/1">
|
||||
<extension file="jfx-impl.xml" id="jfx3">
|
||||
<dependency dependsOn="-jfx-copylibs" target="-post-jar"/>
|
||||
<dependency dependsOn="-rebase-libs" target="-post-jar"/>
|
||||
<dependency dependsOn="jfx-deployment" target="-post-jar"/>
|
||||
<dependency dependsOn="jar" target="debug"/>
|
||||
<dependency dependsOn="jar" target="profile"/>
|
||||
<dependency dependsOn="jar" target="run"/>
|
||||
</extension>
|
||||
</buildExtensions>
|
||||
<data xmlns="http://www.netbeans.org/ns/j2se-project/3">
|
||||
<name>hangmanfx</name>
|
||||
<source-roots>
|
||||
<root id="src.dir"/>
|
||||
</source-roots>
|
||||
<test-roots>
|
||||
<root id="test.src.dir"/>
|
||||
</test-roots>
|
||||
</data>
|
||||
</configuration>
|
||||
</project>
|
||||
112
338/lab5/source/src/hangman/Game.java
Normal file
@@ -0,0 +1,112 @@
|
||||
package hangman;
|
||||
/**
|
||||
* Game contains the logic for game of hangman.
|
||||
*
|
||||
*/
|
||||
public class Game {
|
||||
|
||||
protected String word;
|
||||
protected int remaining_guesses;
|
||||
protected StringBuffer display;
|
||||
protected String correctGuess;
|
||||
protected String badGuess;
|
||||
|
||||
/**
|
||||
* Game constructor
|
||||
* @param word - the word to be guessed
|
||||
* @param guesses - number of incorrect guesses allowed
|
||||
*/
|
||||
public Game(String word, int guesses) {
|
||||
this.word = word;
|
||||
remaining_guesses = guesses;
|
||||
correctGuess = "";
|
||||
badGuess = "";
|
||||
display = new StringBuffer();
|
||||
for (int i = 0; i < word.length(); i++) {
|
||||
char c = word.charAt(i);
|
||||
if (Character.isLetter(c)) {
|
||||
display.append("_");
|
||||
} else {
|
||||
display.append("#");
|
||||
}
|
||||
display.append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
public String getWord() {
|
||||
return word;
|
||||
}
|
||||
|
||||
public int getRemainingGuesses() {
|
||||
return remaining_guesses;
|
||||
}
|
||||
|
||||
public String getDisplay() {
|
||||
return display.toString();
|
||||
}
|
||||
|
||||
/* return code from processGuess */
|
||||
|
||||
public static final int GOOD = 1;
|
||||
public static final int BAD = 2;
|
||||
public static final int WON = 3;
|
||||
public static final int LOST = 4;
|
||||
public static final int REPEAT_GOOD_GUESS = 5;
|
||||
public static final int REPEAT_BAD_GUESS = 6;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param c - the letter guessed
|
||||
* @return code
|
||||
*/
|
||||
public int processGuess(char c) {
|
||||
if (correctGuess.indexOf(c) >= 0) {
|
||||
return REPEAT_GOOD_GUESS;
|
||||
}
|
||||
|
||||
if (badGuess.indexOf(c) >= 0) {
|
||||
remaining_guesses -= 1;
|
||||
if (remaining_guesses <= 0 && display.indexOf("_") >= 0) {
|
||||
return LOST;
|
||||
} else {
|
||||
return REPEAT_BAD_GUESS;
|
||||
}
|
||||
|
||||
} else {
|
||||
boolean found = false;
|
||||
for (int i = 0; i < word.length(); i++) {
|
||||
if (c == word.charAt(i)) {
|
||||
found = true;
|
||||
correctGuess += c;
|
||||
display.replace(2 * i, 2 * i + 1, word.substring(i, i + 1));
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
remaining_guesses -= 1;
|
||||
badGuess += c;
|
||||
if (remaining_guesses <= 0 && display.indexOf("_") >= 0) {
|
||||
return LOST;
|
||||
} else {
|
||||
return BAD;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (display.indexOf("_") < 0) {
|
||||
return WON;
|
||||
} else {
|
||||
return GOOD;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* user asks for a hint.
|
||||
* @return code WON, LOST or GOOD.
|
||||
*/
|
||||
public int doHint() {
|
||||
int k = display.indexOf("_");
|
||||
char c = word.charAt(k / 2);
|
||||
int rc = processGuess(c);
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
156
338/lab5/source/src/hangman/Hangman.java
Normal file
@@ -0,0 +1,156 @@
|
||||
package hangman;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
import java.util.Scanner;
|
||||
import javafx.application.Application;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.event.EventHandler;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.scene.text.Text;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
|
||||
public class Hangman extends Application {
|
||||
|
||||
Image[] images = new Image[7];
|
||||
ArrayList<String> words;
|
||||
Game g;
|
||||
ImageView imageView;
|
||||
Text text1;
|
||||
Text text2;
|
||||
TextField textField;
|
||||
|
||||
@Override
|
||||
public void start(Stage stage) throws Exception {
|
||||
|
||||
words = new ArrayList<String>();
|
||||
readFile();
|
||||
|
||||
g = new Game(pickRandomWord(), 6);
|
||||
|
||||
try {
|
||||
//load image files
|
||||
images[0] = new Image(new FileInputStream("./h1.gif"));
|
||||
images[1] = new Image(new FileInputStream("./h2.gif"));
|
||||
images[2] = new Image(new FileInputStream("./h3.gif"));
|
||||
images[3] = new Image(new FileInputStream("./h4.gif"));
|
||||
images[4] = new Image(new FileInputStream("./h5.gif"));
|
||||
images[5] = new Image(new FileInputStream("./h6.gif"));
|
||||
images[6] = new Image(new FileInputStream("./h7.gif"));
|
||||
} catch (Exception e) {
|
||||
System.out.println("Error. " + e.getMessage());
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
imageView = new ImageView(images[0]);
|
||||
text1 = new Text("Guess a letter or ask for hint.");
|
||||
text2 = new Text(g.getDisplay());
|
||||
textField = new TextField();
|
||||
textField.setOnAction(new GameController());
|
||||
VBox vbox = new VBox(10);
|
||||
vbox.getChildren().addAll(imageView, text1, text2, textField);
|
||||
|
||||
//Creating a scene object
|
||||
Scene scene = new Scene(vbox, 250, 350);
|
||||
stage.setTitle("Play Hangman");
|
||||
stage.setScene(scene);
|
||||
stage.show();
|
||||
}
|
||||
|
||||
public class GameController implements EventHandler<ActionEvent> {
|
||||
|
||||
@Override
|
||||
public void handle(ActionEvent ae) {
|
||||
String user_input = textField.getText();
|
||||
//DEBUG System.out.println(user_input);
|
||||
if (user_input.length() == 0) {
|
||||
text1.setText("Enter a single letter or enter hint.");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
} else if (user_input.equalsIgnoreCase("hint")) {
|
||||
int rc = g.doHint();
|
||||
imageView.setImage(images[6 - g.getRemainingGuesses()]);
|
||||
if (rc == Game.WON) {
|
||||
text1.setText("You won!");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
} else if (rc == Game.LOST) {
|
||||
text1.setText("");
|
||||
text2.setText("Game over. The word was: " + g.getWord());
|
||||
textField.setText("");
|
||||
} else {
|
||||
text1.setText("Enter a guess or hint.");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
}
|
||||
|
||||
} else {
|
||||
char c = user_input.charAt(0);
|
||||
int rc = g.processGuess(c);
|
||||
switch (rc) {
|
||||
case Game.BAD:
|
||||
text1.setText("No " + c + " in the word. " + g.getRemainingGuesses() + " attempts left.");
|
||||
textField.setText("");
|
||||
imageView.setImage(images[6 - g.getRemainingGuesses()]);
|
||||
break;
|
||||
case Game.GOOD:
|
||||
text1.setText("Yes. There is a " + c + " in the word.");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
break;
|
||||
case Game.LOST:
|
||||
text1.setText("That was your last guess. Game Over");
|
||||
text2.setText("Word was: " + g.getWord());
|
||||
imageView.setImage(images[6]);
|
||||
textField.setText("");
|
||||
break;
|
||||
case Game.WON:
|
||||
text1.setText("You won!");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
break;
|
||||
case Game.REPEAT_GOOD_GUESS:
|
||||
text1.setText("You already guessed that letter.");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
case Game.REPEAT_BAD_GUESS:
|
||||
text1.setText("You already guessed that letter.");
|
||||
text2.setText(g.getDisplay());
|
||||
textField.setText("");
|
||||
imageView.setImage(images[6 - g.getRemainingGuesses()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
launch(args);
|
||||
}
|
||||
|
||||
public void readFile(){
|
||||
try {
|
||||
File f = new File("words.txt");
|
||||
Scanner infile = new Scanner(f);
|
||||
while (infile.hasNext()){
|
||||
words.add(infile.nextLine().trim());
|
||||
}
|
||||
infile.close();
|
||||
|
||||
}catch (Exception e){
|
||||
System.out.println("Error exception. "+e.getMessage());
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
public String pickRandomWord() {
|
||||
int k = new Random().nextInt(words.size());
|
||||
return words.get(k);
|
||||
}
|
||||
|
||||
}
|
||||
102
338/lab5/source/test/hangman/GameTest.java
Normal file
@@ -0,0 +1,102 @@
|
||||
package hangman;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class GameTest {
|
||||
|
||||
public GameTest() {
|
||||
}
|
||||
|
||||
@BeforeClass
|
||||
public static void setUpClass() {
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
public static void tearDownClass() {
|
||||
}
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Test of getWord method, of class Game.
|
||||
*/
|
||||
@Test
|
||||
public void testGetWord() {
|
||||
System.out.println("getWord");
|
||||
Game instance = null;
|
||||
String expResult = "";
|
||||
String result = instance.getWord();
|
||||
assertEquals(expResult, result);
|
||||
// TODO review the generated test code and remove the default call to fail.
|
||||
fail("The test case is a prototype.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Test of getRemainingGuesses method, of class Game.
|
||||
*/
|
||||
@Test
|
||||
public void testGetRemainingGuesses() {
|
||||
System.out.println("getRemainingGuesses");
|
||||
Game instance = null;
|
||||
int expResult = 0;
|
||||
int result = instance.getRemainingGuesses();
|
||||
assertEquals(expResult, result);
|
||||
// TODO review the generated test code and remove the default call to fail.
|
||||
fail("The test case is a prototype.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Test of getDisplay method, of class Game.
|
||||
*/
|
||||
@Test
|
||||
public void testGetDisplay() {
|
||||
System.out.println("getDisplay");
|
||||
Game instance = null;
|
||||
String expResult = "";
|
||||
String result = instance.getDisplay();
|
||||
assertEquals(expResult, result);
|
||||
// TODO review the generated test code and remove the default call to fail.
|
||||
fail("The test case is a prototype.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Test of processGuess method, of class Game.
|
||||
*/
|
||||
@Test
|
||||
public void testProcessGuess() {
|
||||
System.out.println("processGuess");
|
||||
char c = ' ';
|
||||
Game instance = null;
|
||||
int expResult = 0;
|
||||
int result = instance.processGuess(c);
|
||||
assertEquals(expResult, result);
|
||||
// TODO review the generated test code and remove the default call to fail.
|
||||
fail("The test case is a prototype.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Test of doHint method, of class Game.
|
||||
*/
|
||||
@Test
|
||||
public void testDoHint() {
|
||||
System.out.println("doHint");
|
||||
Game instance = null;
|
||||
int expResult = 0;
|
||||
int result = instance.doHint();
|
||||
assertEquals(expResult, result);
|
||||
// TODO review the generated test code and remove the default call to fail.
|
||||
fail("The test case is a prototype.");
|
||||
}
|
||||
|
||||
}
|
||||
7
338/lab5/source/words.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
computer
|
||||
science
|
||||
mathematics
|
||||
religion
|
||||
history
|
||||
philosophy
|
||||
language
|
||||
127
338/roman/Roman.java
Normal file
@@ -0,0 +1,127 @@
|
||||
import java.util.Scanner;
|
||||
/**
|
||||
* Roman numerals
|
||||
* I 1
|
||||
* V 5
|
||||
* X 10
|
||||
* L 50
|
||||
* C 100
|
||||
* D 500
|
||||
* M 1000
|
||||
*
|
||||
* Numbers are written in decreasing value
|
||||
* Example: XII is 12, not IIX or IXI
|
||||
*
|
||||
* But there are special rules:
|
||||
* I can come before V or X IV = 4, IX = 9
|
||||
* X can come before L or C XL = 40, XC = 90
|
||||
* C can come before D or M CD = 400 CM = 900
|
||||
*/
|
||||
public class Roman {
|
||||
|
||||
public static String intToRoman(int n) {
|
||||
String ret = "";
|
||||
int val = n;
|
||||
// dealing with the thousands case
|
||||
if(n > 1000) {
|
||||
int m = val / 1000;
|
||||
for(int i =0;i<m;i++) {
|
||||
ret += "M";
|
||||
val -= 1000;
|
||||
}
|
||||
}
|
||||
// 900 case
|
||||
if(val>=900) {
|
||||
ret += "CM";
|
||||
val -= 900;
|
||||
}
|
||||
// 600-800 range
|
||||
if(val>=600) {
|
||||
int c = (val - 500)/100;
|
||||
for(int i =0;i<c;i++) {
|
||||
ret += "C";
|
||||
}
|
||||
val -= 500;
|
||||
}
|
||||
// special case 500
|
||||
if(val>=500) {
|
||||
ret += "D";
|
||||
val -= 500;
|
||||
}
|
||||
// 400 special case
|
||||
if(val>=400) {
|
||||
ret +="CD";
|
||||
val -= 400;
|
||||
}
|
||||
// 100 - 300 range
|
||||
if(val>=100) {
|
||||
int x = (val - 100)/100;
|
||||
for(int i =0;i<x;i++) {
|
||||
ret += "X";
|
||||
}
|
||||
val -= 100;
|
||||
}
|
||||
// sub 100 range now
|
||||
// 90 special case first
|
||||
if(val>=90) {
|
||||
val -=90;
|
||||
ret += "XC";
|
||||
}
|
||||
if(val>=50) {
|
||||
ret += "L";
|
||||
int L=(val-50)/10;
|
||||
|
||||
for(int i =0;i<L;i++) {
|
||||
ret += "X";
|
||||
}
|
||||
val -= 50;
|
||||
}
|
||||
if(val>=40) {
|
||||
ret += "XL";
|
||||
val -= 40;
|
||||
}
|
||||
if(val>=10) {
|
||||
int x = (val - 10)/10;
|
||||
for(int i =0;i<x;i++) {
|
||||
ret += "X";
|
||||
}
|
||||
val -= 10;
|
||||
}
|
||||
if(val==9) {
|
||||
ret += "IX";
|
||||
return ret;
|
||||
}
|
||||
if(val>5){
|
||||
int c = (val - 5);
|
||||
for(int i =0;i<c;i++) {
|
||||
ret += "I";
|
||||
}
|
||||
val -=5;
|
||||
}
|
||||
if(val==5) {
|
||||
ret += "V";
|
||||
return ret;
|
||||
}
|
||||
if(val==4) {
|
||||
ret += "IV";
|
||||
return ret;
|
||||
}
|
||||
return ret;
|
||||
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
Scanner in = new Scanner(System.in);
|
||||
while (true) {
|
||||
System.out.print("Enter Roman Number or q for quit. ");
|
||||
String x = in.nextLine();
|
||||
if (x.equals("q"))
|
||||
return;
|
||||
|
||||
// now we deal with normal cases
|
||||
int n = Integer.parseInt(x);
|
||||
System.out.println(n + " : " + intToRoman(n));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
21
338/roman/makefile
Normal file
@@ -0,0 +1,21 @@
|
||||
cc=~/Downloads/jdk-11.0.2/bin/javac
|
||||
fxlib=--module-path /home/shockrah/Downloads/javafx-sdk-11.0.2/lib
|
||||
ctrl=--add-modules javafx.controls
|
||||
|
||||
env=~/Downloads/jdk-11.0.2/bin/java
|
||||
jfile="Roman.java"
|
||||
cfile="Roman"
|
||||
|
||||
default:
|
||||
# takes a java file as entry to build
|
||||
#$(cc) $(fxlib) $< $(ctr)
|
||||
$(cc) $(jfile)
|
||||
|
||||
|
||||
# ouchie
|
||||
run:
|
||||
#$(env) $(fxlib) $(ctrl) $(cfile)
|
||||
$(env) $(cfile)
|
||||
|
||||
clean:
|
||||
rm -f *class
|
||||
1
338/scripts/make.sh
Normal file
@@ -0,0 +1 @@
|
||||
javac --module-path /home/shockrah/Downloads/javafx-sdk-11.0.2/lib $1 --add-modules javafx.controls
|
||||
14
338/scripts/makefile
Normal file
@@ -0,0 +1,14 @@
|
||||
cc=javac
|
||||
fxlib=--module-path /home/shockrah/Downloads/javafx-sdk-11.0.2/lib
|
||||
ctrl=--add-modules javafx.controls
|
||||
|
||||
env=java
|
||||
cfile="adsf"
|
||||
|
||||
default: %.java
|
||||
# takes a java file as entry to build
|
||||
$(cc) $(fxlib) $< $(ctr)
|
||||
|
||||
# ouchie
|
||||
run:
|
||||
$(env) $(fxlib) $(ctrl) $(cfile)
|
||||
2
338/scripts/run.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
[ -z $1 ] && echo "no target" && exit 1
|
||||
java --module-path /home/shockrah/Downloads/javafx-sdk-11.0.2/lib --add-modules javafx.controls $1
|
||||
23
338/tmp/HelloFX.java
Normal file
@@ -0,0 +1,23 @@
|
||||
import javafx.application.Application;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.layout.StackPane;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
public class HelloFX extends Application {
|
||||
|
||||
@Override
|
||||
public void start(Stage stage) {
|
||||
String javaVersion = System.getProperty("java.version");
|
||||
String javafxVersion = System.getProperty("javafx.version");
|
||||
Label l = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
|
||||
Scene scene = new Scene(new StackPane(l), 640, 480);
|
||||
stage.setScene(scene);
|
||||
stage.show();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
launch();
|
||||
}
|
||||
|
||||
}
|
||||
1
338/tmp/make.sh
Normal file
@@ -0,0 +1 @@
|
||||
javac --module-path /home/shockrah/Downloads/javafx-sdk-11.0.2/lib $1 --add-modules javafx.controls
|
||||
14
338/tmp/makefile
Normal file
@@ -0,0 +1,14 @@
|
||||
cc=~/Downloads/jdk-11.0.2/bin/javac
|
||||
fxlib=--module-path /home/shockrah/Downloads/javafx-sdk-11.0.2/lib
|
||||
ctrl=--add-modules javafx.controls
|
||||
|
||||
env=~/Downloads/jdk-11.0.2/bin/java
|
||||
cfile="adsf"
|
||||
|
||||
default: %.java
|
||||
# takes a java file as entry to build
|
||||
$(cc) $(fxlib) $< $(ctr)
|
||||
|
||||
# ouchie
|
||||
run:
|
||||
$(env) $(fxlib) $(ctrl) $(cfile)
|
||||
2
338/tmp/run.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
[ -z $1 ] && echo "no target" && exit 1
|
||||
java --module-path /home/shockrah/Downloads/javafx-sdk-11.0.2/lib --add-modules javafx.controls $1
|
||||
23
338/tmp/temp.java
Normal file
@@ -0,0 +1,23 @@
|
||||
import javafx.application.Application;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.layout.StackPane;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
/* */
|
||||
public class temp extends Application {
|
||||
// start application things
|
||||
@Override
|
||||
public void start(Stage stage) {
|
||||
// label for entry text box
|
||||
Label input_label = new Label("Farenheit: ");
|
||||
|
||||
// set up the X window
|
||||
Scene scene = new Scene(new StackPane(input_label), 640, 480);
|
||||
stage.setScene(scene);
|
||||
stage.show();
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
launch();
|
||||
}
|
||||
}
|
||||