From 8a6768f6e5505712feb06c1c8937b7d73e264eb7 Mon Sep 17 00:00:00 2001 From: Lazarko Date: Mon, 13 Nov 2017 13:48:24 +0100 Subject: [PATCH 1/4] Upper/lower case fixed --- src/uppgift1/Handler.class | Bin 4450 -> 3471 bytes src/uppgift1/Handler.java | 86 +++++------------------------------ src/uppgift1/HangClient.java | 2 +- src/uppgift1/Hangman.class | Bin 0 -> 1728 bytes src/uppgift1/Hangman.java | 76 +++++++++++++++++++++++++++++++ 5 files changed, 89 insertions(+), 75 deletions(-) create mode 100644 src/uppgift1/Hangman.class create mode 100644 src/uppgift1/Hangman.java diff --git a/src/uppgift1/Handler.class b/src/uppgift1/Handler.class index 5dbe643d1c32bbf5a90b2e94db0f54fc04d27178..b91409009aa0b7beee3d04be23443e41849a0c2f 100644 GIT binary patch literal 3471 zcmZ`+YjhLG75+w+wX#^SBO7C=O(tsYx* zXXf7d?w$M6=*|DU@*03m_)7qHBjJbMfIBebM^e&RKT?t&QZN^Q9|^fg%ON8NLk^~b ztb&IEu#gL&5q1D8ke8gp3XaI_qXD$wnB4iGf`=RMA$-`6j|6ZWAC;gVlbnys*(c=e zlYTrR>7xNWhQ|Z=6h5usi2!awLJpsi!)GNT54YfRQrnYK>hlue3-Ztx{rHj}U-sjv z0CB$J$5;LMnjc@6wwzG#bO7JLHv>3{Z#CcGk>=W?C(<$As1+I%6(hh5VhHm$bnDIH?9uNr3SY{?%5@>S;QfA-w{LGAQ z>4})GC3K5&e%oA>T3MFbW2Fpx+)CMwh&r1}By?kMHlf+NfM+tyV>2luF>YEk#e2jd zO5Dt39CLy$PFgdPeIquZlGL+2932`O93Gt-k41;?k!#b)*_vUGY3V#s)kXe}=-l zdR@g{$XJY9rjhJa5yddo?Jy0!x5Lnn+8xq6D(;utEn(BL7{K0+WM0qZI<%ygGE~GQ zPbu9=#Rx`Kgt0@#eb}yI8@3CyIssl1KY{i|#x5h9x9M$N%eb*s@B>}RJt)`Ay zE!UAq<>Hl+ZK@oNP9I_#2m~uzvAkipnOP<0R?lKI9H))WTILZ~u+cePsd|AGN!_kW z1X|P8T`uY>1`DUHR4>e_YKAO_<_fFSCgg4-v7>proMjTC0$$A_`t=ovYdHHPQuPIo zFYm4}_Y*she7uVOaY6)m5{dvol zMR!(TgE>Ew&gW)n9!onR+ZewJ*t2If%Q2k2iN?x5=UzVjp}dynZ4_s>n@L_DPn$WO za?`~D52v-9lwnARwG4S}PAWO>NSnzdTXtWBRJYh|DYQ7>@c*w=<1FvwR{OO){ji>9 z>5dGJ4aNr9!CaRtmErL^8Y2)cX{{l$#GM0GJLOVwlA+#77j*J#_-+V%fDOtcn=4-& z9@%ak$_D9B_CQj|R_0K4Vu!NHk$PlnBMr)KPpm!8o`-9;`SRM!HCuam?V}WXyCW;u zYRAYK=PHFdA_5yj3lO28r+~Up&|5%#DCjFd37vy~VgU^W1VTLpEDMpP%3=9w9ujzf zR3aTD0p~B@aVtk58>Oq(+X^2aDe$bPf)x|z&^Qr#3CoIT zTEKM+2o}&xMoVdPW!(Z=3s^M|HF5^+!Rw2755-mQGguemBv8bA3s@~@{H!kGhKMwF zO(@t=Kqt4>oW+ezy-giOtZkZf$pME%$Xs;}H}Q(=dWyK2%TAIaZYiQm@`~uDM$T3f z!d2T`L};kDh@N3?I|@nHtS_Rs-`nn$^Rrk_)3$P2jUC)j13B0yL4&tSJL{xti`Y1i zCmbBAlsG$yBeh4IxX9~VgL+#n)Y~Ph6DkL9plsI(^tF2l*3bBEa-FlPy}okUP&-ep zDVsuN49ffF@mM5yM-g|P#pW~EBIv6AdE}g63>0x!S?pj9v4|tK)peeWwxx#Hx_)07 zrnO(GR@bgjU%T)1(^$qt>qQ^h#7S{VJcl-H=IlJz7sN$zskFX~_lqmy9r3Qa_5_%z z=fwqwUKUp*^{Ad^Pb=Cy0nWH)4KS5OD<3IfvbJL*^=zW1+qk+Nn{g*=b~E1^TUa&y z*pC5BV=FSOW}BRcSWzMsb-@4ifc6?2|u81ziq)5iU7&U=x?B)t+xBY)xS_jg~#i>Oy{K*58~|CE9$;9rPdrI!R5 n>|7Ka;V0(OgC(k6Wds#Rf`AG%DZW2=mEL#Hu{%sV!HEACm5N*Y literal 4450 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 IX{~ns7msg6fB*mh diff --git a/src/uppgift1/Handler.java b/src/uppgift1/Handler.java index 7446fa8..07fe32d 100644 --- a/src/uppgift1/Handler.java +++ b/src/uppgift1/Handler.java @@ -30,7 +30,10 @@ public class Handler implements Runnable{ boolean findWord; char[] word; private String comment; - + private final String COMMENT_WRONG = "Wrong!"; + private final String COMMENT_DONE = "Done, next word"; + private final String COMMENT_CORRECT = "Correct, guess again"; + Hangman hangman = new Hangman(); public Handler(Socket client){ this.client = client; @@ -50,8 +53,8 @@ public void run() { try{ if(findWord == true){ - word = findWord(); - char[] hidden = hideWord(word); + word = hangman.findWord(); + char[] hidden = hangman.hideWord(word); hiddenUpdate = hidden; comment = ""; } @@ -66,7 +69,7 @@ public void run() { String input = fromClient.readLine(); char[] inChar = input.toCharArray(); - char[] check = hangman(word, hiddenUpdate, inChar); + char[] check = hangman.hangman(word, hiddenUpdate, inChar); if(Arrays.equals(check, hiddenUpdate) == true){ toClient.println(hiddenString + "WRONG"); @@ -76,9 +79,9 @@ public void run() { findWord = false; this.run(); } else if(Arrays.equals(check, word) == true){ - String wordString = Arrays.toString(word); - comment = "Done"; - toClient.println(wordString + " CORRECT"); + hiddenString = Arrays.toString(word); + comment = "Done, next word"; + toClient.println(hiddenString + " CORRECT"); toClient.flush(); System.out.println("Correct"); findWord = true; @@ -106,73 +109,8 @@ public void run() { Logger.getLogger(Handler.class.getName()).log(Level.SEVERE, null, ex); } } - } - - - private char[] hideWord(char[] word){ - int length = word.length; - Character c = '_'; - char[] hiddenWord = new char[length]; - for(int i = 0; i < length; i++){ - hiddenWord[i] = c.charValue(); - } - return hiddenWord; - } - - - private char[] findWord()throws FileNotFoundException{ - char[] NewWord = findRandomWord(); - return NewWord; - } - - - //OBS tänk senare på stora bokstäver vs små - private char[] hangman(char[] word, char[] hidden, char[] guess){ - if(guess.length == 1){ - char[] newHidden = new char[hidden.length]; - char c = guess[0]; - for(int i = 0; i < hidden.length; i++){ - if(word[i] == c){ - newHidden[i] = c; - }else { - newHidden[i] = hidden[i]; - } - } - return newHidden; - }else if(Arrays.equals(guess, word) == true){ - return word; - }else{ - return hidden; // Komihåg om den returnerar hidden så ska ett ppoäng avdras - } - } - - // Den här metodet returnerar ett ord från "words.txt" filen - // mha readFromFile() metoden, och därmed returnerar en char[] - private char[] findRandomWord() throws FileNotFoundException{ - ArrayList listWords = readFromFile(); - int NO_WORDS = listWords.size(); - Random rand = new Random(); - int randIndex = rand.nextInt(NO_WORDS) + 1; - String s = listWords.get(randIndex); - char[] word = s.toCharArray(); - return word; - } - // Läser av innehållet från "words.txt" och sparar varje ord i en - // ArrayList och returnerar det - private ArrayList readFromFile() throws FileNotFoundException{ - ArrayList words; - Scanner sc = new Scanner(new File("words.txt")); - words = new ArrayList(); - while(sc.hasNextLine()){ - String word = sc.nextLine(); - words.add(word); - } - return words; - } - - - - } + } +} diff --git a/src/uppgift1/HangClient.java b/src/uppgift1/HangClient.java index 8cf0b59..0167357 100644 --- a/src/uppgift1/HangClient.java +++ b/src/uppgift1/HangClient.java @@ -25,7 +25,7 @@ public static void main(String[] args) { Scanner input = new Scanner(System.in); client = new Socket(server, port); - while (client.isConnected()){ //HÄÄRÄ ASDAS + while (client.isConnected()){ PrintWriter output = new PrintWriter(client.getOutputStream()); BufferedReader fromServer = new BufferedReader(new InputStreamReader(client.getInputStream())); String in = fromServer.readLine(); diff --git a/src/uppgift1/Hangman.class b/src/uppgift1/Hangman.class new file mode 100644 index 0000000000000000000000000000000000000000..0e2934d8c595c406630bdbc89ddf095e4ccbe9cf GIT binary patch literal 1728 zcmZuxT~`xV6y1}|2N{NMB1XYd5llz|)KXLeSQ|lTLuidafwnRv1B`` za8pMNx5VnUj!9(1c1lM#rZvpyhzMu|cZB704R>|4;0p~|4fmQbtD_xrI@)kw!@PhH z+=c})d?~hHX~=0TWJzet*^ZU3?r&M{Lvw47mZn|1WUZFn z5|6|;vWbnXgqDJ57JpncpZFNxV_w4&!P~Y|3czyQhw8HjMeB)Ymz|1+uO(=^rn9qe zIudkx6F(o;Dh@s{olS(b}};=(kPUxZqW+D81n(U5fRJ4W%N>(fp74@ zKmiX8Br#-Q87mrA4Sb6=11Y2ptYbq$`x(JNiGlC%y@4O_=>5lr;087^B%$N%P@!l# zj^#=)e4AY!4M;_vG5eJf@4yp`d|F!)y3P)MNQZ$UN(L-!8`!}vvt8G7F8&?fUJjSXq@g;dyR)=yP)j|J;H)F8(f z5;TN&EN-IQG!!||Ng@m@wE5lzssU4P1aSj8>h^lxGs4!qYgY1%C2oZ;f=rr3@W9ah zzSA1&%6MV3#M^Q%PMu3)9Ut>HU*fd~R7j%3IQDVZ$64a63?D)Il?w@1>LBojOZW)= z90l|_!aNKllBd({kB$+__x`R-%Hatms`S1>XH1SN=^DbzFBIwZyT4=dA;BTv-4$qD zx6?rf-;hqUq6_YGOS=De=!+@mWnwWq$#7P(=F67e~;4VbGHe7?8 zONt-?XWchnhC*@IX_aY@^Pj*lN1@=5HbJD2K9yf0n>rQz)8X-BC=*I}LXE1a(^rTm zqpC1Pm6vFtC^f1qzlI@JDSlagp;F#ol$TB(L!~1nd6+uWdIJVSTxF^TxVlF6gUrDY zNnGcno4_>pS>E3{q_Kn%-tsYDe;3rZ=ntR_=K6b;jcdZ4+;`i0RR91 literal 0 HcmV?d00001 diff --git a/src/uppgift1/Hangman.java b/src/uppgift1/Hangman.java new file mode 100644 index 0000000..a7c1730 --- /dev/null +++ b/src/uppgift1/Hangman.java @@ -0,0 +1,76 @@ + +import java.io.File; +import java.io.FileNotFoundException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Random; +import java.util.Scanner; + +/** + * + * @author Lazarko + */ +public class Hangman { + + public char[] hideWord(char[] word){ + int length = word.length; + Character c = '_'; + char[] hiddenWord = new char[length]; + for(int i = 0; i < length; i++){ + hiddenWord[i] = c.charValue(); + } + return hiddenWord; + } + + + public char[] findWord()throws FileNotFoundException{ + char[] NewWord = findRandomWord(); + return NewWord; + } + + + + public char[] hangman(char[] word, char[] hidden, char[] guess){ + if(guess.length == 1){ + char[] newHidden = new char[hidden.length]; + char c = Character.toLowerCase(guess[0]); + for(int i = 0; i < hidden.length; i++){ + if(Character.toLowerCase(word[i]) == c){ + newHidden[i] = c; + }else { + newHidden[i] = hidden[i]; + } + } + return newHidden; + }else if(Arrays.equals(guess, word) == true){ + return word; + }else{ + return hidden; // Komihåg om den returnerar hidden så ska ett ppoäng avdras + } + } + + // Den här metodet returnerar ett ord från "words.txt" filen + // mha readFromFile() metoden, och därmed returnerar en char[] + public char[] findRandomWord() throws FileNotFoundException{ + ArrayList listWords = readFromFile(); + int NO_WORDS = listWords.size(); + Random rand = new Random(); + int randIndex = rand.nextInt(NO_WORDS) + 1; + String s = listWords.get(randIndex); + char[] word = s.toCharArray(); + return word; + } + // Läser av innehållet från "words.txt" och sparar varje ord i en + // ArrayList och returnerar det + public ArrayList readFromFile() throws FileNotFoundException{ + ArrayList words; + Scanner sc = new Scanner(new File("words.txt")); + words = new ArrayList(); + while(sc.hasNextLine()){ + String word = sc.nextLine(); + words.add(word); + } + return words; + } + +} From 6e92743c234ad58d79e21240982151f7db861b36 Mon Sep 17 00:00:00 2001 From: Lazarko Date: Mon, 13 Nov 2017 14:36:40 +0100 Subject: [PATCH 2/4] Now disconnect command is available --- src/uppgift1/Handler.class | Bin 3471 -> 3954 bytes src/uppgift1/Handler.java | 28 ++++++++++++++++++++++------ src/uppgift1/HangClient.class | Bin 1621 -> 1783 bytes src/uppgift1/HangClient.java | 9 ++++++--- 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/uppgift1/Handler.class b/src/uppgift1/Handler.class index b91409009aa0b7beee3d04be23443e41849a0c2f..983cd989a93f3c36ce468a8b0cad57da8e4e284a 100644 GIT binary patch literal 3954 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 I60BhOf6OD(VE_OC literal 3471 zcmZ`+YjhLG75+w+wX#^SBO7C=O(tsYx* zXXf7d?w$M6=*|DU@*03m_)7qHBjJbMfIBebM^e&RKT?t&QZN^Q9|^fg%ON8NLk^~b ztb&IEu#gL&5q1D8ke8gp3XaI_qXD$wnB4iGf`=RMA$-`6j|6ZWAC;gVlbnys*(c=e zlYTrR>7xNWhQ|Z=6h5usi2!awLJpsi!)GNT54YfRQrnYK>hlue3-Ztx{rHj}U-sjv z0CB$J$5;LMnjc@6wwzG#bO7JLHv>3{Z#CcGk>=W?C(<$As1+I%6(hh5VhHm$bnDIH?9uNr3SY{?%5@>S;QfA-w{LGAQ z>4})GC3K5&e%oA>T3MFbW2Fpx+)CMwh&r1}By?kMHlf+NfM+tyV>2luF>YEk#e2jd zO5Dt39CLy$PFgdPeIquZlGL+2932`O93Gt-k41;?k!#b)*_vUGY3V#s)kXe}=-l zdR@g{$XJY9rjhJa5yddo?Jy0!x5Lnn+8xq6D(;utEn(BL7{K0+WM0qZI<%ygGE~GQ zPbu9=#Rx`Kgt0@#eb}yI8@3CyIssl1KY{i|#x5h9x9M$N%eb*s@B>}RJt)`Ay zE!UAq<>Hl+ZK@oNP9I_#2m~uzvAkipnOP<0R?lKI9H))WTILZ~u+cePsd|AGN!_kW z1X|P8T`uY>1`DUHR4>e_YKAO_<_fFSCgg4-v7>proMjTC0$$A_`t=ovYdHHPQuPIo zFYm4}_Y*she7uVOaY6)m5{dvol zMR!(TgE>Ew&gW)n9!onR+ZewJ*t2If%Q2k2iN?x5=UzVjp}dynZ4_s>n@L_DPn$WO za?`~D52v-9lwnARwG4S}PAWO>NSnzdTXtWBRJYh|DYQ7>@c*w=<1FvwR{OO){ji>9 z>5dGJ4aNr9!CaRtmErL^8Y2)cX{{l$#GM0GJLOVwlA+#77j*J#_-+V%fDOtcn=4-& z9@%ak$_D9B_CQj|R_0K4Vu!NHk$PlnBMr)KPpm!8o`-9;`SRM!HCuam?V}WXyCW;u zYRAYK=PHFdA_5yj3lO28r+~Up&|5%#DCjFd37vy~VgU^W1VTLpEDMpP%3=9w9ujzf zR3aTD0p~B@aVtk58>Oq(+X^2aDe$bPf)x|z&^Qr#3CoIT zTEKM+2o}&xMoVdPW!(Z=3s^M|HF5^+!Rw2755-mQGguemBv8bA3s@~@{H!kGhKMwF zO(@t=Kqt4>oW+ezy-giOtZkZf$pME%$Xs;}H}Q(=dWyK2%TAIaZYiQm@`~uDM$T3f z!d2T`L};kDh@N3?I|@nHtS_Rs-`nn$^Rrk_)3$P2jUC)j13B0yL4&tSJL{xti`Y1i zCmbBAlsG$yBeh4IxX9~VgL+#n)Y~Ph6DkL9plsI(^tF2l*3bBEa-FlPy}okUP&-ep zDVsuN49ffF@mM5yM-g|P#pW~EBIv6AdE}g63>0x!S?pj9v4|tK)peeWwxx#Hx_)07 zrnO(GR@bgjU%T)1(^$qt>qQ^h#7S{VJcl-H=IlJz7sN$zskFX~_lqmy9r3Qa_5_%z z=fwqwUKUp*^{Ad^Pb=Cy0nWH)4KS5OD<3IfvbJL*^=zW1+qk+Nn{g*=b~E1^TUa&y z*pC5BV=FSOW}BRcSWzMsb-@4ifc6?2|u81ziq)5iU7&U=x?B)t+xBY)xS_jg~#i>Oy{K*58~|CE9$;9rPdrI!R5 n>|7Ka;V0(OgC(k6Wds#Rf`AG%DZW2=mEL#Hu{%sV!HEACm5N*Y diff --git a/src/uppgift1/Handler.java b/src/uppgift1/Handler.java index 07fe32d..46b7817 100644 --- a/src/uppgift1/Handler.java +++ b/src/uppgift1/Handler.java @@ -30,7 +30,9 @@ public class Handler implements Runnable{ boolean findWord; char[] word; private String comment; - private final String COMMENT_WRONG = "Wrong!"; + private final String COMMENT_DISCONNECT = "You have disconnected from server"; + private final String CLIENT_DISCONNECT = "Client has disconnected"; + private final String WELCOME_MSG = "Guess the word, to quit type: QUIT"; private final String COMMENT_DONE = "Done, next word"; private final String COMMENT_CORRECT = "Correct, guess again"; Hangman hangman = new Hangman(); @@ -53,6 +55,8 @@ public void run() { try{ if(findWord == true){ + toClient.println(WELCOME_MSG); + toClient.flush(); word = hangman.findWord(); char[] hidden = hangman.hideWord(word); hiddenUpdate = hidden; @@ -70,8 +74,11 @@ public void run() { char[] inChar = input.toCharArray(); char[] check = hangman.hangman(word, hiddenUpdate, inChar); - - if(Arrays.equals(check, hiddenUpdate) == true){ + if(input.startsWith("QUIT") == true){ + toClient.println(COMMENT_DISCONNECT); + toClient.flush(); + disconnect(); + }else if(Arrays.equals(check, hiddenUpdate) == true){ toClient.println(hiddenString + "WRONG"); toClient.flush(); System.out.println("Wrong"); @@ -94,14 +101,14 @@ public void run() { hiddenUpdate = check; findWord = false; this.run(); - } + } }catch(IOException ioe){ System.out.print("ioe"); }catch(NullPointerException e){ - System.out.println("Client has disconnected"); + System.out.println(CLIENT_DISCONNECT); }finally{ try { client.close(); @@ -109,7 +116,16 @@ public void run() { Logger.getLogger(Handler.class.getName()).log(Level.SEVERE, null, ex); } } - } + } + private void disconnect(){ + try{ + client.close(); + }catch(IOException ioe){ + System.out.print(ioe); + } + System.out.println(CLIENT_DISCONNECT); + isConnected = false; + } } diff --git a/src/uppgift1/HangClient.class b/src/uppgift1/HangClient.class index 9e46f478b10174f692d15e370cc0f90cf1a7515c..3fd4500a8e341df490170c73fe5e70248f9f4320 100644 GIT binary patch delta 924 zcmYjPTTc@~7(LSq(=LmK0-+FrR;pZzR1rZz@q%(uszSLHL|Dtx7M5LXx5Zo1#6%x_ zFd-Wfd4nh3Oo~ZKBr*DA;;Zqu_@wwvNr=hjn>pW{J#)^?{E~l{<$nDA`~^TKUP(BO z9*$l&uHu>m8~Qk|bKG#@rUWN$iPFz;Ta0%kNEqN4h9YMLV|NHZL>46f0M;qm!!WRSsQeYICM zmGv8X+EjFNQqeLhgJaD|nG9^$4g~THC22L4RZ|<^XDY~iFUKRYTr@gI!d4gaM_UnO zC|_2xN+@F{wNNCc=(?KXcr0Tc3o=@vFq|wBbkz(+jM$1wdq_iy9`DzZs!qVI88Jmm z7->`RpU8+|(b{2Nmx?9PiCf=TcU1yO0hVQ~K$EcwouS$)cT`77LCCEtdXGd>Sq(Pb)!Ose({-}}hC6uh{TTG^723d`n>Y{HcWvu#+!g9>XSjRIN&k?jnZC?8e zytLlfx}9b!smDKkwEbj_5}jJgOiv}v1VdHxNHLy97DACCtG8vw$~l6$5_$%J9kpmg z01Rgc*-%ILESipSGvSv1);Vz)B@I$-qd)3sWHdTk_rdZsVK_&%q}cSpjdp}+PEKu z%DqmBUsL9{l=M9@H^^>$6X!{?9b4po8y$pzAvpiQ%W;9D)+tUJqx3FZWrOV2oYn=_oXIZd4@cxv+u^}O(19SgnSr8#<4 z_@&w+DPEf(ZSw}lW`fB=i!YX(!nK*k(ahLnn6=58v`5Tl&hV)yUgvs=fsvl&v@@4? zy{yeVA~&4z(y7dpw;+444%HOC_}aG0O1`SXzQ2B@R(>C{Q_C|%|@3wwd&$|e<2y-jreU`=vW>y!@5QR6n%8^sG&dCy7VXs#S2A{eEV4-+b+y;ABfi|?cPAD79ANdN!< diff --git a/src/uppgift1/HangClient.java b/src/uppgift1/HangClient.java index 0167357..e113f1b 100644 --- a/src/uppgift1/HangClient.java +++ b/src/uppgift1/HangClient.java @@ -16,8 +16,9 @@ * @author Lazarko */ public class HangClient { - private static int port = 9393; - private static String server = "localhost"; + private final static String QUIT_MSG = "You have disconnected from server"; + private final static int port = 9393; + private final static String server = "localhost"; public static void main(String[] args) { Socket client; @@ -34,7 +35,9 @@ public static void main(String[] args) { output.println(write); output.flush(); String inputString = fromServer.readLine(); - + if(inputString.startsWith(QUIT_MSG) == true){ + client.close(); + } System.out.println(inputString); } From 9ebb319a218792481003fff3d85daf5c81f8ab80 Mon Sep 17 00:00:00 2001 From: Lazarko Date: Tue, 14 Nov 2017 15:45:43 +0100 Subject: [PATCH 3/4] Hangman 2.0 --- src/uppgift1/Handler.class | Bin 3954 -> 4003 bytes src/uppgift1/Handler.java | 61 +++++++++++++++------------------- src/uppgift1/HangClient.class | Bin 1783 -> 1628 bytes src/uppgift1/HangClient.java | 8 ++--- src/uppgift1/Hangman.java | 2 +- 5 files changed, 30 insertions(+), 41 deletions(-) diff --git a/src/uppgift1/Handler.class b/src/uppgift1/Handler.class index 983cd989a93f3c36ce468a8b0cad57da8e4e284a..39be3b33123645b6e47dfffd7b2308da0b17a591 100644 GIT binary patch literal 4003 zcmZ`+`F9i775<(qdt@OU{9QZ$_2`xX1Q;cfa@D zckg}U3pZYU9l*V~=EqhX_aRk@br|-+kh|%_h}=*3V97o0gDv-r52JEF>BA|xk12S} zk7^v3$UEioF1fs0F7HwBUImZ)@jkrYj|KREAGP?PESwB99&r8iO$mNStgHSD=k&I`h#+MX)St4JN zN?(;qXB0f==V6b_<$1Y$P4d1jqxgm&-^92dFW|*Wd<)-}(08QOmlV9L;JXUGCr}Yf zC3V9Vm>WH&jcUz?Za4RuvE#bkD&QZq%;890pw1OYn$6oYgM+%I$9r@wu3MDz+2*uV zO+jjpl{D;rD``6->QFKs*NuH6an05RJO?9G8%!GUe$$Ezhyw!UgGnpRNW3Qu5OB?>G$Ya6Ytuu5?q^3#BW-Jjy9=BY(n#8E z0`o(6B(HHl4-zrs45uoZH1w{_@KN3B(~hP{DYG&(RTh#$vwLkVcDz#?ad<2j-m!uS z1s%>Uo#idWlj)dg7Tk#JQ$3oSt>nafo4 zO7i+5Sx?2xVSQO}XGTw_gZ7Xfl-Ig8*k=Y$WRiB!9vjhvuEjp7x}=~QF)fQ{Z3-qF zRV|?<4Hf&OP+dW2hiT|dK|?=fJ9bsDsVc+zP(0;uU0NDsys~RIvl?0`sO-O3GZt6n-FuURCiRSZM{Jj_&qT zF@3~NnudaNDqh166}+zE4V;$&{zye9I#m1^KT)wuLJ15h_^FDY;pZ#{6~DkQrSz{< zT)-g}zs5xszma}sV8F?ZU>aexote1EGO2!A!*-JPWsp@R{J=Ejh*ld0xymZgoQ zok=~N?^-D~(>PTueI%vDI8ACpk(otq3C1<(1XDhk%A|+rh8+}_V^7Y;8J*1HlQE=O zPF$Q}j79!9Vf#7DEj!(xv}tKZPkbyY^b;8^#S!Iy>hW_kes*Xk!my4}Svk1u5WO;(SF4cm;7j z9|hb;oNqz__Y>#%FW@S1j{5>Whh8}Exq3+(zyYoYiJe9neFGigNr-U3lSNrL;LV~u z9H_`b2?u;xRE7ioEM|oRY8JD@fjL=Jh0mdSU=nk)2!vN>F)vJ&`Ese5pfQ0*xZaQ1 zTpQ@H7V;ag8g+!~`Q5eMrZht8E-a@u$E_QlcRecLV}7>KVeP;< zEEovCf_XXAO`?7h3$s{6#^OA2N!cWpX3;Q?S<$mtwmOHqC_UeM1`S~XfgF}+u|h)p zTam-csEmD;rG zQ4VW5n{rs&Ma1#Jebt&Anp?b0fr=dNW+)3uYY2FXR+#vE#&NmcD}|@9o-!My%sJf4 z4Btn8_Xm7ja@bH*qH9TPk}=N@=df`cryUE7Mq1cP3oX0k+LlY4`XrJaRX zoR`t2G-@!GKJQ&*erOQ2gYIL@29OG zbz}yqsFVtL-Q>E)Hq9WmvZbP6rnW^X^;WOYU46wH6PU$PY(g`FVnR%ba|mJsp-aTC zh^yjS9>0z);)bW(<8yJ(V%G8{amCrMlSACI)U(nPLeR6A5OH=7i(M>rdOpPRZloXS zDa;wM8XE|0A+#HJvmfta&)tU@TVn_tk!I;Xh8F%C(uyarng4Y>z<*cT@EkQ>=6UlD>U?o zLG+4Y^ocR-6OUuRcozNQc|0s$z<_uO2gC$)F@+&!WKg_@gt&+#vvNqhiNoRwc~{B1 zM&7^3`ww~7p^5+EsJH>$Q;s2KYS2@Ogr^=!W+U!dO8QFDL!^gEZzbG@V>rxA4Wimq za70;tlgBMrpeZ=&{KgdK1aD*8+vvE-0}Jvvk|^8DzrF4r?{RniCNEQQBxqBCF2#=o zZt@~rJp%l?%g?t*h{^f3s8Ax)v!QLexF#qn4f%QL&Si2wRgf}F+6buz{h1u6CrG!P zgDCLqrcZA2BQ)h(HGA7{wf%L=DCqqh$~^G?jD& GkNpog(#-4t literal 3954 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 I60BhOf6OD(VE_OC diff --git a/src/uppgift1/Handler.java b/src/uppgift1/Handler.java index 46b7817..243cffd 100644 --- a/src/uppgift1/Handler.java +++ b/src/uppgift1/Handler.java @@ -1,47 +1,37 @@ import java.io.BufferedReader; -import java.io.File; -import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.*; -import java.util.ArrayList; import java.util.Arrays; -import java.util.Random; -import java.util.Scanner; import java.util.logging.Level; import java.util.logging.Logger; - - - - /** * * @author Lazarko */ public class Handler implements Runnable{ - private boolean isConnected; - //private HangServer server; private Socket client; private BufferedReader fromClient; private PrintWriter toClient; char[] hiddenUpdate; boolean findWord; + boolean first; char[] word; - private String comment; private final String COMMENT_DISCONNECT = "You have disconnected from server"; private final String CLIENT_DISCONNECT = "Client has disconnected"; - private final String WELCOME_MSG = "Guess the word, to quit type: QUIT"; - private final String COMMENT_DONE = "Done, next word"; - private final String COMMENT_CORRECT = "Correct, guess again"; + private final String QUIT_MSG = "QUIT"; + private final String Wrong_MSG = "Hangman: Wrong!"; + private final String WELCOME_MSG = "Hangman: Welcome! Guess the word. To quit type QUIT"; + private final String CORRECT_MSG = "Hangman: Correct, guess again"; + private final String DONE_MSG = "Hangman: Done, next word"; Hangman hangman = new Hangman(); public Handler(Socket client){ this.client = client; findWord = true; - isConnected = true; - + first = true; } @Override public void run() { @@ -50,53 +40,50 @@ public void run() { fromClient = new BufferedReader(new InputStreamReader(client.getInputStream())); toClient = new PrintWriter(client.getOutputStream(), false); }catch(IOException ioe){ - System.out.println("FAIL"); + System.out.println(ioe); } try{ - if(findWord == true){ - toClient.println(WELCOME_MSG); - toClient.flush(); + if(findWord == true){ word = hangman.findWord(); char[] hidden = hangman.hideWord(word); hiddenUpdate = hidden; - comment = ""; } + + firstMSG(first); + first = false; String hiddenString = Arrays.toString(hiddenUpdate) .replace(',', ' ') .replace('[', ' ') .replace(']', ' '); - toClient.println(hiddenString + comment); + toClient.println(hiddenString); toClient.flush(); System.out.println(Arrays.toString(word));// FÖR SERVERN String input = fromClient.readLine(); char[] inChar = input.toCharArray(); char[] check = hangman.hangman(word, hiddenUpdate, inChar); - if(input.startsWith("QUIT") == true){ + if(input.startsWith(QUIT_MSG) == true){ toClient.println(COMMENT_DISCONNECT); toClient.flush(); disconnect(); }else if(Arrays.equals(check, hiddenUpdate) == true){ - toClient.println(hiddenString + "WRONG"); + toClient.println(hiddenString + Wrong_MSG); toClient.flush(); - System.out.println("Wrong"); - comment = "WRONG!"; + System.out.println(Wrong_MSG); findWord = false; this.run(); } else if(Arrays.equals(check, word) == true){ hiddenString = Arrays.toString(word); - comment = "Done, next word"; - toClient.println(hiddenString + " CORRECT"); + toClient.println(hiddenString + DONE_MSG); toClient.flush(); - System.out.println("Correct"); + System.out.println(DONE_MSG); findWord = true; this.run(); } else if(Arrays.equals(check, hiddenUpdate) == false){ String checkString = Arrays.toString(check); - comment = "Correct, guess again!"; - toClient.println(checkString); + toClient.println(checkString + CORRECT_MSG); toClient.flush(); hiddenUpdate = check; findWord = false; @@ -105,7 +92,7 @@ public void run() { }catch(IOException ioe){ - System.out.print("ioe"); + System.out.print(ioe); }catch(NullPointerException e){ System.out.println(CLIENT_DISCONNECT); @@ -124,7 +111,13 @@ private void disconnect(){ System.out.print(ioe); } System.out.println(CLIENT_DISCONNECT); - isConnected = false; + } + + private void firstMSG(boolean first){ + if(first == true){ + toClient.println(WELCOME_MSG); + toClient.flush(); + } } } diff --git a/src/uppgift1/HangClient.class b/src/uppgift1/HangClient.class index 3fd4500a8e341df490170c73fe5e70248f9f4320..2f6b527d58e2926d37ab6e570521eea1f9324874 100644 GIT binary patch delta 751 zcmYk4Nl#Nz7>1wIfpfWBG%`qw-~?1HlsX^?4yXu%3Mim5C|Ya9Vr>a2>cXTZB(l?( zyKo^3jSJRba*dj}acBGq{si}~6u(mvVsi4H@BQZYI{rnYZW6q|Yqnh?o zIyh$Iqf^tRIc{;nCdf$xr!?K>K5b)jMsrrvWB56nEp*zH(`%s5^f+(R&wy!k!DNeN zbJ60G%^*XjXjpUEGD%l7Bd?aB*#1 z*?jA4;!(n(iHKsGvEvK*bS6HUOk}gEdCgUaYg{)86oI5VA#4-EG{Nv7uV z>0H(!OYXxr-!tVd1>O|u zkL@v!nsC6QqDzN$MaUx@c#CfKs9mEntR;J8ec8|z$_B+HwRNk-nTtGUhb(Ef7@gbczheZ0Acng!Fep+;=MEM*ITys!!Xyd@Td@KKE*l>9p;RX(CS@{SAWZ$-bTpn|2 delta 879 zcmZXS%T7~K6o$XkQg%5U8~{R#+*O2fDI$s%0YyPj5CjwvQ7RNHmQriEc!?MWnm8~a z4T%m+Fb)`l$sv)%2k-@)_#RGFTpJ7_nw zX`H3W#6h#7MRCr}c@r0{8ZIa<>a)$nq+M}I(V=;#$pM;8GPtbaimuV6=r+kF;O446 zdo=W#T%%7{@7E>z3N#M5xo&cUL0#&mVn_$wQVcJ@`j{mW8Wp$Y;hpD3#GPz1N}N6_ zlR+aV{f@<5MlE~yHy(~A2IJvGC~gsALI+PKzZne! z_X%qufkO9*P^Jb%=2~7!4F#%n-A9NJJquACa(_ z)fMJMRh^@(Y{X)o1&ha2?i144)3z`ciY3A`QHv)${q)@N!e~tm#$utU2(B*g`uFX| zivLW1a^V&G{7PaB89=3Am1Gpi zX~^mFZDOp;MMMdv?ie#kqXxg+CDa&}f8`e6hbWiEo7BphWX&Dd^zLA3I5z%K!iX diff --git a/src/uppgift1/HangClient.java b/src/uppgift1/HangClient.java index e113f1b..d550f97 100644 --- a/src/uppgift1/HangClient.java +++ b/src/uppgift1/HangClient.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ import java.io.BufferedReader; import java.io.IOException; @@ -27,10 +22,11 @@ public static void main(String[] args) { client = new Socket(server, port); while (client.isConnected()){ + PrintWriter output = new PrintWriter(client.getOutputStream()); BufferedReader fromServer = new BufferedReader(new InputStreamReader(client.getInputStream())); String in = fromServer.readLine(); - System.out.println("Hangman: " + in); + System.out.println(in); String write = input.nextLine(); output.println(write); output.flush(); diff --git a/src/uppgift1/Hangman.java b/src/uppgift1/Hangman.java index a7c1730..f416184 100644 --- a/src/uppgift1/Hangman.java +++ b/src/uppgift1/Hangman.java @@ -45,7 +45,7 @@ public char[] hangman(char[] word, char[] hidden, char[] guess){ }else if(Arrays.equals(guess, word) == true){ return word; }else{ - return hidden; // Komihåg om den returnerar hidden så ska ett ppoäng avdras + return hidden; } } From 3959b93cc3bfe6863555b0c767b0927f298c8adf Mon Sep 17 00:00:00 2001 From: Lazarko Date: Tue, 14 Nov 2017 16:01:48 +0100 Subject: [PATCH 4/4] Hangman 2.0 NullpointExcep client --- src/uppgift1/HangClient.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/uppgift1/HangClient.java b/src/uppgift1/HangClient.java index d550f97..5f5c91e 100644 --- a/src/uppgift1/HangClient.java +++ b/src/uppgift1/HangClient.java @@ -41,6 +41,8 @@ public static void main(String[] args) { } catch (IOException ioe) { System.out.print(ioe); + }catch(NullPointerException e){ + System.out.print(e); } }