made a lot of improvements

This commit is contained in:
Nick Walton
2019-04-05 00:39:51 -06:00
parent dc7b075367
commit 607c88b546
3 changed files with 47 additions and 229 deletions
+47 -84
View File
@@ -3,110 +3,73 @@ var Typer={
accessCountimer:null,
index:0,
speed:2,
file:"",
accessCount:0,
deniedCount:0,
init: function(){
accessCountimer=setInterval(function(){Typer.updLstChr();},500);
$.get(Typer.file,function(data){
Typer.text=data;
Typer.text = Typer.text.slice(0, Typer.text.length-1);
});
accessCountimer=setInterval(function(){Typer.blinkCursor();},500);
},
content:function(){
return $("#console").html();
},
write:function(str){
$("#console").append(str);
return false;
addText:function(){
var cont=Typer.content();
if(cont.substring(cont.length-1,cont.length)=="|")
$("#console").html($("#console").html().substring(0,cont.length-1));
Typer.index+=Typer.speed;
var text=Typer.text.substring(0,Typer.index)
var rtn= new RegExp("\n", "g");
$("#console").html(text.replace(rtn,"<br/>"));
window.scrollBy(0,50);
},
addText:function(key){
if(key.keyCode==18){
Typer.accessCount++;
if(Typer.accessCount>=3){
Typer.makeAccess();
}
}
else if(key.keyCode==20){
Typer.deniedCount++;
if(Typer.deniedCount>=3){
Typer.makeDenied();
}
}
else if(key.keyCode==27){
Typer.hidepop();
}
else if(Typer.text){
var cont=Typer.content();
if(cont.substring(cont.length-1,cont.length)=="|")
$("#console").html($("#console").html().substring(0,cont.length-1));
if(key.keyCode!=8){
Typer.index+=Typer.speed;
}
else {
if(Typer.index>0)
Typer.index-=Typer.speed;
}
var text=Typer.text.substring(0,Typer.index)
var rtn= new RegExp("\n", "g");
$("#console").html(text.replace(rtn,"<br/>"));
window.scrollBy(0,50);
}
if (key.preventDefault && key.keyCode != 122) {
key.preventDefault()
};
if(key.keyCode != 122){ // otherway prevent keys default behavior
key.returnValue = false;
}
},
updLstChr:function(){
blinkCursor:function(){
var cont=this.content();
if(cont.substring(cont.length-1,cont.length)=="|")
$("#console").html($("#console").html().substring(0,cont.length-1));
else
this.write("|"); // else write it
}
}
function replaceUrls(text) {
var http = text.indexOf("http://");
var space = text.indexOf(".me ", http);
if (space != -1) {
var url = text.slice(http, space-1);
return text.replace(url, "<a href=\"" + url + "\">" + url + "</a>");
}
else {
return text
$("#console").append("|");
}
}
Typer.speed=1;
Typer.file="static/dungeondream.txt";
Typer.init();
// request_story("Hello")
function requestStory(prompt, callback){
$.post("/generate", { story_block: true, prompt},
function(data){
alert(data)
return data;
});
}
function startTyping(Typer, story){
Typer.text=story
addTextTimer = setInterval("typeWords();", 40);
var timer = setInterval("t();", 30);
function t() {
Typer.addText({"keyCode": 123748});
}
function typeWords() {
Typer.addText();
if (Typer.index > Typer.text.length) {
clearInterval(timer);
clearInterval(addTextTimer);
var choice = prompt("What's your choice?");
// Here we probably want to call the request story function with the choice they made
}
}
addTextTimer = null;
Typer.speed=2;
Typer.init();
startTyping(Typer, "<span id='a'>Adventurer@DungeonDream</span>:<span id='b'>~</span><span id='c'>$</span> Hello Adventurer and welcome to my dungeon!");
-143
View File
@@ -1,143 +0,0 @@
<script type="text/javascript">
var Typer={
text: null,
accessCountimer:null,
index:0, // current cursor position
speed:2, // speed of the Typer
file:"", //file, must be setted
accessCount:0, //times alt is pressed for Access Granted
deniedCount:0, //times caps is pressed for Access Denied
init: function(){// inizialize Hacker Typer
accessCountimer=setInterval(function(){Typer.updLstChr();},500); // inizialize timer for blinking cursor
$.get(Typer.file,function(data){// get the text file
Typer.text=data;// save the textfile in Typer.text
Typer.text = Typer.text.slice(0, Typer.text.length-1);
});
},
content:function(){
return $("#console").html();// get console content
},
write:function(str){// append to console content
$("#console").append(str);
return false;
},
makeAccess:function(){//create Access Granted popUp FIXME: popup is on top of the page and doesn't show is the page is scrolled
Typer.hidepop(); // hide all popups
Typer.accessCount=0; //reset count
var ddiv=$("<div id='gran'>").html(""); // create new blank div and id "gran"
ddiv.addClass("accessGranted"); // add class to the div
ddiv.html("<h1>ACCESS GRANTED</h1>"); // set content of div
$(document.body).prepend(ddiv); // prepend div to body
return false;
},
makeDenied:function(){//create Access Denied popUp FIXME: popup is on top of the page and doesn't show is the page is scrolled
Typer.hidepop(); // hide all popups
Typer.deniedCount=0; //reset count
var ddiv=$("<div id='deni'>").html(""); // create new blank div and id "deni"
ddiv.addClass("accessDenied");// add class to the div
ddiv.html("<h1>ACCESS DENIED</h1>");// set content of div
$(document.body).prepend(ddiv);// prepend div to body
return false;
},
hidepop:function(){// remove all existing popups
$("#deni").remove();
$("#gran").remove();
},
addText:function(key){//Main function to add the code
if(key.keyCode==18){// key 18 = alt key
Typer.accessCount++; //increase counter
if(Typer.accessCount>=3){// if it's presed 3 times
Typer.makeAccess(); // make access popup
}
}else if(key.keyCode==20){// key 20 = caps lock
Typer.deniedCount++; // increase counter
if(Typer.deniedCount>=3){ // if it's pressed 3 times
Typer.makeDenied(); // make denied popup
}
}else if(key.keyCode==27){ // key 27 = esc key
Typer.hidepop(); // hide all popups
}else if(Typer.text){ // otherway if text is loaded
var cont=Typer.content(); // get the console content
if(cont.substring(cont.length-1,cont.length)=="|") // if the last char is the blinking cursor
$("#console").html($("#console").html().substring(0,cont.length-1)); // remove it before adding the text
if(key.keyCode!=8){ // if key is not backspace
Typer.index+=Typer.speed; // add to the index the speed
}else{
if(Typer.index>0) // else if index is not less than 0
Typer.index-=Typer.speed;// remove speed for deleting text
}
var text=Typer.text.substring(0,Typer.index)// parse the text for stripping html enities
var rtn= new RegExp("\n", "g"); // newline regex
$("#console").html(text.replace(rtn,"<br/>"));// replace newline chars with br, tabs with 4 space and blanks with an html blank
window.scrollBy(0,50); // scroll to make sure bottom is always visible
}
if ( key.preventDefault && key.keyCode != 122 ) { // prevent F11(fullscreen) from being blocked
key.preventDefault()
};
if(key.keyCode != 122){ // otherway prevent keys default behavior
key.returnValue = false;
}
},
updLstChr:function(){ // blinking cursor
var cont=this.content(); // get console
if(cont.substring(cont.length-1,cont.length)=="|") // if last char is the cursor
$("#console").html($("#console").html().substring(0,cont.length-1)); // remove it
else
this.write("|"); // else write it
}
}
function replaceUrls(text) {
var http = text.indexOf("http://");
var space = text.indexOf(".me ", http);
if (space != -1) {
var url = text.slice(http, space-1);
return text.replace(url, "<a href=\"" + url + "\">" + url + "</a>");
} else {
return text
}
}
Typer.speed=3;
Typer.file="static/dungeondream.txt";
Typer.init();
var timer = setInterval("t();", 30);
function t() {
Typer.addText({"keyCode": 123748});
if (Typer.index > Typer.text.length) {
clearInterval(timer);
}
}
// request_story("Hello")
function request_story(prompt, callback){
$.post("/generate", { story_block: true, prompt},
function(data){
alert(data)
return data;
});
}
</script>
<div id="console"></div>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-610661-7']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
-2
View File
@@ -9,7 +9,5 @@
<script type="text/javascript" src="static/script.js">
</script>
<div id="console"></div>
<script type="text/javascript", src="static/script2.js">
</script>
</body>
</html>