From d1ddb4ff9e14ad95fd64b4215414d2bcf330ce92 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 6 Apr 2019 13:58:29 -0600 Subject: [PATCH] Basic game finished! --- __pycache__/generator.cpython-36.pyc | Bin 0 -> 2349 bytes __pycache__/utils.cpython-36.pyc | Bin 0 -> 1781 bytes generator.py | 4 +- gpt2/src/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 136 bytes gpt2/src/__pycache__/encoder.cpython-36.pyc | Bin 0 -> 4974 bytes gpt2/src/__pycache__/model.cpython-36.pyc | Bin 0 -> 6746 bytes gpt2/src/__pycache__/sample.cpython-36.pyc | Bin 0 -> 2619 bytes main.py | 17 +- static/script.js | 190 +++++++++++++++---- 9 files changed, 167 insertions(+), 44 deletions(-) create mode 100644 __pycache__/generator.cpython-36.pyc create mode 100644 __pycache__/utils.cpython-36.pyc create mode 100644 gpt2/src/__pycache__/__init__.cpython-36.pyc create mode 100644 gpt2/src/__pycache__/encoder.cpython-36.pyc create mode 100644 gpt2/src/__pycache__/model.cpython-36.pyc create mode 100644 gpt2/src/__pycache__/sample.cpython-36.pyc diff --git a/__pycache__/generator.cpython-36.pyc b/__pycache__/generator.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3339740e951fd6cc2ea2dddddc4f0a3b1133699c GIT binary patch literal 2349 zcmZ`)OOG2x5bo}Ics%xcy_-!o+3*rXC{DLM}BW4y5(77({!s%x+ag0=>Xui%@<6fAam6(sts^$;{KPhEOHVvcau6o6{f9%$lW___~#}%jTTUDJAzn*Qew&@&(Z= zNeAX?>2fk;a|W8adM#N`PL&Rx1lh)dI-Q&;y%J6&T{vz3V8hu>ke^M?!MlD%ZJ{-@ zR_Q0_;T$Pjb4KAUaNXHGq2R-`J1q3I{y66%RsE}1-@iL;?-!Ab#%eoJdDgQ{WASa= zRAfWFZyIr)Y4J!K|3ReV{ZNgjqW7Ayl~BqwL>7ZG8MKB%hl>wm0b!i#6-d1pM3Yp9 zOTBhph|I8D8M}x;zn$cxELhLK5mJu02nRABhkO)kkbp_XPVChsI9f(v zhqD)fA;DT2X`yr&?~C}L00VW*T0mINi;Hc^u8qxj%ql^TiU_UTTRM zYJh>=!G(#{roM&+p_I@Pp!+@2EU{n(_$AJF1S*Vjb_}owxYOHYPDd2L$)F>UZ<%g9 z1`bjKc8<&tyd(h-bLSlJXI5zeG~L}8p@{=cz-LdvROr?a9=z|(=wtE|JGA%eKvmJ| zF~hcZ3=N^1bQTB=b$%c+RmtTWaQ%sYBONIn=i}n$71W6jxMX_yr5G&YDzRJIPFLYo5`iza`ReMF{+jt#~H{Q~$OYo)e0aB&&0`0Qye-pVp{WOsnNp!gCV5kwp zk7=ASO-txau(NtE86<-4_AGfB&IPCAi4L(I(or^qQi1x1QVCWN|3{$|RUN`%bVc^? zhVuX-cTh(j!CZT=v9u|yZ&rt{gIHl55P+sfJvM#k73p~XR*c@@Kxkr*uDtpHh#{F- zk9JCSo7}%Rvr7afcv;$;0I^Nz+2AYm(wS3Q(54{l>5?E<39F5JV(O4+T3)H93i8{Sd zzdl`upmf;u-B$(W#mks8tXPRLkr;b)!~o@0LVrWl-ZvNFY@e0?}50goTugf}vVgJDX(jde_X3 zo7i%$(!NW13SOWOfPBkUUcpytX4wv?IkM}WOYLD1m|{Z}R2$Wa zpJmyl<#>|EW)hjS$g7j`A}GhW!(I?66-3qI(q1Q{;#Cqv`83!CRl!3`!w043#T;>< z;b2P4&oRsUAQYHGamr8b&iPaJvU4it>?bxC$~hCK?C16iHfIQd><{F@BpwdrbI_T5 zAEV0`jf=2!orN^Xi5d9SEyCkMt8yWU{lYYPTy}d$#VG0JX*@iRGE?M_9`z1W(|h{$ z!~I0RN_1~x(yZJYPZynwQ^vYDi1O4-J9J$agmIU9ydyL+&eo_19U-%*zJNd&2pM6p zva=yeRa@`ZRbwr?YKvsU=j@Erf57eaXX49XCMl^i=Qsg*0V2PnbuAdBc`~a9(CTu@ zcNeTHG+oACugf*np+#Sj8kUP@lx5*X-0onbY=bcFuRh@ly@j1Wp`(K=Itqfp-Oe~} z$NTU>w%537M=_Pp%G)k1OFD^h?ScLe9$M4{)0Kk<8xERR9jp`dEj0fnLH1uyHP?yr zS29A<`u7Q&xkI!mC2!^)O|&6t$-mbW;w68Hm{KaQ39V1%zQX+h>`JOpCe~@R>C}|l zb(kpv>*o6riz*5zHk2F+RzMPSG3P_3KcW^KN^qte$np+*Bkr+NmfxS_6@%s*tKl0O zpLSG@?Dnhjt@jsvZ^_>~hck9gaL#XmpmXIxnyap3D|Fx=q`EZWIMHdL1~;o!auR3J z$i6>UOSoNGlz0r2JWf8wkrjOOrYAal8(q3Be4%ec^Y`$-g63NIQt$l*Hr^)-`}tMa zwohw)eFG9cI@IGVBU@=CNw%qvot>pS7@K%;ESFmv_J~9 zc#)`=`(1a@2t!rGVQAj~+nu)AG&O{+2OAY@z7bcd3vJ&A_sOVGlPvk9wQ?jKx8eG( J#OJ&1KL9T2bUy$9 literal 0 HcmV?d00001 diff --git a/generator.py b/generator.py index 1a15abe..41e3c45 100644 --- a/generator.py +++ b/generator.py @@ -8,6 +8,8 @@ import gpt2.src.sample as sample import gpt2.src.encoder as encoder from utils import * +pos_action_starts = ["You attack", "You tell", "You use", "You go"] + class StoryGenerator(): @@ -53,7 +55,7 @@ class StoryGenerator(): return block - def generate_action_options(self, prompt, action_starts): + def generate_action_options(self, prompt, action_starts=pos_action_starts): possible_actions = [] for phrase in action_starts: diff --git a/gpt2/src/__pycache__/__init__.cpython-36.pyc b/gpt2/src/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2a9af0a83b270755615c9080daa2497a475709b0 GIT binary patch literal 136 zcmXr!<>hj{u_A^62p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CU#9vQ`MIh3d6~)C z<%u~Z`FREg`stY^`Yyh@!Kp=MsYUwf1tmuM#YM^b@$s2?nI-Y@dIgoYIBatBQ%ZAE L?LfvA12F>t7?>a1 literal 0 HcmV?d00001 diff --git a/gpt2/src/__pycache__/encoder.cpython-36.pyc b/gpt2/src/__pycache__/encoder.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..54dee2d7393fd07bb059565af8cd0c24b6a39f36 GIT binary patch literal 4974 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 NzVBC-9KYn3{vSXMzE}VN literal 0 HcmV?d00001 diff --git a/gpt2/src/__pycache__/sample.cpython-36.pyc b/gpt2/src/__pycache__/sample.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7eed82acc753137285c5dba666216d20f383e3b5 GIT binary patch literal 2619 zcmaJ@%WoXF87Dc9oqc$%DC$G5lWc*s$pomB#y}5+VI)P}Lx3oV<)DFJU@%%ztJTiV zY)P(U38PD;K%0ZmOO8GC*!&y$9|{z_=A>KBIVAagoRuONMrJ?`$&cTI-{Z%5aOY0v z@&Et(?0+4`zG1hX7~}WR%%9LnCV9bjxc`cS;2_)yrI5in+leIiZwOlS??}e7buM;d z$+uaWT!EKu4F!Gh(3j)}Xy$!%3-C^a?k&VNyWkgMPk5=x7tFE)jwWcwnE-{$P)6s; z1;Z$&(OCcutu4(VXNcw>l1v(2MKd3wBRM2xffHPcXX2Ed@|w=WJ{K|qHP{Q**{Q%N zT<}^RxWj=-0{g3Da0s}_IRd7m<+Q2h`(I@faiMlb=q>m?m1DG zF0$1uo48h~j`HVYjjW1V6F~JaxRTr*VtTJ z_-vv|*V)bOa6dES6XjaaZq;+^x>ikRO6PX2l}^Cr&)UL(B0@%xDDy44T1YlY^t~Eo zHEEkaTcqz9|0gd8ekC#QT(4M4Zzjb^)Z$E>hO+NVB#_~G`wIbTAfq$>uP-@UpbUuH zr#_Q+KS#N(Gw`&i^e%#na4+=bo17*xk?nJK+6I4Ex9gdhq z2Q6P>-Ai%CX=TAiu(ugWHp1#CkUe?lGJY1EcJOxV?l${`Jz<~09;DGLTPK^_Gc_FV z9S_v=d}xc~0V-rr?G0}Eb&!{Guyp5dz2k@EGI}V`H>C#l24K%Y09OzSgrL(ms-uIDaG*xg$&e1kao9Qn!U3t$cqcb7wox`S`}s_{4ryt|Y3#+i*r%J(_aT0#T}-oTZfA4br1%@8lY7-aRfr3XRkHy| z*Ek>sJmG6X@RQdXyvPhHMU_MK6BH1SyZZw9<-Y$CqA3|_x-H;g_>uc$Ap{Oyh(WvA zL*BVp*bO7jw1mT+C;Ocwe zeVX{l={6QzVykSgsB-IJ!F8we!j8*oI?f9hjZ6FBJr^T)hq-kv0|%=Ug)ovq$RDi^ zUEHX3y%K1#jHFqn)6%pwY|`oX;L_{V5suuB?rtTI|A@6ET;1ny@*ZCmYrOw+@g**g zM&M+0!BP7=njxU~m$}$_+TbO5L61zM)MLL#Ub+?@5(l}8{hTsFWAD}5#ql@zf<$Qg z-*Br_IC_eZj4c7?xGIfn7Zq;O!(1D;;tL`hmza(7(t@~~4=347S2MbiC_uhT6W9O1 zpeRYiW34N_yb<=sMd3PSK2@0+R#aR^`{P344y= 0 && choice_int <= 3){ + + console.log("choice_int is %d", choice_int) + StoryTracker.lastAction = StoryTracker.actions[choice_int] + StoryTracker.requestStory(StoryTracker.firstStory + StoryTracker.lastStory + StoryTracker.lastAction) + + } + else{ + + Typer.appendToText("Invalid choice. Must be a number from 0 to 3. \n") + Typer.appendToText("\nWhich action do you choose? ") + acceptInput=true + } + + + inputStr = "" + } +} + var Typer={ text: null, accessCountimer:null, index:0, speed:2, - init: function(){ - accessCountimer=setInterval(function(){Typer.blinkCursor();},500); + startBlinker: function(){ + accessCountimer=setInterval(function(){Typer.blinkCursor()},500) }, content:function(){ - return $("#console").html(); + return $("#console").html() + }, + + appendToText:function(str){ + str = str.replace(".", "." + "") + Typer.text = Typer.text + str; }, addText:function(){ - var cont=Typer.content(); - if(cont.substring(cont.length-1,cont.length)=="|") - $("#console").html($("#console").html().substring(0,cont.length-1)); + + if (Typer.index <= Typer.text.length) { + 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"); + if (Typer.text.substring(Typer.index, Typer.index + Typer.speed).includes(".")){ + Typer.index += 1 + } + else{ + Typer.index+=Typer.speed + } + var text=Typer.text.substring(0,Typer.index) + var rtn= new RegExp("\n", "g") - $("#console").html(text.replace(rtn,"
")); - window.scrollBy(0,50); + $("#console").html(text.replace(rtn,"
")) + window.scrollBy(0,50) + } }, blinkCursor:function(){ - var cont=this.content(); + + if(blinkCounter > 10){ + var cont=this.content() - if(cont.substring(cont.length-1,cont.length)=="|") - $("#console").html($("#console").html().substring(0,cont.length-1)); + if(cont.substring(cont.length-1,cont.length)=="|") + $("#console").html($("#console").html().substring(0,cont.length-1)) - else - $("#console").append("|"); + else + $("#console").append("|") + } + else{ + blinkCounter += 1 + } } } -// request_story("Hello") -function requestStory(prompt){ - $.post("/generate", { story_block: true, prompt}, - startTyping); +function writeAppend(str){ + $("#console").append(str) + } -function startTyping(story){ - Typer.text=story - addTextTimer = setInterval("typeWords();", 40); +function startTyping(){ + addTextTimer = setInterval("typeWords()", 35) } function typeWords() { - Typer.addText(); - - if (Typer.index > Typer.text.length) { - clearInterval(addTextTimer); - - var choice = prompt("What's your choice?"); + Typer.addText() +} + +document.onkeypress = function(evt) { + + if(acceptInput){ + evt = evt || window.event + var charCode = evt.keyCode || evt.which + + if(charCode == 13){ + acceptInput = false + Typer.appendToText("\n\n") + StoryTracker.processInput(inputStr) + } + else{ - requestStory(prompt); - // Here we probably want to call the request story function with the choice they made + var charStr = String.fromCharCode(charCode) + Typer.appendToText(charStr) + inputStr = inputStr + charStr + } - } + } } function start(){ - Typer.speed=2; + + Typer.speed=1 + Typer.text = "" + Typer.appendToText(start_text) + + StoryTracker.getFirstStory() - Typer.init(); - startTyping("Adventurer@DungeonDream:~$ Hello Adventurer and welcome to my dungeon!"); + startTyping() + Typer.startBlinker() } -addTextTimer = null; -start(); + +$(document).ready(function() { + start() +}) + + +