MP13 progress
This commit is contained in:
parent
c798ae5486
commit
414a06957d
7
.gitignore
vendored
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/
|
||||
|
53
Assignments/JavaScript/JavaFXApplication1/build.xml
Normal file
53
Assignments/JavaScript/JavaFXApplication1/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="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>
|
3
Assignments/JavaScript/JavaFXApplication1/manifest.mf
Normal file
3
Assignments/JavaScript/JavaFXApplication1/manifest.mf
Normal file
@ -0,0 +1,3 @@
|
||||
Manifest-Version: 1.0
|
||||
X-COMMENT: Main-Class will be added automatically by build
|
||||
|
1800
Assignments/JavaScript/JavaFXApplication1/nbproject/build-impl.xml
Normal file
1800
Assignments/JavaScript/JavaFXApplication1/nbproject/build-impl.xml
Normal file
File diff suppressed because it is too large
Load Diff
@ -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
|
4197
Assignments/JavaScript/JavaFXApplication1/nbproject/jfx-impl.xml
Normal file
4197
Assignments/JavaScript/JavaFXApplication1/nbproject/jfx-impl.xml
Normal file
File diff suppressed because it is too large
Load Diff
@ -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{
|
||||
|
||||
}
|
3
Assignments/JavaScript/MP13_CalebFontenot/.bowerrc
Normal file
3
Assignments/JavaScript/MP13_CalebFontenot/.bowerrc
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"directory": "public_html/bower_components"
|
||||
}
|
9
Assignments/JavaScript/MP13_CalebFontenot/Gruntfile.js
Normal file
9
Assignments/JavaScript/MP13_CalebFontenot/Gruntfile.js
Normal file
@ -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({
|
||||
});
|
||||
};
|
13
Assignments/JavaScript/MP13_CalebFontenot/bower.json
Normal file
13
Assignments/JavaScript/MP13_CalebFontenot/bower.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "MP13_CalebFontenot",
|
||||
"version": "1.0.0",
|
||||
"main": "path/to/main.css",
|
||||
"ignore": [
|
||||
".jshintrc",
|
||||
"**/*.txt"
|
||||
],
|
||||
"dependencies": {
|
||||
},
|
||||
"devDependencies": {
|
||||
}
|
||||
}
|
BIN
Assignments/JavaScript/MP13_CalebFontenot/ch8.pdf
Normal file
BIN
Assignments/JavaScript/MP13_CalebFontenot/ch8.pdf
Normal file
Binary file not shown.
10
Assignments/JavaScript/MP13_CalebFontenot/gulpfile.js
Normal file
10
Assignments/JavaScript/MP13_CalebFontenot/gulpfile.js
Normal file
@ -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>
|
8
Assignments/JavaScript/MP13_CalebFontenot/package.json
Normal file
8
Assignments/JavaScript/MP13_CalebFontenot/package.json
Normal file
@ -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>
|
BIN
Chapter ZIPs/JavaScript/ch8/ch8/.DS_Store
vendored
Normal file
BIN
Chapter ZIPs/JavaScript/ch8/ch8/.DS_Store
vendored
Normal file
Binary file not shown.
31
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_10.html
Executable file
31
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_10.html
Executable file
@ -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>
|
||||
|
31
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_11.html
Executable file
31
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_11.html
Executable file
@ -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>
|
||||
|
31
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_12.html
Executable file
31
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_12.html
Executable file
@ -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>
|
||||
|
31
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_13.html
Executable file
31
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_13.html
Executable file
@ -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>
|
||||
|
107
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_14.html
Executable file
107
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_14.html
Executable file
@ -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>
|
||||
|
||||
|
12
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_14.js
Executable file
12
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_14.js
Executable file
@ -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>");
|
||||
}
|
27
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_16.html
Executable file
27
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_16.html
Executable file
@ -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>
|
58
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_17.html
Executable file
58
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_17.html
Executable file
@ -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>
|
23
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_2.html
Executable file
23
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_2.html
Executable file
@ -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>
|
18
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_3.html
Executable file
18
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_3.html
Executable file
@ -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>
|
19
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_6.html
Executable file
19
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_6.html
Executable file
@ -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>
|
18
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_7.html
Executable file
18
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_7.html
Executable file
@ -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>
|
33
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_8.html
Executable file
33
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_8.html
Executable file
@ -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>
|
37
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_9.html
Executable file
37
Chapter ZIPs/JavaScript/ch8/ch8/ex_8_9.html
Executable file
@ -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>
|
||||
|
122
Chapter ZIPs/JavaScript/ch8/ch8/greg/greg.css
Executable file
122
Chapter ZIPs/JavaScript/ch8/ch8/greg/greg.css
Executable file
@ -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;
|
||||
}
|
135
Chapter ZIPs/JavaScript/ch8/ch8/greg/greg_game_15.html
Executable file
135
Chapter ZIPs/JavaScript/ch8/ch8/greg/greg_game_15.html
Executable file
@ -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> </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" /> </td>
|
||||
<td><span onclick = "doClick(0,1)" id = "cell01" /> </td>
|
||||
<td><span onclick = "doClick(0,2)" id = "cell02" /> </td>
|
||||
<td><span onclick = "doClick(0,3)" id = "cell03" /> </td>
|
||||
</tr> <tr>
|
||||
<td height = "60"><span onclick = "doClick(1,0)" id = "cell10" /> </td>
|
||||
<td><span onclick = "doClick(1,1)" id = "cell11" /> </td>
|
||||
<td><span onclick = "doClick(1,2)" id = "cell12" /> </td>
|
||||
<td><span onclick = "doClick(1,3)" id = "cell13" /> </td>
|
||||
</tr> <tr>
|
||||
<td height = "60"><span onclick = "doClick(2,0)" id = "cell20" /> </td>
|
||||
<td><span onclick = "doClick(2,1)" id = "cell21" /> </td>
|
||||
<td><span onclick = "doClick(2,2)" id = "cell22" /> </td>
|
||||
<td><span onclick = "doClick(2,3)" id = "cell23" /> </td>
|
||||
</tr> <tr>
|
||||
<td height = "60"><span onclick = "doClick(3,0)" id = "cell30" /> </td>
|
||||
<td><span onclick = "doClick(3,1)" id = "cell31" /> </td>
|
||||
<td><span onclick = "doClick(3,2)" id = "cell32" /> </td>
|
||||
<td><span onclick = "doClick(3,3)" id = "cell33" /> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="footer">Copyright © 2013 Greg's Gambits<br />
|
||||
<a href="mailto:yourfirstname@yourlastname.com">
|
||||
yourfirstname@yourlastname.com</a></div>
|
||||
</div>
|
||||
</body></html>
|
BIN
Chapter ZIPs/JavaScript/ch8/ch8/greg/images/superhero.jpg
Executable file
BIN
Chapter ZIPs/JavaScript/ch8/ch8/greg/images/superhero.jpg
Executable file
Binary file not shown.
After Width: | Height: | Size: 5.0 KiB |
44
Chapter ZIPs/JavaScript/ch8/ch8/greg/play_games.html
Executable file
44
Chapter ZIPs/JavaScript/ch8/ch8/greg/play_games.html
Executable file
@ -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> </td>
|
||||
</tr>
|
||||
</table>
|
||||
<p> </p>
|
||||
</div>
|
||||
<div id="footer">Copyright © 2013 Greg's Gambits<br />
|
||||
<a href="mailto:yourfirstname@yourlastname.com">yourfirstname@yourlastname.com</a></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
BIN
Chapter ZIPs/JavaScript/ch8/ch8/images/jewel_box1.jpg
Executable file
BIN
Chapter ZIPs/JavaScript/ch8/ch8/images/jewel_box1.jpg
Executable file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
Loading…
Reference in New Issue
Block a user