Get rid of a redundant directory level.
1
projects/bsq/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
bak/
|
||||
BIN
projects/bsq/Cerebral_lobes.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
1
projects/bsq/Cerebral_lobes.png.txt
Normal file
@@ -0,0 +1 @@
|
||||
Image released under GFDL 1.2 or any later version. Author unknown. See <http://commons.wikimedia.org/wiki/File:Cerebral_lobes.png>.
|
||||
BIN
projects/bsq/Cerveau_anime.gif
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
1
projects/bsq/Cerveau_anime.gif.txt
Normal file
@@ -0,0 +1 @@
|
||||
Image released under GFDL 1.2 or any later version. Author: modifié par Azariel. See <http://commons.wikimedia.org/wiki/File:Cerveau_animé.gif>.
|
||||
BIN
projects/bsq/Friendly_stickman.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
32
projects/bsq/Friendly_stickman.svg
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="400" height="200" id="svg2" sodipodi:version="0.32" inkscape:version="0.45.1" version="1.0" sodipodi:docbase="F:\DERECKSON" sodipodi:docname="friendly stickman.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs id="defs4"/>
|
||||
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.70710678" inkscape:cx="101.48661" inkscape:cy="201.77156" inkscape:document-units="px" inkscape:current-layer="layer1" width="400px" height="200px" showborder="true" borderlayer="true" inkscape:window-width="748" inkscape:window-height="573" inkscape:window-x="87" inkscape:window-y="87"/>
|
||||
<metadata id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g inkscape:label="Calque 1" inkscape:groupmode="layer" id="layer1" transform="translate(-18.4429, -9.10085)">
|
||||
<path sodipodi:type="arc" style="opacity: 1; fill: none; fill-opacity: 1; stroke: rgb(254, 11, 5); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="path2160" sodipodi:cx="114.5" sodipodi:cy="163" sodipodi:rx="23.5" sodipodi:ry="23" d="M 138 163 A 23.5 23 0 1 1 91,163 A 23.5 23 0 1 1 138 163 z" transform="matrix(0.999639, -0.0268772, 0.0268772, 0.999639, 55.8298, -110.206)"/>
|
||||
<path style="fill: none; fill-rule: evenodd; stroke: rgb(254, 11, 5); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" d="M 175.56475,72.995643 L 177.42691,133.61394 L 142.36329,174.7877" id="path2162" sodipodi:nodetypes="cc"/>
|
||||
<path style="fill: none; fill-rule: evenodd; stroke: rgb(254, 11, 5); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" d="M 178.02676,133.15548 L 208.7788,171.94094" id="path2168"/>
|
||||
<path style="fill: none; fill-rule: evenodd; stroke: rgb(254, 11, 5); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" d="M 130.31029,94.826143 L 175.38906,74.515333 L 215.43836,90.768903" id="path2170"/>
|
||||
<path sodipodi:type="arc" style="opacity: 1; fill: none; fill-opacity: 1; stroke: rgb(0, 0, 0); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="path3143" sodipodi:cx="114.5" sodipodi:cy="163" sodipodi:rx="23.5" sodipodi:ry="23" d="M 138 163 A 23.5 23 0 1 1 91,163 A 23.5 23 0 1 1 138 163 z" transform="matrix(0.9771, -0.212782, 0.212782, 0.9771, -72.5737, -70.8063)"/>
|
||||
<path style="fill: none; fill-rule: evenodd; stroke: rgb(0, 0, 0); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" d="M 79.218526,86.859173 L 92.349913,146.06738 L 65.577685,193.05657" id="path3145" sodipodi:nodetypes="cc"/>
|
||||
<path style="fill: none; fill-rule: evenodd; stroke: rgb(0, 0, 0); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" d="M 92.853773,145.50513 L 130.29788,177.877" id="path3147"/>
|
||||
<path style="fill: none; fill-rule: evenodd; stroke: rgb(0, 0, 0); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" d="M 38.82772,116.74429 L 79.329254,88.384973 L 121.70668,96.886623" id="path3149"/>
|
||||
<path sodipodi:type="arc" style="opacity: 1; fill: none; fill-opacity: 1; stroke: rgb(251, 240, 18); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="path3151" sodipodi:cx="114.5" sodipodi:cy="163" sodipodi:rx="23.5" sodipodi:ry="23" d="M 138 163 A 23.5 23 0 1 1 91,163 A 23.5 23 0 1 1 138 163 z" transform="matrix(0.992317, 0.123719, -0.123719, 0.992317, 179.381, -122.482)"/>
|
||||
<path style="fill: none; fill-rule: evenodd; stroke: rgb(251, 240, 18); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" d="M 270.21176,76.639033 L 262.93908,136.84828 L 222.08373,172.28239" id="path3153" sodipodi:nodetypes="cc"/>
|
||||
<path style="fill: none; fill-rule: evenodd; stroke: rgb(251, 240, 18); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" d="M 263.60104,136.48522 L 288.17233,179.45325" id="path3155"/>
|
||||
<path style="fill: none; fill-rule: evenodd; stroke: rgb(251, 240, 18); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" d="M 222.18957,91.417603 L 269.80959,78.115033 L 306.96002,100.20508" id="path3157"/>
|
||||
<path sodipodi:type="arc" style="opacity: 1; fill: none; fill-opacity: 1; stroke: rgb(255, 2, 163); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" id="path3159" sodipodi:cx="114.5" sodipodi:cy="163" sodipodi:rx="23.5" sodipodi:ry="23" d="M 138 163 A 23.5 23 0 1 1 91,163 A 23.5 23 0 1 1 138 163 z" transform="matrix(0.973822, 0.227311, -0.227311, 0.973822, 298.968, -116.645)"/>
|
||||
<path style="fill: none; fill-rule: evenodd; stroke: rgb(255, 2, 163); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" d="M 368.37124,90.917723 L 354.81181,150.02938 L 310.45911,180.97407" id="path3161" sodipodi:nodetypes="cc"/>
|
||||
<path style="fill: none; fill-rule: evenodd; stroke: rgb(255, 2, 163); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" d="M 355.50827,149.73789 L 375.42827,195.05007" id="path3163"/>
|
||||
<path style="fill: none; fill-rule: evenodd; stroke: rgb(255, 2, 163); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1;" d="M 319.06194,100.56813 L 367.8162,92.343303 L 402.43964,118.21494" id="path3165"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.7 KiB |
1
projects/bsq/Friendly_stickman.txt
Normal file
@@ -0,0 +1 @@
|
||||
Image released under WTFPL 2.0.
|
||||
13
projects/bsq/index.htm
Normal file
@@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3c.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Brainy Stickman Quiz</title>
|
||||
<link href='style.css' rel='stylesheet' type='text/css' />
|
||||
<script type='text/javascript' src='script.js'></script>
|
||||
</head>
|
||||
<body>
|
||||
<canvas id='canvas' width='640' height='400'></canvas>
|
||||
<div id='box'></div>
|
||||
<div id='start'></div>
|
||||
</body>
|
||||
</html>
|
||||
548
projects/bsq/script.js
Normal file
@@ -0,0 +1,548 @@
|
||||
/*
|
||||
This program is free software. It comes without any warranty, to
|
||||
the extent permitted by applicable law. You can redistribute it
|
||||
and/or modify it under the terms of the Do What The Fuck You Want
|
||||
To Public License, Version 2, as published by Sam Hocevar. See
|
||||
http://sam.zoy.org/wtfpl/COPYING for more details.
|
||||
*/
|
||||
|
||||
/*
|
||||
Questions and obstacles are defined in the end of this file.
|
||||
*/
|
||||
function ld(num,d) {
|
||||
if (d==0) num=Math.floor(num/30)
|
||||
else num=Math.ceil(num/30)
|
||||
return num
|
||||
}
|
||||
|
||||
function calc(dn) {
|
||||
if (!clcn) {
|
||||
clcn=true
|
||||
var pstr
|
||||
if (dn==star[num][3]) {
|
||||
pstr="class='green'>CORRECT!"
|
||||
saa[num]=3
|
||||
corrects++
|
||||
}
|
||||
else {
|
||||
pstr="class='red'>WRONG! ("+abc.substr(star[num][3]-1,1)+" was correct)"
|
||||
saa[num]=1
|
||||
}
|
||||
starstaken++
|
||||
bxd.innerHTML+="<p onclick='bhidequestion()' "+pstr+"</p>"
|
||||
}
|
||||
}
|
||||
|
||||
function showquestion() {
|
||||
bxd.style.display="block"
|
||||
bxd.style.width=(sqp*6.4-10)+"px"
|
||||
bxd.style.height=(sqp*4-10)+"px"
|
||||
bxd.style.marginLeft=(sqp*-3.2)+"px"
|
||||
bxd.style.marginTop=(sqp*-2)+"px"
|
||||
if (sqp<75) {
|
||||
sqp+=3
|
||||
setTimeout("showquestion()",10)
|
||||
}
|
||||
else {
|
||||
clcn=false
|
||||
rsqw=true
|
||||
bxd.innerHTML="<h1>"+star[num][1]+"</h1>"
|
||||
for (var i=0;i<star[num][2].length;i++) {
|
||||
bxd.innerHTML+="<p onclick='calc("+(i+1)+")'>"+abc.substr(i,1)+": "+star[num][2][i]+"</p>"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function bhidequestion() {
|
||||
bxd.innerHTML=""
|
||||
rsqw=false
|
||||
hidequestion()
|
||||
}
|
||||
|
||||
function hidequestion() {
|
||||
bxd.style.width=(sqp*6.4-10)+"px"
|
||||
bxd.style.height=(sqp*4-10)+"px"
|
||||
bxd.style.marginLeft=(sqp*-3.2)+"px"
|
||||
bxd.style.marginTop=(sqp*-2)+"px"
|
||||
if (sqp>0) {
|
||||
sqp-=3
|
||||
setTimeout("hidequestion()",10)
|
||||
}
|
||||
else {
|
||||
bxd.style.display="none"
|
||||
sqp=1
|
||||
qs=false
|
||||
}
|
||||
}
|
||||
|
||||
function nrmlclr() {
|
||||
if (ncc) {
|
||||
qe=true
|
||||
hclr="#ff0000"
|
||||
ctxo.style.backgroundColor="#ff0000"
|
||||
ncc=false
|
||||
setTimeout("nrmlclr()",500)
|
||||
}
|
||||
else {
|
||||
ncc=true
|
||||
hclr="#000"
|
||||
ctxo.style.backgroundColor="#000"
|
||||
qe=false
|
||||
}
|
||||
}
|
||||
|
||||
function motion() {
|
||||
var i,pi
|
||||
ctx.clearRect(0,0,640,400)
|
||||
if (p>305 && p<end-290) pp=305
|
||||
else if (p>end-291) pp=305+p-end+291
|
||||
else pp=p
|
||||
|
||||
if (!rsqw) {
|
||||
if (j<0) {
|
||||
jumping=false
|
||||
j=0
|
||||
jc=5
|
||||
l=41
|
||||
a=21
|
||||
}
|
||||
if (jumping) {
|
||||
if (j>200) jc=-6
|
||||
if (jc>=0) j+=jc-j/100
|
||||
else j+=jc+j/100
|
||||
}
|
||||
}
|
||||
|
||||
if (!walkingr && !walkingl) {
|
||||
cutd=0
|
||||
ta=1
|
||||
}
|
||||
if (cutd<10) speed=ospeed+cutd/3
|
||||
|
||||
ctx.strokeStyle="#fff"
|
||||
ctx.lineWidth=2
|
||||
|
||||
// BACKGROUND
|
||||
for (pi=0;pi<bgl;pi++) {
|
||||
ci=Math.floor((p-pp+bg[pi][1]*p/ospeed)*bg[pi][1]/bg[pi][3])
|
||||
for (i=ci;i<bg[pi][4]+ci;i++) ctx.drawImage(bg[pi][0],i*bg[pi][3]+(pp-p-bg[pi][1]*p/ospeed)*bg[pi][1],bg[pi][2])
|
||||
}
|
||||
|
||||
// STARS
|
||||
if (stad) {
|
||||
for (i=0;i<starl;i++) {
|
||||
x=star[i][0][0]-(p-pp)
|
||||
y=400-star[i][0][1]-starh
|
||||
//document.title=ld(x,0)+" "+ld(pp-starw/2+30,0)+" "+y+" "+(y+starh)+" "+(400-j-130)+" "+(400-j)
|
||||
if ((ld(x,0)==ld(pp-starw/2+30,0) || ld(x,1)==ld(pp-starw/2+30,1)) && 400-j-130<y+starh && 400-j>y && saa[i]==2 && !qs) {
|
||||
qs=true
|
||||
num=i
|
||||
sqp=1
|
||||
showquestion()
|
||||
}
|
||||
if (x+starw>0 && x<640) {
|
||||
if (saa[i]==2) ctx.drawImage(starimg,x,y)
|
||||
else if (saa[i]==1 && stadu) ctx.drawImage(starimgu,x,y)
|
||||
else if (saa[i]==3 && stadk) ctx.drawImage(starimgk,x,y)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TRAPS
|
||||
if (trapd) {
|
||||
for (i=0;i<trapl;i++) {
|
||||
x=trap[i][0]-(p-pp)
|
||||
y=400-trap[i][1]-traph
|
||||
if (pp+20>x && pp+40<x+trapw && 400-j-130<y+traph && 400-j>y && !qs && !qe) {
|
||||
timeshurt++
|
||||
nrmlclr()
|
||||
}
|
||||
if (x+trapw>0 && x<640) ctx.drawImage(trapimg,x,y)
|
||||
}
|
||||
}
|
||||
|
||||
// STICK FIGURE START
|
||||
|
||||
// LEGS
|
||||
ctx.beginPath()
|
||||
ctx.moveTo(pp+l,400-j)
|
||||
ctx.lineTo(pp+20,350-j)
|
||||
ctx.lineTo(pp+40-l,400-j)
|
||||
|
||||
// BODY
|
||||
ctx.moveTo(pp+20,350-j)
|
||||
ctx.lineTo(pp+20,300-j)
|
||||
|
||||
// ARMS
|
||||
ctx.moveTo(pp+20,320-j)
|
||||
ctx.lineTo(pp+10+a,350-j)
|
||||
ctx.moveTo(pp+20,320-j)
|
||||
ctx.lineTo(pp+30-a,350-j)
|
||||
ctx.stroke()
|
||||
|
||||
// HEAD
|
||||
ctx.fillStyle=hclr
|
||||
ctx.beginPath()
|
||||
ctx.arc(pp+20,285-j,15,0,Math.PI*2,true)
|
||||
ctx.fill()
|
||||
ctx.stroke()
|
||||
|
||||
// EYE
|
||||
ctx.fillStyle="#fff"
|
||||
ctx.beginPath()
|
||||
ctx.arc(pp+eyex,eyey-j,3,0,Math.PI*2,true)
|
||||
ctx.fill()
|
||||
|
||||
// MOUTH
|
||||
ctx.beginPath()
|
||||
ctx.lineCap="round"
|
||||
ctx.moveTo(pp+mouthax,mouthay-j)
|
||||
ctx.lineTo(pp+mouthbx,mouthby-j)
|
||||
ctx.stroke()
|
||||
|
||||
// STICK FIGURE END
|
||||
|
||||
if (!rsqw) {
|
||||
if (p>=end) p=end-1
|
||||
else if (p<0) p=0
|
||||
if (p<end && p>-1 && (walkingr || walkingl)) {
|
||||
if (!jumping) {
|
||||
if (l>40) lc=-1
|
||||
else if (l<1) lc=1
|
||||
if (a>20) ac=-.5
|
||||
else if (a<1) ac=.5
|
||||
l+=lc*speed
|
||||
a+=ac*speed
|
||||
}
|
||||
if (walkingr) p+=speed
|
||||
else p-=speed
|
||||
}
|
||||
|
||||
if (jumping) {
|
||||
l=60
|
||||
a=40
|
||||
}
|
||||
if (p>end || p<0) {
|
||||
a=20
|
||||
l=40
|
||||
}
|
||||
}
|
||||
|
||||
if (p>=end) endgame()
|
||||
|
||||
cht=setTimeout("motion()",20)
|
||||
}
|
||||
|
||||
function endgame() {
|
||||
if (starstaken<starl) return
|
||||
bxd.style.display="block"
|
||||
qs=true
|
||||
|
||||
if (self.innerHeight) {
|
||||
h=self.innerHeight
|
||||
w=self.innerWidth
|
||||
}
|
||||
else if (document.documentElement && document.documentElement.clientHeight) {
|
||||
h=document.documentElement.clientHeight
|
||||
w=document.documentElement.clientHeight
|
||||
}
|
||||
else if (document.body) {
|
||||
h=document.body.clientHeight
|
||||
w=document.body.clientWidth
|
||||
}
|
||||
|
||||
openend()
|
||||
}
|
||||
|
||||
function openend() {
|
||||
bxd.style.width=(sqp*w/100-10)+"px"
|
||||
bxd.style.height=(sqp*h/100-10)+"px"
|
||||
bxd.style.marginLeft=(sqp*-w/200)+"px"
|
||||
bxd.style.marginTop=(sqp*-h/200)+"px"
|
||||
if (sqp<97) {
|
||||
sqp++
|
||||
setTimeout("openend()",10)
|
||||
}
|
||||
else {
|
||||
rsqw=true
|
||||
corrects==1 ? ife="" : ife="s"
|
||||
timeshurt==1 ? ifeb="" : ifeb="s"
|
||||
prc=Math.round(corrects/starl*100)
|
||||
hurtpoints=Math.round(timeshurt/trapl*100)
|
||||
fpc=prc-hurtpoints
|
||||
if (fpc<10) grade="F"
|
||||
else if (fpc<20) grade="E"
|
||||
else if (fpc<30) grade="C"
|
||||
else if (fpc<55) grade="D"
|
||||
else if (fpc<85) grade="B"
|
||||
else if (fpc<95) grade="A"
|
||||
else grade="A+"
|
||||
clearTimeout(cht)
|
||||
bxd.innerHTML="<h2>The quiz is over!</h2><h3>You managed to get "+corrects+" right answer"+ife+" out of "+starl+" possible, i.e. "+prc+"%. You were wounded "+timeshurt+" time"+ifeb+", deducting "+hurtpoints+"%.</h3><h3>Your grade is... <div>"+grade+"</div></h3><h4 onclick='endall()'>OK</h4>"
|
||||
}
|
||||
}
|
||||
|
||||
function endall() {
|
||||
document.body.removeChild(bxd)
|
||||
document.body.removeChild(ctxo)
|
||||
}
|
||||
|
||||
function md(e) {
|
||||
if (window.event) kc=window.event.keyCode
|
||||
else if (e) kc=e.which
|
||||
|
||||
if (!walkingr && kc==39) {
|
||||
walkingr=true
|
||||
walkingl=false
|
||||
cutd=0
|
||||
}
|
||||
if (!walkingl && kc==37) {
|
||||
walkingr=false
|
||||
walkingl=true
|
||||
cutd=0
|
||||
}
|
||||
else if (!jumping && kc==38) jumping=true
|
||||
|
||||
if (walkingl) {
|
||||
eyex=12
|
||||
eyey=283
|
||||
mouthax=20
|
||||
mouthay=293
|
||||
mouthbx=10
|
||||
mouthby=295
|
||||
}
|
||||
else if (walkingr) {
|
||||
eyex=28
|
||||
eyey=283
|
||||
mouthax=30
|
||||
mouthay=295
|
||||
mouthbx=20
|
||||
mouthby=293
|
||||
}
|
||||
}
|
||||
|
||||
function mu(e) {
|
||||
if (window.event) kc=window.event.keyCode
|
||||
else if (e) kc=e.which
|
||||
|
||||
if (walkingr && kc==39) walkingr=false
|
||||
if (walkingl && kc==37) walkingl=false
|
||||
}
|
||||
|
||||
function time() {
|
||||
if (cutd==0) ta=1
|
||||
cutd+=ta
|
||||
}
|
||||
|
||||
function load() {
|
||||
var i
|
||||
fdng=100
|
||||
ospeed=3
|
||||
speed=ospeed
|
||||
p=0
|
||||
l=0
|
||||
a=0
|
||||
walkingr=false
|
||||
walkingl=false
|
||||
jumping=false
|
||||
jc=5
|
||||
j=0
|
||||
qs=false
|
||||
qe=false
|
||||
rsqw=false
|
||||
corrects=0
|
||||
starstaken=0
|
||||
abc="ABCDEFGH"
|
||||
cutd=0
|
||||
ta=1
|
||||
ncc=true
|
||||
hclr="#000"
|
||||
timeshurt=0
|
||||
|
||||
// BACKGROUNDS
|
||||
bg=new Array()
|
||||
bg[0]=new Array()
|
||||
bg[0][0]=new Image()
|
||||
bg[0][0].src="Cerebral_lobes.png"
|
||||
bg[0][1]=.5
|
||||
bg[0][2]=20
|
||||
bg[1]=new Array()
|
||||
bg[1][0]=new Image()
|
||||
bg[1][0].src="Cerveau_anime.gif"
|
||||
bg[1][1]=1
|
||||
bg[1][2]=90
|
||||
bg[2]=new Array()
|
||||
bg[2][0]=new Image()
|
||||
bg[2][0].src="Friendly_stickman.png"
|
||||
bg[2][1]=1.5
|
||||
bg[2][2]=170
|
||||
bgl=bg.length
|
||||
|
||||
// STARS
|
||||
star=new Array()
|
||||
star[0]=new Array()
|
||||
star[0][0]=[200,3]
|
||||
star[0][1]="To what extent does bicycles apply to world economics?"
|
||||
star[0][2]=["A great extent","A noticable extent","Nothing at all","I don't know"]
|
||||
star[0][3]=4
|
||||
star[1]=new Array()
|
||||
star[1][0]=[650,80]
|
||||
star[1][1]="What is a chocobo?"
|
||||
star[1][2]=["A fictional bird","A fictional frog","A real bird","A real frog"]
|
||||
star[1][3]=1
|
||||
star[2]=new Array()
|
||||
star[2][0]=[850,100]
|
||||
star[2][1]="What is the size of an average male human brain?"
|
||||
star[2][2]=["1200-1300cm<sup>3</sup>","1100-1200cm<sup>3</sup>","1300-1400cm<sup>3</sup>","1000-1100cm<sup>3</sup>"]
|
||||
star[2][3]=2
|
||||
star[3]=new Array()
|
||||
star[3][0]=[1200,23]
|
||||
star[3][1]="What is 2 * 8^(1/3) + 4?"
|
||||
star[3][2]=["2","4","6","8"]
|
||||
star[3][3]=4
|
||||
star[4]=new Array()
|
||||
star[4][0]=[1577,150]
|
||||
star[4][1]="What colour is the beak of a male blackbird?"
|
||||
star[4][2]=["Grey","Black","Brown","Orange"]
|
||||
star[4][3]=4
|
||||
star[5]=new Array()
|
||||
star[5][0]=[1700,10]
|
||||
star[5][1]="Do you like this quiz?"
|
||||
star[5][2]=["Yes","No","Perhaps","Eventually","Maybe","Depends"]
|
||||
star[5][3]=1
|
||||
star[6]=new Array()
|
||||
star[6][0]=[1900,20]
|
||||
star[6][1]="Who is Horacio Pe<50>a?"
|
||||
star[6][2]=["An actor","A writer"]
|
||||
star[6][3]=2
|
||||
star[7]=new Array()
|
||||
star[7][0]=[2222,111]
|
||||
star[7][1]="When did Monkey Island reveal its truth?"
|
||||
star[7][2]=["1990","1991","1992","Hasn't happened yet"]
|
||||
star[7][3]=4
|
||||
star[8]=new Array()
|
||||
star[8][0]=[2500,23]
|
||||
star[8][1]="Do you gimp?"
|
||||
star[8][2]=["No, I photoshop.","Yes."]
|
||||
star[8][3]=2
|
||||
starl=star.length
|
||||
|
||||
Array.prototype.add=function(x,y){this[this.length]=[x,y]}
|
||||
|
||||
// TRAPS
|
||||
trap=new Array()
|
||||
trap.add(100,5)
|
||||
trap.add(300,60)
|
||||
trap.add(350,43)
|
||||
trap.add(660,20)
|
||||
trap.add(700,250)
|
||||
trap.add(750,250)
|
||||
trap.add(800,250)
|
||||
trap.add(860,2)
|
||||
trap.add(920,30)
|
||||
trap.add(930,40)
|
||||
trap.add(940,50)
|
||||
trap.add(1250,40)
|
||||
trap.add(1400,68)
|
||||
trap.add(1537,10)
|
||||
trap.add(1567,10)
|
||||
trap.add(1597,10)
|
||||
trap.add(1700,170)
|
||||
trap.add(1800,64)
|
||||
trap.add(1950,3)
|
||||
trap.add(1950,23)
|
||||
trap.add(1950,43)
|
||||
trap.add(1950,63)
|
||||
trap.add(1950,203)
|
||||
trap.add(2200,10)
|
||||
trap.add(2375,10)
|
||||
trap.add(2435,10)
|
||||
trapl=trap.length
|
||||
|
||||
saa=new Array()
|
||||
for (i=0;i<starl;i++) {
|
||||
saa[i]=2
|
||||
}
|
||||
|
||||
end=star[starl-1][0][0]+350
|
||||
|
||||
starimg=new Image()
|
||||
starimg.src="star.png"
|
||||
starimgu=new Image()
|
||||
starimgu.src="staru.png"
|
||||
starimgk=new Image()
|
||||
starimgk.src="stark.png"
|
||||
|
||||
trapimg=new Image()
|
||||
trapimg.src="trap.png"
|
||||
|
||||
eyex=28
|
||||
eyey=283
|
||||
mouthax=30
|
||||
mouthay=295
|
||||
mouthbx=20
|
||||
mouthby=293
|
||||
|
||||
ctxo=document.getElementById("canvas")
|
||||
ctx=ctxo.getContext("2d")
|
||||
bxd=document.getElementById("box")
|
||||
strt=document.getElementById("start")
|
||||
|
||||
stad=false
|
||||
starimg.onload=function(){
|
||||
starh=starimg.height
|
||||
starw=starimg.width
|
||||
stad=true
|
||||
}
|
||||
stadu=false
|
||||
starimgu.onload=function(){
|
||||
stadu=true
|
||||
}
|
||||
stadk=false
|
||||
starimgk.onload=function(){
|
||||
stadk=true
|
||||
}
|
||||
|
||||
trapd=false
|
||||
trapimg.onload=function(){
|
||||
traph=trapimg.height
|
||||
trapw=trapimg.width
|
||||
trapd=true
|
||||
}
|
||||
|
||||
bg[0][0].onload=function(){
|
||||
bg[0][3]=bg[0][0].width
|
||||
bg[0][4]=Math.ceil(640/bg[0][3])+1
|
||||
}
|
||||
bg[1][0].onload=function(){
|
||||
bg[1][3]=bg[1][0].width
|
||||
bg[1][4]=Math.ceil(640/bg[1][3])+1
|
||||
}
|
||||
bg[2][0].onload=function(){
|
||||
bg[2][3]=bg[2][0].width
|
||||
bg[2][4]=Math.ceil(640/bg[2][3])+1
|
||||
}
|
||||
|
||||
document.onkeydown=startgame
|
||||
document.onclick=startgame
|
||||
}
|
||||
|
||||
function startgame() {
|
||||
document.onclick=null
|
||||
strt.style.mozOpacity=fdng/100
|
||||
strt.style.opacity=fdng/100
|
||||
strt.style.filter="alpha(opacity="+fdng+")"
|
||||
if (fdng>0) {
|
||||
fdng-=8
|
||||
setTimeout("startgame()",10)
|
||||
}
|
||||
else {
|
||||
document.onkeydown=md
|
||||
document.onkeyup=mu
|
||||
strt.style.display="none"
|
||||
motion()
|
||||
setInterval("time()",500)
|
||||
}
|
||||
}
|
||||
|
||||
window.onload=load
|
||||
BIN
projects/bsq/star.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
projects/bsq/stark.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
projects/bsq/start.png
Normal file
|
After Width: | Height: | Size: 143 KiB |
BIN
projects/bsq/start.xcf
Normal file
BIN
projects/bsq/staru.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
106
projects/bsq/style.css
Normal file
@@ -0,0 +1,106 @@
|
||||
* {
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
body {
|
||||
background:#000;
|
||||
}
|
||||
|
||||
#canvas {
|
||||
position:absolute;
|
||||
top:50%;
|
||||
left:50%;
|
||||
margin-top:-202px;
|
||||
margin-left:-322px;
|
||||
background:#000;
|
||||
border:2px solid #aaa;
|
||||
}
|
||||
|
||||
#box {
|
||||
position:absolute;
|
||||
top:50%;
|
||||
left:50%;
|
||||
border:2px solid #ccc;
|
||||
padding:5px;
|
||||
background:#000;
|
||||
opacity:.9;
|
||||
filter:alpha(opacity=90);
|
||||
-moz-opacity:.9;
|
||||
color:#fff;
|
||||
display:none;
|
||||
z-index:2;
|
||||
}
|
||||
|
||||
#start {
|
||||
background:#000 url(start.png) no-repeat;
|
||||
width:640px;
|
||||
height:480px;
|
||||
position:absolute;
|
||||
top:50%;
|
||||
left:50%;
|
||||
margin-top:-242px;
|
||||
margin-left:-322px;
|
||||
z-index:3;
|
||||
border:2px solid #fff;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font:normal 26px georgia;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font:normal 76px georgia;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font:normal 46px arial;
|
||||
}
|
||||
|
||||
h3 div {
|
||||
display:inline;
|
||||
color:#ff0000;
|
||||
font:bold 50px 'trebuchet ms';
|
||||
}
|
||||
|
||||
h4 {
|
||||
width:100px;
|
||||
margin:0 auto;
|
||||
text-align:center;
|
||||
cursor:pointer;
|
||||
font:normal 60px 'lucida console';
|
||||
padding:3px;
|
||||
border:5px dotted #aaa;
|
||||
}
|
||||
|
||||
h4:hover {
|
||||
background:#444;
|
||||
border:5px dotted #777;
|
||||
}
|
||||
|
||||
h4:active {
|
||||
background:#777;
|
||||
border:5px dotted #999;
|
||||
}
|
||||
|
||||
p {
|
||||
font:18px arial;
|
||||
padding:3px;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
p:hover {
|
||||
background:#666;
|
||||
}
|
||||
|
||||
p.green, p.red {
|
||||
margin-top:10px;
|
||||
font:26px 'trebuchet ms';
|
||||
}
|
||||
|
||||
p.green {
|
||||
color:#00ff00;
|
||||
}
|
||||
p.red {
|
||||
color:#ff0000;
|
||||
}
|
||||
BIN
projects/bsq/trap.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |