MP13 progress

master
Caleb Fontenot 2023-04-18 14:06:12 +07:00
parent c798ae5486
commit 414a06957d
43 changed files with 7204 additions and 3 deletions

7
.gitignore vendored

@ -19,13 +19,14 @@
/Assignments/JavaScript/Chapter3Examples/nbproject/private/
/Assignments/JavaScript/lab12js/nbproject/private/
/Assignments/JavaScript/MP09_CalebFontenot/nbproject/private/
<<<<<<< Updated upstream
/Assignments/JavaScript/MP10_CalebFontenot/nbproject/private/
=======
/Assignments/JavaScript/lab14js_CalebFontenot/nbproject/private/
>>>>>>> Stashed changes
/Assignments/JavaScript/lab15js_CalebFontenot/nbproject/private/
/Assignments/JavaScript/MP11_CalebFontenot/nbproject/private/
/Assignments/JavaScript/lab16js_CalebFontenot/nbproject/private/
/Assignments/JavaScript/MP12_CalebFontenot/nbproject/private/
/Assignments/JavaScript/lab17js_CalebFontenot/nbproject/private/
/Assignments/JavaScript/AbstractMethod/target/
/Assignments/JavaScript/MP13_CalebFontenot/nbproject/private/
/Assignments/JavaScript/JavaFXApplication1/nbproject/private/
/Assignments/JavaScript/JavaFXApplication1/build/

@ -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="JavaFXApplication1" default="default" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant">
<description>Builds, tests, and runs the project JavaFXApplication1.</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>

@ -0,0 +1,3 @@
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build

@ -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

@ -0,0 +1,8 @@
build.xml.data.CRC32=19a3a13e
build.xml.script.CRC32=e354da3e
build.xml.stylesheet.CRC32=f85dc8f2@1.105.0.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=19a3a13e
nbproject/build-impl.xml.script.CRC32=6c0e2539
nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.105.0.48

@ -0,0 +1,120 @@
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=JavaFXApplication1
application.vendor=caleb
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.modulepath=\
${run.modulepath}
debug.test.classpath=\
${run.test.classpath}
debug.test.modulepath=\
${run.test.modulepath}
# This directory is removed when the project is cleaned:
dist.dir=dist
dist.jar=${dist.dir}/JavaFXApplication1.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=
# Space-separated list of extra javac options
javac.compilerargs=
javac.deprecation=false
javac.modulepath=
javac.processormodulepath=
javac.processorpath=\
${javac.classpath}
javac.source=1.8
javac.target=1.8
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}
javac.test.modulepath=\
${javac.modulepath}
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.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=javafxapplication1.JavaFXApplication1
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=JDK_1.8
run.classpath=\
${dist.jar}:\
${javac.classpath}:\
${build.classes.dir}
run.modulepath=\
${javac.modulepath}
run.test.classpath=\
${javac.test.classpath}:\
${build.test.classes.dir}
run.test.modulepath=\
${javac.test.modulepath}
source.encoding=UTF-8
src.dir=src
test.src.dir=test

@ -0,0 +1,26 @@
<?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>JavaFXApplication1</name>
<explicit-platform explicit-source-supported="true"/>
<source-roots>
<root id="src.dir"/>
</source-roots>
<test-roots>
<root id="test.src.dir"/>
</test-roots>
</data>
</configuration>
</project>

