Advertisement
kokusz19

Shell_Ghosts

Jan 2nd, 2018
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.69 KB | None | 0 0
  1. package shell;
  2.  
  3. import java.io.File;
  4. import java.io.FileNotFoundException;
  5. import java.io.PrintWriter;
  6. import java.util.LinkedList;
  7. import java.util.logging.Level;
  8. import java.util.logging.Logger;
  9.  
  10. public class Game extends Shell{
  11.  
  12. StringBuilder sb = new StringBuilder();
  13.  
  14. boolean ablak = false, orgona = false, vege = false;
  15. int napszak = 1;
  16. int pont = 0;
  17.  
  18. LinkedList <Integer> huhogo = new LinkedList<>();
  19. LinkedList <Integer> kacago = new LinkedList<>();
  20. LinkedList <Integer> eneklo = new LinkedList<>();
  21.  
  22. public void kiir(){
  23. if(napszak == 2){
  24. format("Nappal van.%n");
  25. if(ablak == false)
  26. format("Az ablak zarva van!%n");
  27. else if(ablak == true)
  28. format("Az ablak nyitvan van!%n");
  29. if(orgona == true)
  30. format("Ma orgonaztal mar!%n");
  31. else if(orgona == false)
  32. format("Ma nem orgonaztal!%n");
  33. }
  34. if(napszak == 1){
  35. format("Ejjel van.%n");
  36. if(huhogo.getLast() == 1)
  37. format("Huhogo huhog!%n");
  38. else if(huhogo.getLast() == 0)
  39. format("Huhogo nem huhog!%n");
  40. if(eneklo.getLast() == 1)
  41. format("Eneklo enekel!%n");
  42. else if(eneklo.getLast() == 0)
  43. format("Eneklo nem enekel!%n");
  44. if(kacago.getLast() == 1)
  45. format("Kacago kacag!%n");
  46. else if(kacago.getLast() == 0)
  47. format("Kacago nem kacag!%n");
  48. format("Nyugodtan aludtal %d ejszakat%n", pont);
  49. if(pont == 3)
  50. format("A jatek veget ert!%n");
  51. }
  52. }
  53.  
  54. public Game(){
  55. // NEW
  56. addCommand(new Command("new") {
  57. @Override
  58. public boolean execute(String... args) {
  59. if(args.length > 1 || args.length == 1 && !args[0].equals("initial"))
  60. return false;
  61. if(args.length == 0){
  62.  
  63. huhogo.clear();
  64. kacago.clear();
  65. eneklo.clear();
  66.  
  67. if(isHooting())
  68. huhogo.add(1);
  69. else
  70. huhogo.add(0);
  71. if(isLaughing())
  72. kacago.add(1);
  73. else
  74. kacago.add(0);
  75. if(isSinging())
  76. eneklo.add(1);
  77. else
  78. eneklo.add(0);
  79. }
  80. if(args.length == 1 && args[0].equals("initial")){
  81.  
  82. huhogo.clear();
  83. kacago.clear();
  84. eneklo.clear();
  85. huhogo.add(1);
  86. eneklo.add(1);
  87. kacago.add(1);
  88. }
  89. napszak = 1;
  90. pont = 0;
  91.  
  92. ablak = orgona = vege = false;
  93.  
  94. sb.append("Uj jatek kezdodott!\n");
  95. return true;
  96. }
  97. });
  98.  
  99. // PRINT
  100. addCommand(new Command("print") {
  101. @Override
  102. public boolean execute(String... args) {
  103. if(args.length > 0)
  104. return false;
  105.  
  106. kiir();
  107. return true;
  108. }
  109. });
  110.  
  111. // OPEN
  112. addCommand(new Command("open"){
  113. public boolean execute(String... args){
  114. if(vege == true || napszak == 1 || args.length != 1 || !args[0].equals("window") || ablak == true){
  115. return false;
  116. }
  117. else
  118. ablak = true;
  119. sb.append("Kinyitottuk az ablakot!\n");
  120. return true;
  121. }
  122. });
  123.  
  124. // CLOSE
  125. addCommand(new Command("close"){
  126. public boolean execute(String... args){
  127. if(vege == true || napszak == 1 || args.length != 1 || !args[0].equals("window") || ablak == false){
  128. return false;
  129. }
  130. else
  131. ablak = false;
  132. sb.append("Bezartuk az ablakot!\n");
  133. return true;
  134. }
  135. });
  136.  
  137. // PLAY
  138. addCommand(new Command("play"){
  139. public boolean execute(String... args){
  140. if(vege == true || napszak == 1 || args.length != 1 || !args[0].equals("organ") || orgona == true){
  141. return false;
  142. }
  143. else
  144. orgona = true;
  145. sb.append("Jatszottunk az orgonan!\n");
  146. return true;
  147. }
  148. });
  149.  
  150. // GO
  151. addCommand(new Command("go"){
  152. public boolean execute(String... args){
  153. if(vege == true || napszak == 1 || args.length != 2 || (!args[0].equals("to") && !args[1].equals("bed")))
  154. return false;
  155.  
  156. else{
  157.  
  158. int utolsokacag = kacago.getLast();
  159. int utolsohuhog = huhogo.getLast();
  160. int utolsoenek = eneklo.getLast();
  161.  
  162. napszak = 1;
  163.  
  164. // HUHOGO
  165. huhogo.add(utolsokacag);
  166. // KACAGO
  167. if(ablak == false)
  168. kacago.add(utolsohuhog);
  169.  
  170. if(ablak == true){
  171. if(utolsohuhog == 1)
  172. kacago.add(0);
  173. if(utolsohuhog == 0)
  174. kacago.add(1);
  175. }
  176. // ENEKLO
  177. if(orgona == true && utolsokacag == 0 && utolsoenek == 1)
  178. eneklo.add(0);
  179. else if(orgona == true && utolsokacag == 0 && utolsoenek == 0)
  180. eneklo.add(1);
  181. else
  182. eneklo.add(utolsoenek);
  183.  
  184.  
  185. if(huhogo.getLast() == 1)
  186. format("Huhogo huhogott!%n");
  187. else if(huhogo.getLast() == 0)
  188. format("Huhogo nem huhogott%n");
  189. if(eneklo.getLast() == 1)
  190. format("Eneklo enekelt!%n");
  191. else if(eneklo.getLast() == 0)
  192. format("Eneklo nem enekelt%n");
  193. if(kacago.getLast() == 1)
  194. format("Kacago kacagott!%n");
  195. else if(kacago.getLast() == 0)
  196. format("Kacago nem kacagott%n");
  197.  
  198. sb.append("Aludtunk!\n");
  199. return true;
  200. }
  201. }
  202. });
  203.  
  204. // GET
  205. addCommand(new Command("get"){
  206. @Override
  207. public boolean execute(String... args){
  208. if(vege == true || napszak == 2 || args.length != 1 || !args[0].equals("up")){
  209. return false;
  210. }
  211. else{
  212. napszak = 2;
  213.  
  214. if(huhogo.getLast() == 1)
  215. format("Huhogo huhogott!%n");
  216. else if(huhogo.getLast() == 0)
  217. format("Huhogo nem huhogott%n");
  218. if(eneklo.getLast() == 1)
  219. format("Eneklo enekelt!%n");
  220. else if(eneklo.getLast() == 0)
  221. format("Eneklo nem enekelt%n");
  222. if(kacago.getLast() == 1)
  223. format("Kacago kacagott!%n");
  224. else if(kacago.getLast() == 0)
  225. format("Kacago nem kacagott%n");
  226.  
  227. orgona = false;
  228. format("Ma meg nem orgonaztal!%n");
  229.  
  230. if(ablak == false)
  231. format("Az ablak nincs nyitva!%n");
  232. if(ablak == true)
  233. format("Az ablak nyitvan van!%n");
  234.  
  235. if(huhogo.getLast() == 0 && kacago.getLast() == 0 && eneklo.getLast() == 0)
  236. pont++;
  237.  
  238. else pont = 0;
  239.  
  240. sb.append("Felkeltunk!\n");
  241.  
  242. if(pont == 3) vege = true;
  243. if(vege == true) { format("A jateknak vege, 3 napot zavartalanul aludtal!%n"); sb.append("!!!WIN!!!");}
  244. return true;
  245. }
  246. }
  247. });
  248.  
  249. // SAVE
  250. addCommand(new Command("save") {
  251. @Override
  252. public boolean execute(String... args){
  253. if(args.length != 1)
  254. return false;
  255. else{
  256. File file = new File(args[0]);
  257.  
  258. PrintWriter writer;
  259.  
  260. try {
  261. writer = new PrintWriter(file);
  262. writer.println(sb.toString());
  263. writer.close();
  264. } catch (FileNotFoundException ex) {
  265. System.err.println("Hiba!\n");
  266. }
  267.  
  268.  
  269. return true;
  270. }
  271. }
  272. });
  273. }
  274. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement