From e95b7efac670ac40b347bedc77b19adaa3eacb63 Mon Sep 17 00:00:00 2001 From: ac4160 Date: Sat, 9 Jul 2016 22:27:50 -0400 Subject: [PATCH 1/2] Completed Proposal --- Final Project Proposal - 33 | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 Final Project Proposal - 33 diff --git a/Final Project Proposal - 33 b/Final Project Proposal - 33 new file mode 100644 index 0000000..ea12d64 --- /dev/null +++ b/Final Project Proposal - 33 @@ -0,0 +1,7 @@ +My program, "33", is a puzzle/adventure game in the form of a simulated database. You are trapped in an old, abandoned government facility, where your only possible means of escape is a single emergency exit vault that is opened via a terminal connected to the facility's mainframe computer. The problem is, the only person who had the administrative authority to open the vault was the owner of the facility who is long gone by now. Your mission is to figure out a way to gain administrative control over the system and gain access to the controls of that vault via this terminal. The program I am writing simulates the terminal itself, which is basically a database that the user navigates around in. It is riddled with puzzles that, when figured out, bring the player a step closer to having full control over the mainframe of the facility. + +I've already taken a bit of time to write the very beginning of the game, and it already employs all the concepts required. The program will, of course, rely heavily on structures primarily containing char arrays, loops/conditional statements are going to be used often for a variety of different puzzles, different sections of the database will be stored in different functions and accessed by calling them. + +Being interested in both media-based art and info technology, I want to experience writing a basic version of a database while keeping the project fun and creative. + +My description may make the project sound big, but I will keep the size appropriate to be able to be completed in a week. \ No newline at end of file From 6a0804e5fe64d29c93f9b48f03559b6f0f5ab2a8 Mon Sep 17 00:00:00 2001 From: ac4160 Date: Fri, 15 Jul 2016 16:17:26 -0400 Subject: [PATCH 2/2] completed final project --- 33.c | 531 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 33_Game | Bin 0 -> 25522 bytes readme.txt | 38 ++++ 3 files changed, 569 insertions(+) create mode 100644 33.c create mode 100755 33_Game create mode 100644 readme.txt diff --git a/33.c b/33.c new file mode 100644 index 0000000..853fd9a --- /dev/null +++ b/33.c @@ -0,0 +1,531 @@ +#include +#include + +typedef struct { + char lName[12]; //Struct containing employee records incl. name, job code, description, who they report to, and their salaries + char fName[25]; + int jCode; + char jTitle[30]; + char reportsTo[25]; + double salary; + + } empProfile; + +typedef struct { + char note[125]; //Struct containing employee notes + + } empNotes; + +enum charcheck + { + match //Used an enum to set 0 to 'match' so the conditionals using strcmp make more intuitive sense + }; + +// + + +int intro( ) { + + int i, j, k = 5; + + char message01[] = "Welcome to ROBCO Industries (TM) Termlink\n\n\n\n"; + char message02[] = "Password Required: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ "; + char linemessage01[] = "__________________________________________________________\n"; + char help[] = "h"; + char password[] = "H5A6E9B7"; + char successmessage01[] = "\nAccess to ROBCO Industries (TM) Termlink granted.\n\n"; + char successMessage02[] = "Welcome, USER\n\n"; + char failureMessage01[] = "\nAccess to ROBCO Industries (TM) Termlink denied.\n\n"; + char abort[] = "abort"; + char helpgrid[] = " 1 2 3 4 5 6 7 8 9"; + char introFin[20]; + char entry[20]; + + printf("\n\n 1 2 3 4 5 6 7 8 9\nA X X X X X 2 X X X\nB X X X X X X 4 X X\nC X X X X X X X X X\nD X X X X X X X X X\nE X X X X X X X X 3\nF X X X X X X X X X\nG X X X X X X X X X\nH X X X X 1 X X X X\nI X X X X X X X X X\n"); //this is the grid puzzle that shows the password to get into the terminal + + + for(i=0;i<200;i++){ + printf("\n"); //print 200 new lines to clear screen + } + + printf("%75s\n", linemessage01); + printf("%68s\n", message01); + printf("\n"); + printf("%75s\n", message02); + printf("%75s\n\n\n\n", linemessage01); //print the menu + + printf("Password: "); + + + while(strcmp(password, entry) != match){ + + + + for(k=5;k>=0;k--) + { + scanf("%s", entry); + + while(k == 1) { + printf("\n\nEmployees: Please look uUP@UP@UP@UP@UP@UP@UP@@@ your personal password in the directory located within the main office.\n\n"); + break; //If you enter 4 incorrect guesses, this message is printed, hinting to look up + } + + if(strcmp(password, entry) != match) { + printf("Please try again... %d tries remaining...\n", k);} + + else if(strcmp(password, entry) == match) { + printf("%75s\n", successmessage01); + printf("%75s\n", successMessage02); + printf("\nEnter any key to continue. To abort, enter 'abort'\n"); + + scanf("%s", introFin); + while(strcmp(abort, introFin) == match){ + + return 0; } + + return 1; + } + } + printf("%75s\n", failureMessage01); + return 0; + } + + +} + +// + + +int menu() { + + empProfile emp1={"Smith", "John", 36748, "Senior Project Manager", "N/A", 90000}; + empProfile emp2={"Windas", "Peter", 73625, "Secretary", "John Smith", 35000}; + empProfile emp3={"Gershengorn", "Caleb", 10293, "Associate Engineer", "John Smith", 40000}; + empProfile emp4={"Yu", "Justin", 10293, "Associate Engineer", "John Smith", 40000}; + empProfile emp5={"Delaney", "Kurt", 10293, "Associate Engineer", "John Smith", 40000}; + empProfile emp6={"Fieri", "Guy", 10293, "Associate Engineer", "John Smith", 40000}; + empProfile emp7={"EEE", "@@", 33223, "Asnngggg^^^^^^^^", "JJJJJJJJJ", 4}; + empProfile emp8={")))))deepr", "go", 11111, "A", "John Smith", 999999}; //members of employee profile struct + + empNotes emp1N={"NULL"}; + empNotes emp2N={"Windas, Peter 3/24/1989: >>Performance generally meets expectations--Pay is quite high compared to his peers in level V"}; //members of employee notes struct + empNotes emp3N={"Gershengorn, Caleb 5/14/1989: >>May be overqualified for new position. May receive an increase at this time."}; + empNotes emp4N={"Yu, Justin 4/3/1991: @@@@@@@@@@@@@@@@@@@@@@$$$$"}; + empNotes emp5N={"Delaney, KuU|U|U|U|U|deeper@go~````dddeeper&&&&go~``````dddeeper&&&&&&&"}; + empNotes emp6N={"Fieri, Guy 3/5/1990: 999999993((((((((((((((((((((((((((((ecord may need to be reviewed^^^^^^^^^^^^^^^^^"}; + empNotes emp7N={"EEE,EEEiiii@@@@reconsider in 6 mont###################"}; + empNotes emp8N={":::::"}; + + char message01[] = "Welcome to ROBCO Industries (TM) Termlink \n"; + char menuLine1[] = ">> 1. View employee profiles \n"; + char menuLine2[] = ">> 2. View employee progress notes \n"; + char menuLine3[] = ">> 3. View PROJECT SAFEHOUSE experiment history \n"; + char menuLine4[] = ">> 4. Access system administrator menu (Admin Password Required) \n"; + char menuLine5[] = " ((Enter '0' at any time to re-print these options)) "; + char lineLine1[] = "------------------------------------------------------------------\n"; + char lineLine2[] = "----------------------------------------------------------------------------------------------------------\n"; + + int option, i, option1 = 1, clearScreen = 300; + char ch; + + for(i=0;i<28;i++){ + printf("\n"); + } + + printf("%75s\n%75s\n%75s%75s\n%75s%75s%75s%75s\n%75s\n\n%75s", lineLine1, message01, lineLine1, lineLine1, menuLine1, menuLine2, menuLine3, menuLine4, menuLine5, lineLine1); //prints the strings that make up the menu + + + + for(i=0;i<20;i++){ + printf("\n"); + } + + + option = 2; + + while(option > 1 || option < 5) { //while loop for menu user input + printf(">>"); + scanf("%d", &option); + switch(option){ + + case 0 : //case 0 reprints the menu + + for(i=0;i>", l); + scanf("%d", &digGuess); + printf("\n"); + arr1[k] = digGuess; + } + + printf("\n\n"); + + for(j=0;j<4;j++) { + + + if(arr1[j] == arr2[j]) { + numCorrect++; + } + + } + + printf("%d/4 correct", numCorrect); + + if (numCorrect == 4) + { + printf("\n"); + + return 1; + } + } + + return 1; + + } + +return 0; + +} + +int adminMenu() { //NOT YET IMPLEMENTED: The admin menu is a replica of the original menu, with added administrative options and hints for the next puzzle hidden throughout the glitched text garbage + + empProfile emp1={"Smith", "John", 36748, "Senior Project Manager", "N/A", 90000}; + empProfile emp2={"Windas", "Peter", 73625, "Secretary", "John Smith", 35000}; + empProfile emp3={"Gershengorn", "Caleb", 10293, "Associate Engineer", "John Smith", 40000}; + empProfile emp4={"Yu", "Justin", 10293, "Associate Engineer", "John Smith", 40000}; + empProfile emp5={"Delaney", "Kurt", 10293, "Associate Engineer", "John Smith", 40000}; + empProfile emp6={"Fieri", "Guy", 10293, "Associate Engineer", "John Smith", 40000}; + empProfile emp7={"EEE", "@@", 33223, "Asnngggg^^^^^^^^", "JJJJJJJJJ", 4}; + empProfile emp8={")))))deepr", "go", 11111, "A", "John Smith", 999999}; //members of employee profile struct + + empNotes emp1N={"NULL"}; + empNotes emp2N={"Windas, Peter 3/24/1989: >>Performance generally meets expectations--Pay is quite high compared to his peers in level V"}; //members of employee notes struct + empNotes emp3N={"Gershengorn, Caleb 5/14/1989: >>May be overqualified for new position. May receive an increase at this time."}; + empNotes emp4N={"Yu, Justin 4/3/1991: @@@@@@@@@@@@@@@@@@@@@@$$$$"}; + empNotes emp5N={"Delaney, KuU|U|U|U|U|deeper@go~````dddeeper&&&&go~``````dddeeper&&&&&&&"}; + empNotes emp6N={"Fieri, Guy 3/5/1990: 999999993((((((((((((((((((((((((((((ecord may need to be reviewed^^^^^^^^^^^^^^^^^"}; + empNotes emp7N={"EEE,EEEiiii@@@@reconsider in 6 mont###################"}; + empNotes emp8N={":::::"}; + + char message01[] = "Welcome to ROBCO Industries (TM) Termlink \n"; + char menuLine1[] = ">> 1. View employee profiles \n"; + char menuLine2[] = ">> 2. View employee progress notes \n"; + char menuLine3[] = ">> 3. View PROJECT SAFEHOUSE experiment history \n"; + char adminLine1[] = ">> 5. Facility tempurature control \n"; + char adminLine2[] = ">> 6. Facility atmospheric pressure control \n"; + char adminLine3[] = ">> 7. Facility entrance/exit vault control \n"; + char menuLine5[] = " ((Enter '0' at any time to re-print these options)) "; + char lineLine1[] = "------------------------------------------------------------------\n"; + char lineLine2[] = "----------------------------------------------------------------------------------------------------------\n"; + + int option, i, option1 = 1, clearScreen = 300; + char ch; + + for(i=0;i<28;i++){ + printf("\n"); + } + + printf("%75s\n%75s\n%75s%75s\n%75s%75s%75s%75s%75s%75s%75s\n%75s\n", lineLine1, message01, lineLine1, lineLine1, menuLine1, menuLine2, menuLine3, adminLine1, adminLine2, adminLine3, menuLine5, lineLine1); + //prints the strings that make up the menu + + + + for(i=0;i<20;i++){ + printf("\n"); + } + + + option = 2; + + while(option > 1 || option < 5) { //while loop for menu user input + printf(">>"); + scanf("%d", &option); + switch(option){ + + case 0 : //case 0 reprints the menu + + for(i=0;iHOGI0LN6GR6+>cB!0{7;^lb}n&-!ZF0U*~rxe#RrW!SmK180===JehB@ilMnmS;p zN+EjR-shYTBzseZI5zKKtzRbMM)6@BNy)Wov$3o}rI?W3xfI@x?BN zJLex0)lt23@KT*l4DjmBaii}2^-5=ted(;1~&r$vgd0BIrq>hdK}m+xXir#DI1 z(5beNQmQX|xD+YVNA8eWof?KT!mR`%AduUubS6^~S{;dYaL;@!4$FW02~ zSdJXoyc~Zt2B`e|PtWW-v+vkn|H>b>JbeGpHvjlS%MC>&tN%cL>|+x+ub+ooEP&s> z0N%I&PSapM{nsvlZ(jiS0~h#n9xDLMr+?W3_|gS%1O4Nt?pSZcW4>^}@Op#sh`+wx z8~6Ldokld7h#QGukBNeK!skEW^>-iecKU)LD)M*xVn#F;3@18`cp~QSiGqzZ5^pTw z?ePV}K)QM&VTE{&Z7t1P8og_(Hds`xMXjk?2RrleuYk`)QNEBHGkVY`0Bl$!Jl~g-?-G;)|?q>uX7om%(+V& zD9L;W$y65@FL##S(qtIv--5&TdMb|~@$}D>cm{uZD1ZO?H1x5fF7H1}MYEHow;UlX zO*zefZl(bIp1~JA=id6VCvV*I>P!;C&l963^@GIa{hq;5DgP5Cf8?ZnsWm=xnnuG6FIq)8TTm&qB^fSpzL%`E}fGb z$;pl7My6FIrbjC;!KEjG|Vfd+P?M$fv2_3rvD8_*sXpwW~EXW+#Re!m%ylY^_d zoi+#8Nl#=QOoP;uwmH}%IkFC>VeLsD5M5Ze6Xd*o05T~W{ei0D;?Yz96slGIx(Xbv zFa&PeyT`q|7+nDo25g31V!&qDj1Crnd8?)1I zx)fP3GC!(&*wRG&{by*J<|VH^dkpy0fBj$~*Z%8Nd*vzT>xqq0Qm7<1cXva*zvvw&jZn$m@q3F-f z)5^C8OCK%#_N8yCX2g@;(-TZ|Q+qMyW@tEdTiveHQ*Ja{91;FC~GN~tVrs^;aPBDqf zo&vFRbpx63Jyi_yc}0$h6BDhD<21tNlhpbthZ)@s-=2g zBi>Bv4PAysS&^fu%S2^TGe~~tmOO5eKW5@K4sss?gj^wf+9&<96eQW6NiA0tT2aoV zCryqM@Gc~800ha;BOzadyj}5+rq&Rp+Va^SQ(NkYJH5?}#kKbm@iDAl5Y*QrIPB=>0~UrCbkv|@%% zTuO0!O#SkLHr2 z1CU9bP$H<8R>W;dv=b9Gi$1N$(bTgc^L(eN%i6!rBxF%6l7O~$)h021fY*7ay0cVqR@xL_606` z9AtxJds4AM;%P-@QqL+1_NST5>4oP3f&E1!su#Ym_(xMeAWGVQ_-IuF%$*?a;p3A? z(kGi-#vheZ#e+Y>jmNv5-}4M!@(g}3R5V!Z>3^}%(?3#J`drZfW%7{8gJAoI5ESlD zE;vboC$B)T{UfSz>lM^Uf+w#)upJljwAgk9HIm@TD-fi+;k594(i-(mvp~m=zefYp zc1t|LfNe80$$;&acuI0)Z;3B4a6rfdN@oCMQpWqUvjk!M6%vV?_Qgmsur_ZNHC5tH zx`eg^!D4bqm_5-@1VA?feWod*u}CL?CuoB?Sd0~1bQ(g{of$fPde zY+1BcS!DdZ@=@#VUEAHLuZV%hHnFE+tJ?#hjDcO)`UtZ(3ZPty#1PvGC&)*Ff$m^D z5sCE?P{DxB#A+u{2OyJj;cQt{TO}I&5N>5&-tWcx;sEwBkT83MFTl4(?F@ubU(A=_ zeq|sgU{F$2KqSgQ1K7i&)d!%L0l9q^y8#?wKyIG{v<)8skVzfGSz1KaS5&xZLte)I z#J!-nt@<`N01got?R4K)!GKxGAwCkRmO8r4xG5s!#X1QDBjNbU zmBis;J0hgS-Gfu#u8)CaikrOC$0_9FXIDrZ$Q0)ZjoPf&-c$`2hfJ|y1&eY6IY77ex z?Xqw)0%{e=OzI_2fUIrw>bGedO=w>K8A@(E{ASCrT!@CxaDNRC%j7t(j@Y-7hlc-v zlflHT0yK{|(B+_8sTgz_XhYFOpik3i8LYi^$Kbi+ncHXbCE1}+V)ML zIktW3@SB;`2#n;|;y)smb@snmI*x-IyH+YDH9o|g^L%g9JIzB)HX?U16#x29m+byzTl_EXEeM`}U#DGbhhKJuNE#q|XRov>F zZ6&=l(x%F!UfSFZ9jE;zG|(nh>6IkwB~s~Saz4E$EWPPza1ZeoYv?%b^`MtFj7qO0 zSuc@FFO&1>owW3}OTFc|tsXi~`!49E4V=;|N!ClG(#zz0ddt74{ZJ(J($-_>IPHO; zm$pz!uOwM7kxDO<^Xc7Z={-FK?x7TI1BQ;LrC!?3D7}(oy+kU#OwOnGgr#?%)Jr$! zL&s@{0DEbZq4Y|U^%AM{GC7~#2}`db_0kRV&~dt3hhDnbS9&GMdWlqenVe6r_>%VT zslUOz_+Z`@Z9j_UofnwBlenAp44C_EmO=wPaeM5T#3!F<@= zO+8A~38Ib?b&0625>>YaRFtR@qBspfmvqNYJzym#)Jbq@HveIxy7!kMX&O+EDn)jvkc`yU)DDShk$sOdk!DdT>D(2F~U+%I4+Ip}_Q$o(=__KzSYt#}l& zItZS<22KE#vF^>FhW4I@yypb!9`AR*fVy8OIQ-1nWzDF&itA=w7jGVNr(qvyLimM%E_+K_t$27C&#(tzurp#Q;7#YD zPh(&aOJqa06X>0*q1&sWTij$^4c%q~>sLd!S3|ehwOtL}UJczEpCHOiH@p9FLbo!Y zWeeTPfR-(ED+5}#(5(z;*`8*Q0WDkTmI7Kjp2eZtHVSPabbF@^ZP`M%9Nw^pZqpR+ zNZUfUBMjI=w_^<0;%DPdV8RJZI)NzwjzFmn-E#27Zc!13wrru>G6rm++j0hEY?&jq zf&rU}6;7bq3Df~_1WI-2mP12ikq+JNV_{q9ww(c6=(d{ytp7T68)d*2y6t7aX5tYi zFaW?FC`GTWs}fr&${M9;QQ9921rstZ+RFgK?@2^zli)bQK+F{WNSGgo8ekw2x&{aP z=okR}6ooSxf%xa+L}HM98>x(@uUFNb1Y%W3^`BxO(G!VByG;tio@OBEN4y^qbpRA? z@uZW=0011|!XpPT0M!AYFkgm$x={6B0HDJ78&t)UtVOkxesP;(04?%`{pM-_ml!a6 zg9&laM-880Ae68gZt&RShRceJcnF6iKawGqEA!TIwR47L1!eo zn!+?xg6MMvXdd(`Ld`QzMW}hws|YnONuVjjV^DA9M5u+etK9(WGHjjQ=AU11*vt{? zb{J35g6U7;8CF|_`dx4%&_u<#5$cUlKEyajs9&=p)ca6BMW~&=>dV$U#D$yKu^gfP zcjBtFnU?WKodi*3cS^li6uF+OHygQr|5f(G6-BP+>di*3 zzb*A%QRI5A-fZN0tJHf%k?Xm7vytncja!jx=e+n1iqs02J1_qABG>I?jf`A7t@-pq z*2u{9Vie2B^@p#3;>h(oL~-PLiYSg;{}oY!qSP0N;>h*)iQ>rh2vHolevT-PTt975 zPgv9mqOy_e|85n0&7zVPb$}?2T>C8QE{ob>QH>T=Z&9m3QRLd`jU~Y6?Hd{N{2%ze zCmXqb>wje<*T0PtTjcr`6zQcNk?X(W$TeLNXyt$Om3bo9&p-l^Yl@Ak$h8%}E|ZlP zp(_U6AND`^VP0~ng#Hez@5Rpo!D|I)k5F9qPN?Csi^iXw@2o1lgRx9;(>$1a4z{*<>l|!f z@wRy|kA>A}s<>HG+0&~H{@#L=OuOyEfwUl)q2s;b0_fJnq>D;+aQA{g!hs`!iDct;_| zPnsMsv8#&k4g#+PnpL7LBIs>^#43R&ap>_B&fUiKum`MD4nY|UC@v<_*u2?T5g@^A zK@OYF=u}F9e@`+N_Vt(>%H{`e}gGSn(tZhjRxEbIr>7fSMDC{W(h ziA{na-W^GXFpX(NfZABnPve~Qg_C})GBI(;7whyv zHYOiB6KaCr=}RIiP`?I?Q6!oS@d|=*-(`mSL`NUE!;wQ_Ga!1B@gN?=564%bl3<*| z3XnSlvwR|f8bt?~I`JZfPaNtFCQLj&7>t{h9a!IBe_x!QpQGX+RzJMbl3hw&%;e=dfTb5*L9X@%W1=${qUQj~+p3v0)gs{QgJU{rQRFU(pylMNxQX{5 zeu+KgY-x~eZ%uXGM&XGh$%#JU4@GEk79n2;7Gxlykf@MD0Psq5RvgU@>*f=?$qqs) zXhhLU84%mBtf^M(cGs@8_dohQaR_?)=!r)3w;2|P@PZ*os+E*Q(S-!EKUyH>}$z+`ax#GC=-1 z$YT|6Hg|TS32>UjQOR&XbrfFop+QnpClJ%3o})LY36UyzOmJUsf(tM=w5#zNq?y2s ziJO3V4t2&NJ){96#NQnZ1;EVSqZt;%C^Y>^8uM_qvJOBDaZ6lPQLSy1Qb%Ao!)ls7 zar2-V!+h^D!$^60tinW)#`L9wDM?bFvxY58kL9ZbwnGiuN2N66r3T0>$wGUII zi(-=)9s!ewXb6n(r1ayO4OpgZ)14QY4tNAs_+ybnm|R$I@ZvZbgC(O%tU-_BZY2^8 zL7isDJxj2QRuNvp;DA*k5J`4`g?$`J&q*8i zL@}0c*_a(&6``z7^WQ7O~0w;8}(9;i7~(v)Sr+O zu(Gn%*C%jI#43Q{(v6D~UE64Z;1N&rCu-sbp6=O0={sSAsBpdBGJkNNYfqAU13SOuA%Yp$~@f3LtGQco{?ew2tw7 zvMN@@SCXrQe4$O$u3n3_*Vk;s27kWeRvb?8e|BEIm9|RUk=*-${)hL7aFup-MGm*) z2;f>m`Cr4Kpj;6672CmYlC2VWVGNxQ&)3)Ef>f`LwH3eQF#UKJ9_wbG2%EB_(N8h+ zV9-2d2K38UR=SXZc=2l${(?Bj=jcP+@!%?sJEbt*qs9j~62Ch4SV-F^$2ZdP$;JM~ zB>wIO7wbBHqfDQL8HF4c_;35dvGOEA0ZH4 zLv3E0f?fC_Y(-#WF}9i5x&&6&VuHqKqVV+Qa>JjkIgm8ku&jlj(aZEx>mu z=-3vC1UmXm-uC6)Sg>gyFv=W#VRrUOq)lh=k{Z&QKbf6<8R-|!&(6M$^sXPx&MwEV zEN@QC&ekGb_Osd9dysw>=>tduNFPUf0qGk^>3chLD(>?Zlvt`S}flW;pRr{PFDU2=SJbZ7nI^UV81Jq9ewaZ`gGE+FL(QF!40uZ$Iq+ zpb$huN!i!)8?Rej@LnORW<3GG8(zduL{ynB_w*MO+_Icl_#i!x;BV7k%+5ZBc36A` z59et;PXm4m{`kVDZRMor=1=G7xq#wl@CpQesLASSkStWsW&C{;C3MJ*d*JtMoss z^t&p3PNkzNb=I@3v2mlQ*xP~qTvF6l)m7D2u1RvP=5S4IRdsFE+LaPF=CH1*tf^PL zl4p%!RK@#x621k22UI+ECiR|W${73I2p z@ou9k&=-b2nI>Yg1Y6rU?x}M!UX&sH<0An@MMDXr3O67)C(K@)JCQ+IB;ZTIq zd77^@Hub!y%XcA{{a&Mm2=sXQ@#mBcseAa>pzk2V&)SH(Dvi$3qJJxRas*v2wFq5d^+ES9IZE;7(z98 zF|tHzc|G502S;m+me=dngj#s?It3O!oc_BPD6J7%Uat%HsfOx$wEdb-rw1TUYmUzA zb!R}yySP^QZA-iT3O2q9f>^b@UgyRZsNdQCqYin!ZcZwBz0Q*TbS-hpKMIWOBLC8% zuQOAs!TS0kOQo%vrgRX0cKNc!E`p6RrEr9E*^~b6piaMqBD?&!k{?&{-=G0%JG7jJ zeiwvYUSAgjb&^A0A2h#mi_RJ+L6N-n|B*Tua)xn4%hLxTZHKVYM4rN*U0#1bRDW0W z9tXd({^uO>Q}|h#j;Ur&j3-IC?a=+Fp%D-z_|w-}eIKB|GwS4b=3j;^eP~0=>-&Uq znwU78{LcIYc*sO8FVua8_?Ytl53<+P_g?k*)b;Ce@TQ}F{e8-rT`0hz z`DHGf*Z4&g*zGseeTva4C8AnTrCLs>mmTs^B_CDt+D@%T%jx_FAPCd#r_UbJaYV^G z`5nW-pr`!^t0p1aq2-kutP(A+QySj7Zi@-TE4qHos0tm~oUw10-}e=nYgIRJzk+Nf z{&aivx=QnNzWPtKqX0*-qtIEuq#q`j~JmgwtWE?#KeALrtW zto!0ze6gXgL%H}8LtkHV@ghTCH*)c741GPw#fuHS&gbISTI+W%z7*@R%MLMJU|eT? zf7)JHfE7irqq%q~)!)auH@pM z#`mJz?GV!i#%HYW)Y=ORXm_FKx2>Q6yB9rgZ7@c|=P(c3?GV!i)~+gBMB}p1_&Gm( zn?>a{HxIiUr~R~V%ZLAsB`!O=QKj%|2i~A?=YH`n;CVJX_5A2$e6Bx-l^(tSM3#@= z!8s3KMAp|21@r5t^R;WC_MTxq%Z!0LTv`RE|C8~#exSnn^#6#ZuAeg=rdZG1e*d}R zciLYFL-Xe8_Zxs;5C79wYw6I}|Jxa7DChKL;35Z+nY$UEJAOJ@&vnKb)sGyTg9tqq zc>O$j4g)X4ICPG;l+yEuOI<9*F+5NYGd_2o9$P^F(+l7u3*djf0R9f+*BSps#Z~on z`6J+DzjGcH!?E+V_h#UNTa`m0aY*qy`=wv;e@E$eDS-inzb+)gu~d|OOX0E4OPph< zz`qS#Aax$!V}2)U7%u}S|2XZLSU}G^tY_|ZVP*mSh98e$C6aiu(2oy~Z*Sb~ZE4=q z=Jgu*Da7o;x0cM9H__vj&omhGKwfVk;_V7WI(#8-01w2)y}o3xLBGR=@Ey%S)%yAk zYoU1_CNJ&W+b5kURH4vZtpHBDS2DHvBoPYuB>DTX#3?aC_Z5n_#gtU(-1f z_)L4#S9Uh+Xl?|Tt%Se2Zg{t~?Ap@M;@!1%>mGNTx2<7Ii<{K(huQt{Bpa$f-|lkh z53I5SnPS5#bzsk3N^z@hN)n$0J@m@Do7uyv@7N zIy~s%rN?CWoA*v(%Yo!_1D%Y1P%if(tfFZC=zT-ej^>>Wjg9U-dkp@CX$Sjc`$6w+ rH4Ga=c$~qEQwQ2UxSy?Z14`h3Js7BC^l;7T7Vdw8zTKadB~Si;`>No measures have been taken to prevent incorrect user input from breaking the game! + +GUIDE/FUTURE PLANS: + +The first puzzle requires you to enter a password to enter the terminal. If you guess +random entries, after 4 incorrect guesses, text is printed that hints to look up. +if you scroll up far enough, a grid of X's is shown where some X's are replaced with +numbers. The password consists of the coordinates of each number in sequence. The +password is H5A6E9B7. + +The second puzzle is not functioning yet, but it requires the user to input a PIN +number to access the admin menu. The PIN is randomly generated and the user will guess +it digit-by-digit. after entering each digit the terminal will tell the user how many +digits he/she guessed correctly. The correct guesses include placement, so the user has +a clue as to how close he/she is. There is also a limited number of times the user can +before he/she is kicked out of the terminal. + + +The main menu is fully implemented in this version but if you try to advance into the +administrative menu there is still no method to return to the main menu. The +administrative menu is coded into the game, but since the PIN guessing puzzle isn't +functioning, there is no way to access the admin menu currently. + +The game's admin menu will be a replica of the main menu plus extra administrative +options. one of these options will be exit vault control, which will be 'corrupted', +leading the player to find another way through. There will be hints hidden throughout +the admin menu that will guide the player to the file system, where they have to do some +file manipulation to be able to access vault door controls and exit. \ No newline at end of file