@ -0,0 +1,58 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/javafx/FXMain.java to edit this template
*/
package javafxapplication1;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
/**
*
* @author caleb
*/
public class JavaFXApplication1 extends Application {
@Override
public void start(Stage primaryStage)
{
Button btn = new Button();
btn.setText("Say 'Hello World'");
Button btn2 = new Button();
btn2.setText("I'm a new button");
btn2.al
btn2.setLayoutY(250);
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event)
{
System.out.println("Hello World!");
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
root.getChildren().add(btn2);
Scene scene = new Scene(root, 500, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
launch(args);
}
}

@ -0,0 +1,15 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package javafxapplication1;
import javafx.application.Application;
/**
*
* @author caleb
*/
public class Test1 extends Application{
}

@ -0,0 +1,3 @@
{
"directory": "public_html/bower_components"
}

@ -0,0 +1,9 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/ClientSide/Gruntfile.js to edit this template
*/
module.exports = function (grunt) {
// Project configuration.
grunt.initConfig({
});
};

@ -0,0 +1,13 @@
{
"name": "MP13_CalebFontenot",
"version": "1.0.0",
"main": "path/to/main.css",
"ignore": [
".jshintrc",
"**/*.txt"
],
"dependencies": {
},
"devDependencies": {
}
}

@ -0,0 +1,10 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/ClientSide/gulpfile.js to edit this template
*/
var gulp = require('gulp');
gulp.task('default', function () {
// place code for your default task here
});

@ -0,0 +1,5 @@
file.reference.MP13_CalebFontenot-public_html=public_html
file.reference.MP13_CalebFontenot-test=test
files.encoding=UTF-8
site.root.folder=${file.reference.MP13_CalebFontenot-public_html}
test.folder=${file.reference.MP13_CalebFontenot-test}

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.web.clientproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/clientside-project/1">
<name>MP13_CalebFontenot</name>
</data>
</configuration>
</project>

@ -0,0 +1,8 @@
{
"name": "MP13_CalebFontenot",
"version": "1.0.0",
"keywords": ["util", "functional", "server", "client", "browser"],
"author": "caleb",
"contributors": [],
"dependencies": {}
}

@ -0,0 +1,46 @@
<!DOCTYPE html>
<!--
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
Click nbfs://nbhost/SystemFileSystem/Templates/ClientSide/html.html to edit this template
-->
<html>
<head>
<title>Problem 3</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<label>Enter your name: <input id="nameInput"></label><br>
<label>Enter your nickname:<input id="nickInput"></label><br>
<label>Enter your email address: <input id="emailInput"></label><br>
<label>Favorite movie: <input id="movieInput"></label><br>
<label>Favorite book: <input id="bookInput"></label><br>
<label>Favorite type of music: <input id="musicInput"></label><br>
<label><input type="button" value="Submit" onclick="onClick();"></label><br>
</body>
<script>
function onClick() {
var userInput = {
"name": "",
"nickname": "",
"email": "",
"movie": "",
"book": "",
"music": ""
};
console.log(userInput[0]);
let fields = ["nameInput", "nickInput", "emailInput", "movieInput", "bookInput", "musicInput"]
let i = 0;
for (const x in userInput) {
userInput[x] = document.getElementById(fields[i++]).value;
}
console.log(userInput);
let doc = "<p> Your information: <br>"
for (const x in userInput) {
doc += x + ": " +userInput[x] + "<br>";
}
doc += "</p>"
document.write(doc);
}
</script>
</html>

@ -0,0 +1,21 @@
<!DOCTYPE html>
<!--
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
Click nbfs://nbhost/SystemFileSystem/Templates/ClientSide/html.html to edit this template
-->
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
</body>
<script>
function tableBuilder(field) {
}
</script>
</html>

@ -0,0 +1,15 @@
<!DOCTYPE html>
<!--
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
Click nbfs://nbhost/SystemFileSystem/Templates/Other/html.html to edit this template
-->
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div>TODO write content</div>
</body>
</html>

Binary file not shown.

@ -0,0 +1,31 @@
<html>
<head>
<title>Example 8.10</title>
<script type="text/javascript">
function getColors()
{
var ribbons = new Array("black", "white", "brown", "blue", "red");
var r = ribbons.length;
document.write("<table align = 'center'><tr><td>");
document.write("<br /> Old colors:</td></tr><tr><td>");
for (i = 0; i <= (r - 1); i++)
{
document.write(ribbons[i] + " ");
}
document.write("</td></tr><tr><td>Original length: " + r + "</td></tr><tr><td>");
ribbons.push("purple","green");
r = ribbons.length;
document.write("New colors:</td></tr><tr><td>");
for (i = 0; i <= (r - 1); i++)
{
document.write(ribbons[i] + " ");
}
document.write("</td></tr><tr><td>New length: " + r + "</td></tr>");
document.write("</table>");
}
</script>
</head>
<body>
<button onclick="getColors()">See ribbon colors</button>
</body></html>

@ -0,0 +1,31 @@
<html>
<head>
<title>Example 8.11</title>
<script type="text/javascript">
function getColors()
{
var ribbons = new Array("black", "white", "brown", "blue", "red");
var r = ribbons.length;
document.write("<table align = 'center'><tr><td>");
document.write("<br /> Old colors:</td></tr><tr><td>");
for (i = 0; i <= (r - 1); i++)
{
document.write(ribbons[i] + " ");
}
document.write("</td></tr><tr><td>Original length: " + r + "</td></tr><tr><td>");
ribbons.unshift("purple","green");
r = ribbons.length;
document.write("New colors:</td></tr><tr><td>");
for (i = 0; i <= (r - 1); i++)
{
document.write(ribbons[i] + " ");
}
document.write("</td></tr><tr><td>New length: " + r + "</td></tr>");
document.write("</table>");
}
</script>
</head>
<body>
<button onclick="getColors()">See ribbon colors</button>
</body></html>

@ -0,0 +1,31 @@
<html>
<head>
<title>Example 8.12</title>
<script type="text/javascript">
function getColors()
{
var ribbons = new Array("black", "white", "brown", "blue", "red");
var r = ribbons.length;
document.write("<table align = 'center'><tr><td>");
document.write("<br /> Old colors:</td></tr><tr><td>");
for (i = 0; i <= (r - 1); i++)
{
document.write(ribbons[i] + " ");
}
document.write("</td></tr><tr><td>Original length: " + r + "</td></tr><tr><td>");
ribbons.splice(2,0,"mauve","teal","ecru","buttercup");
r = ribbons.length;
document.write("New colors:</td></tr><tr><td>");
for (i = 0; i <= (r - 1); i++)
{
document.write(ribbons[i] + " ");
}
document.write("</td></tr><tr><td>New length: " + r + "</td></tr>");
document.write("</table>");
}
</script>
</head>
<body>
<button onclick="getColors()">See ribbon colors</button>
</body></html>

@ -0,0 +1,31 @@
<html>
<head>
<title>Example 8.13</title>
<script type="text/javascript">
function getColors()
{
var ribbons = new Array("black", "white", "mauve","teal","ecru","buttercup","brown", "blue", "red");
var r = ribbons.length;
document.write("<table align = 'center'><tr><td>");
document.write("<br /> Old colors:</td></tr><tr><td>");
for (i = 0; i <= (r - 1); i++)
{
document.write(ribbons[i] + " ");
}
document.write("</td></tr><tr><td>Original length: " + r + "</td></tr><tr><td>");
ribbons.splice(1,2);
r = ribbons.length;
document.write("New colors:</td></tr><tr><td>");
for (i = 0; i <= (r - 1); i++)
{
document.write(ribbons[i] + " ");
}
document.write("</td></tr><tr><td>New length: " + r + "</td></tr>");
document.write("</table>");
}
</script>
</head>
<body>
<button onclick="getColors()">See ribbon colors</button>
</body></html>

@ -0,0 +1,107 @@
<html>
<head>
<title>Example 8.14</title>
<script type="text/javascript">
function getRings()
{
var rings = new Array();
document.getElementById('ring_inventory').innerHTML = ("");
var numRings = parseInt(prompt("How many rings are in the inventory now?"));
for (i = 0; i <= (numRings - 1); i++)
{
rings[i] = prompt("Enter ring # " + (i + 1) +":");
}
displayRings(rings);
addRings(rings);
deleteRings(rings);
}
function displayRings(rings)
{
var r = rings.length;
for (i = 0; i <= (r - 1); i++)
{
document.getElementById('ring_inventory').innerHTML = ("<h3>" + rings + "</h3>");
}
}
function addRings(rings)
{
var r = rings.length;
numAdd = parseInt(prompt("If you want to add to the inventory, enter the number of rings you want to add (or enter 0):"));
for (i = 0; i <= (numAdd - 1); i++)
{
if (numAdd == 0)
break;
var newRing = prompt("Enter a ring to add:");
rings.push(newRing);
}
displayRings(rings);
}
function deleteRings(rings)
{
var r = rings.length;
numSubt = parseInt(prompt("If you want to subtract from the inventory, enter the number of rings you want to subtract (or enter 0):"));
for (i = 0; i <= (numSubt - 1); i++)
{
if (numSubt == 0)
break;
var oldRing = prompt("Enter a ring to delete:");
var flag = 0;
for (j = 0; j <= (r - 1); j++)
{
if (rings[j] == oldRing)
{
rings.splice(j,1);
flag = 1;
}
}
if (flag == 0)
{
alert(oldRing + " is not part of the inventory.");
break;
}
}
displayRings(rings);
}
</script>
<style type="text/css">
<!--
body {
margin: 20pt;
padding: 5%;
width: 80%;
}
.div_width {
width: 33%;
float: left;
}
-->
</style>
</head>
<body>
<div id="container">
<img src="images/jewel_box1.jpg" class="floatleft" />
<h1 align="center">Jackie's Jewelry Inventory</h1>
<div style ="clear:both;"></div>
<div = "content" width = "800">
<div class="div_width" id="rings">
<input type="button" value="Enter your inventory of rings" onclick="getRings()"; />
<h2>Ring Inventory</h2>
<div id = "ring_inventory"></div>
</div>
<div class="div_width" id="bracelets">
<input type="button" value="Enter your inventory of bracelets" onclick="getBracelets()"; />
<h2>Bracelet Inventory</h2>
<div id = "bracelet_inventory"></div>
</div>
<div id="pendants" >
<input type="button" value="Enter your inventory of pendants" onclick="getPendants()"; />
<h2 class="div_width">Pendant Inventory</h2>
<div id = "pendant_inventory"></div>
</div>
</div>
</div>
</body>
</html>

@ -0,0 +1,12 @@
function getRings()
{
var rings = new Array("gold band", "silver band", "turquoise inlay", "emerald stone", "ruby stone");
var r = rings.length;
r_title = "Ring Inventory";
document.getElementById('ring_head').innerHTML = r_title;
for (i = 0; i <= (r - 1); i++)
{
document.getElementById('ring_inventory').innerHTML = (rings[i] + "<br /> ");
}
document.write("</table>");
}

@ -0,0 +1,27 @@
<html>
<head>
<title>Example 8.16</title>
<script type="text/javascript">
var myarray = new Array(6); //allocates 6 rows to the array
for (i = 0; i < 6; i++)
{
myarray[i] = new Array(5); //allocates 5 columns each row
}
document.write("Ex 8.16: 2-D array: <br />");
for (var i = 0; i < 6; i++)
{
for (var j = 0; j < 5; j++)
{
myarray[i][j] = prompt("Enter value for row " + i + ", column " + j +":");
document.write(myarray[i][j] + " ");
}
document.write("<br />");
}
</script>
</head>
<body>
</body>
</html>

@ -0,0 +1,58 @@
<html>
<head>
<title>Example 8.17</title>
<script type="text/javascript">
function setup()
{
cells = new Array([document.getElementById("cell00"),document.getElementById("cell01"),
document.getElementById("cell02")],[document.getElementById("cell10"),
document.getElementById("cell11"), document.getElementById("cell12")],
[document.getElementById("cell20"),document.getElementById("cell21"),
document.getElementById("cell22")] );
placeValues();
}
// function to place values in cells
function placeValues()
{
for ( rows = 0; rows < 3; rows++ )
{
for ( var cols = 0; cols< 3; cols++ )
{
cells[rows][cols].innerHTML = prompt("Enter a value:");
}
}
}
</script>
<style type="text/css">
<!--
table { border: solid #4f81bd; }
body { margin: 10ex; color: #4f81bd; font-weight: bold; }
td {
font-size: 18px; color: #4f81bd; font-weight: bold; margin: 10%;
padding: 5px; line-height: 120%; width: 75pt; height: 25pt;
text-align: center;
}
-->
</style>
</head>
<body onload ="setup()">
<h1>Loading a 2-Dimensional Array</h1>
<table id = "myTable" border = "1">
<tr>
<td> <span id = "cell00" />cell 00 </td>
<td> <span id = "cell01" />cell 01 </td>
<td> <span id = "cell02" /> cell 02 </td>
</tr>
<tr>
<td> <span id = "cell10" />cell 10 </td>
<td> <span id = "cell11" />cell 11 </td>
<td> <span id = "cell12" />cell 12 </td>
</tr>
<tr>
<td> <span id = "cell20" />cell 20 </td>
<td> <span id = "cell21" />cell 21 </td>
<td> <span id = "cell22" />cell 22 </td>
</tr>
</table>
</body>
</html>

@ -0,0 +1,23 @@
<html>
<head>
<title>Example 8.2</title>
<script type="text/javascript">
var numbers = new Array(3);
numbers[0] = 4;
numbers[1] = 5;
numbers[2] = 6;
var result = 0;
result = numbers[0] + numbers[1];
document.write("a): result = " + result + "<br />");
result = numbers[1] * numbers[2];
document.write("b): result = " + result + "<br />");
result = numbers[2] % numbers[0];
document.write("c): result = " + result + "<br />");
</script>
</head>
<body>
</body>
</html>

@ -0,0 +1,18 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Example 8.3</title>
<script type="text/javascript">
var food = new Array();
food[0] = "pizza";
food[1] = "hamburger";
document.write("Original length: " + food.length + "<br />");
food[2] = "chips";
food[3] = "cake";
document.write("New length: " + food.length);
</script>
</head>
<body>
</body>
</html>

@ -0,0 +1,19 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Example 8.6</title>
<script type="text/javascript">
var names = new Array();
var numStud = prompt("How many students are in the class: ");
numStud = parseInt(numStud);
var i = 0;
for (i = 0; i <= numStud - 1; i++)
{
names[i]= prompt("Enter the student's name: ");
}
</script>
</head>
<body>
</body>
</html>

@ -0,0 +1,18 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Example 8.7</title>
<script type="text/javascript">
var names = new Array();
var numStud = prompt("How many students are in the class? ");
numStud = parseInt(numStud);
var i = 0;
for (i = 0; i <= numStud - 1; i++)
{
names[i]= prompt("Enter the student's name: ");
document.write("Name of student " + (i + 1) + ": " + names[i] + "<br />");
}
</script>
</head>
<body>
</body></html>

@ -0,0 +1,33 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Example 8.8</title>
<script type="text/javascript">
var names = new Array();
var grades = new Array();
var high = 0;
var index = 0;
var k = 0;
while (names[k] != "*")
{
names[k]= prompt("Enter the student's name or enter an asterisk (*) when you are done: ");
if (names[k] == "*")
{
break;
}
grades[k]= prompt("Enter the student's grade: ");
grades[k] = parseFloat(grades[k]);
document.write("Name of student " + (k + 1) + ": " + names[k] + " grade: " + grades[k] + "<br />");
if (grades[k] > high)
{
index = k;
high = grades[index];
}
k = k + 1;
}
document.write("The highest grade in the class is: " + grades[index] + "<br />");
document.write(names[index] + " is the high-achieving student! <br />");
</script>
</head>
<body>
</body></html>

@ -0,0 +1,37 @@
<html>
<head>
<title>Example 8.9</title>
<script type="text/javascript">
var scores = new Array();
var sum = 0;
var count1 = 0;
var count2 = 0;
var count = 0;
var average = 0;
while (scores[count1] != 999)
{
scores[count1]= prompt("Enter the student's grade or enter 999 when you are done: ");
scores[count1] = parseFloat(scores[count1]);
if (scores[count1] == 999)
{
break;
}
sum = sum + scores[count1];
count1 = count1 + 1;
}
average = sum / count1;
for (count = 0; count < count1; count++)
{
if (scores[count] > average)
{
count2 = count2 + 1;
}
}
document.write("The average is: " + average.toFixed(2) + "<br />");
document.write("The number above the average is: " + count2 + "<br />");
document.write("The number below the average is: " + (count1 - count2) + "<br />");
</script>
</head>
<body>
</body></html>

@ -0,0 +1,122 @@
body { background-color: #000040;
background-image: url(background.gif);
color: #88ffff;
font-family: Verdana, Arial, sans-serif;
}
#container { margin-left: auto;
margin-right: auto;
width:80%;
min-width:700px;
}
#logo {
text-align:center;
margin: 0;
font-family: Geneva, Arial, Helvetica, sans-serif;
padding-top: 30px;
padding-bottom: 20px;
}
#nav {
float: left;
width: 200px;
padding-top: 10px;
text-align:left;
color: #88FFFF;
font-size: 12px;
}
#nav a {text-decoration:none;
margin: 15px;
display: block;
color: #88FFFF;
font-size: 12px;
}
#content {
margin-left: 150px;
padding: 30px;
overflow:auto;
border: medium groove #88FFFF;
line-height: 135%;
}
.floatright {padding-left:20px;
float:right;
}
.floatleft {
float:left;
padding: 30px 0px 20px;
}
#footer { font-size: .60em;
font-style: italic;
text-align: center;
border-top: 2px double #000040;
padding-top: 20px;
padding-bottom: 20px;
}
h2 { text-transform: uppercase;
color: #88ffff;
font-size: 1.2em;
border-bottom: 1px none;
margin-right: 20px;
}
h3 {
color: #88ffff;
font-size: 1.2em;
border-bottom: 1px solid #000000;
margin-right: auto;
text-align: left;
padding-top: 10px;
padding-right: 20px;
padding-bottom: 10px;
padding-left: 20px;
line-height: 120%;
}
.details { padding-left:20%;
padding-right:20%;
}
img {border:0; }
.content {
margin: 20px;
padding: 20px;
height: 3700px;
width: 500px;
}
a {text-decoration:none;
margin: 15px;
display: block;
color: #88FFFF;
font-size: 12px;
}
a:hover {
color: #000040;
background-color: #88ffff;
}
span {
font-size: 20px;
font-weight: bold;
font-family: "Courier New", Courier, mono;
color: #88ffff;
background-position: center center;
text-align: center;
vertical-align: middle;
}
table {
border-collapse: collapse
}
td {
border: 2px solid #88ffff;
width: 5em;
color: #88ffff;
text-align: center;
}
.nobdr {
border: none;
cell-padding: 5px;
}

@ -0,0 +1,135 @@
<html>
<head>
<title>Greg's Gambits | Greg's 15</title>
<link href="greg.css" rel="stylesheet" type="text/css" />
<script type = "text/javascript">
var cells;
var swapped;
function setup()
{
cells = new Array([document.getElementById("cell00"),document.getElementById("cell01"), document.getElementById("cell02"), document.getElementById("cell03")],
[document.getElementById("cell10"), document.getElementById("cell11"),document.getElementById("cell12"), document.getElementById("cell13")],
[document.getElementById("cell20"), document.getElementById("cell21"),document.getElementById("cell22"), document.getElementById("cell23")],
[document.getElementById("cell30"), document.getElementById("cell31"), document.getElementById("cell32"), document.getElementById("cell33")]);
placeNumbers();
}
function placeNumbers()
{
var numbers = new Array();
for (var i=0; i<=16; i++)
numbers[i] = i;
var randomLoc;
var temp;
for (i= 0; i < 16 ; i++)
{
randomLoc = Math.floor(Math.random()* 15 + 1);
temp = numbers[i];
numbers[i] = numbers[randomLoc];
numbers[randomLoc] = temp;
}
i = 0;
for (var rows = 0; rows < 4; rows++)
{
for (var cols = 0; cols< 4; cols++)
{
if (numbers[i] != 0)
cells[rows][cols].innerHTML = numbers[i];
else
cells[rows][cols].innerHTML = "";
++i;
}
}
}
function doClick(row, col)
{
var top = row - 1;
var bottom = row + 1;
var left = col - 1;
var right = col + 1;
swapped = false;
if(top != -1 && cells[top][col].innerHTML == "")
swap(cells[row][col], cells[top][col]);
else
if(right != 4 && cells[row][right].innerHTML == "")
swap(cells[row][col], cells[row][right]);
else
if(bottom != 4 && cells[bottom][col].innerHTML == "")
swap(cells[row][col], cells[bottom][col]);
else
if (left != -1 && cells[row][left].innerHTML == "")
swap(cells[row][col], cells[row][left]);
else
alert("Illegal move.");
checkWinner();
}
function swap(firstCell, secondCell)
{
swapped = true;
secondCell.innerHTML = firstCell.innerHTML;
firstCell.innerHTML = "";
}
function checkWinner()
{
var win = true;
for (var i = 0; i < 4; i++)
{
for (var j = 0; j < 4; j++)
{
if (!(cells[i][j].innerHTML == i*4 + j + 1))
if (!(i == 3 && j == 3))
win = false;
}
}
if (win)
{
alert("Congratulations! You won!");
if (window.prompt("Play again?", "yes"))
placeNumbers();
}
}
</script>
</head>
<body onload ="setup()">
<div id="container">
<img src="images/superhero.jpg" class="floatleft" />
<h1 id="logo"><em>Greg's 15</em></h1>
<p>&nbsp;</p>
<div id="nav">
<p><a href="index.html">Home</a>
<a href="greg.html">About Greg</a>
<a href="play_games.html">Play a Game</a>
<a href="sign.html">Sign In</a>
<a href="contact.html">Contact Us</a></p>
</div>
<div id="content">
<p><input type="button" value = "Start the game" onclick="setup();" /></p>
<p>You can move any number into an empty spot by moving up, down,right, or left. Diagonal moves are not allowed. The object is to get all the numbers into correct order, from 1 through 15 with the empty space at the end. </p>
<table width = "60%" align = "center">
<tr>
<td height = "60"><span onclick = "doClick(0,0)" id = "cell00" />&nbsp;</td>
<td><span onclick = "doClick(0,1)" id = "cell01" />&nbsp;</td>
<td><span onclick = "doClick(0,2)" id = "cell02" />&nbsp</td>
<td><span onclick = "doClick(0,3)" id = "cell03" />&nbsp;</td>
</tr> <tr>
<td height = "60"><span onclick = "doClick(1,0)" id = "cell10" />&nbsp;</td>
<td><span onclick = "doClick(1,1)" id = "cell11" />&nbsp;</td>
<td><span onclick = "doClick(1,2)" id = "cell12" />&nbsp;</td>
<td><span onclick = "doClick(1,3)" id = "cell13" />&nbsp;</td>
</tr> <tr>
<td height = "60"><span onclick = "doClick(2,0)" id = "cell20" />&nbsp;</td>
<td><span onclick = "doClick(2,1)" id = "cell21" />&nbsp;</td>
<td><span onclick = "doClick(2,2)" id = "cell22" />&nbsp;</td>
<td><span onclick = "doClick(2,3)" id = "cell23" />&nbsp;</td>
</tr> <tr>
<td height = "60"><span onclick = "doClick(3,0)" id = "cell30" />&nbsp;</td>
<td><span onclick = "doClick(3,1)" id = "cell31" />&nbsp;</td>
<td><span onclick = "doClick(3,2)" id = "cell32" />&nbsp;</td>
<td><span onclick = "doClick(3,3)" id = "cell33" />&nbsp;</td>
</tr>
</table>
</div>
<div id="footer">Copyright &copy; 2013 Greg's Gambits<br />
<a href="mailto:yourfirstname@yourlastname.com">
yourfirstname@yourlastname.com</a></div>
</div>
</body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

@ -0,0 +1,44 @@
<!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" lang="en" xml:lang="en">
<head>
<title>Greg's Gambits | Games Menu</title>
<link href="greg.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div id="container">
<img src="images/superhero.jpg" width="120" height="120" class="floatleft" />
<h1 id="logo"><em>Play A Game</em></h1>
<div style ="clear:both;"></div>
<div id="nav">
<p><a href="index.html">Home</a>
<a href="greg.html">About Greg</a>
<a href="play_games.html">Play a Game</a>
<a href="sign.html">Sign In</a>
<a href="contact.html">Contact Us</a></p>
</div>
<div id="content">
<p>Menu of Available Games </p>
<table width="90%" border="0" cellpadding="5">
<tr>
<td width="50%"><a href="greg_tales.html">Greg's Tales</a> </td>
<td width="50%"><a href ="gregs_fortune.html">Madame Vadoma Sees All</a></td>
</tr>
<tr>
<td width="50%"><a href="greg_encoder.html">The Secret Message Encoder</a> </td>
<td><a href = "greg_battle.html">Battle the Evil Troll</a></td>
</tr>
<tr>
<td><a href="greg_game_15.html">The Game of 15</a> </td>
<td>&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
</div>
<div id="footer">Copyright &copy; 2013 Greg's Gambits<br />
<a href="mailto:yourfirstname@yourlastname.com">yourfirstname@yourlastname.com</a></div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB