Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.21 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. class Fratzenbook{
  4.  
  5. Knoten[]nutzer;
  6. int[][]befreundet;
  7. int anzahl;
  8. String password;
  9. String username;
  10.  
  11.  
  12. Fratzenbook(){
  13.  
  14. nutzer = new Knoten [100];
  15. befreundet = new int [100][100];
  16.  
  17. anzahl = 10;
  18. nutzer[0]= new Knoten("Moritz","lul","Herzlich Willkommen im Chat");
  19. nutzer[1]= new Knoten("Kabbo","hehe","Herzlich Willkommen im Chat");
  20. nutzer[2]= new Knoten("Paddy","kenningwestalder","Herzlich Willkommen im Chat");
  21. nutzer[3]= new Knoten("Max","mmue","Herzlich Willkommen im Chat");
  22. nutzer[4]= new Knoten("Maddin","eins","Herzlich Willkommen im Chat");
  23. nutzer[5]= new Knoten("theRat","zwei","Herzlich Willkommen im Chat");
  24. nutzer[6]= new Knoten("Bems","drei","Herzlich Willkommen im Chat");
  25. nutzer[7]= new Knoten("Mono","vier","Herzlich Willkommen im Chat");
  26. nutzer[8]= new Knoten("Stift","fuenf","Herzlich Willkommen im Chat");
  27. nutzer[9]= new Knoten("Puki","sechs","Herzlich Willkommen im Chat");
  28. befreunden(0,1);
  29. befreunden(1,4);
  30. fabefreunden(0,8);
  31. fabefreunden(0,3);
  32. fabefreunden(1,5);
  33. login();
  34. }
  35.  
  36. //Um Beispielhaft von Anfang an zu befreunden
  37. void befreunden(int n1, int n2)
  38. {
  39. befreundet[n1][n2]= 3;
  40. befreundet[n2][n1]= 3;
  41. }
  42.  
  43. //Freundschaftsanfragen für Bsp Daten
  44. void fabefreunden(int n1, int n2)
  45. {
  46. befreundet[n1][n2]= 2;
  47. befreundet[n2][n1]= 2;
  48. }
  49.  
  50. //man kommt zur ersten Benutzeroberfläche
  51. void login()
  52. {
  53. clearScreen();
  54. System.out.println("Hey! Herzlich Willkommen zum BESTEN Social Network dieser Schule!!");
  55. Scanner s = new Scanner(System.in);
  56. System.out.println("1) Um dich einzuloggen");
  57. System.out.println("2) Hier kannst du ein Konto erstellen");
  58. System.out.print("Eingabe: ");
  59. switch(s.nextInt()) {
  60. case 1:
  61. einloggen();
  62. break;
  63. case 2:
  64. Kontoerstellen();
  65. break;
  66.  
  67. default:
  68. System.err.println("Falsche Eingabe");
  69. login();
  70. break;
  71. }
  72. }
  73.  
  74. //Methode zum Anmelden mit einem bestehenden account
  75. void einloggen()
  76. {
  77. String hiuh;
  78. Scanner input = new Scanner(System.in);
  79. System.out.println("Log in:");
  80. System.out.println("username: ");
  81. username = input.next();
  82.  
  83. int gd = 0;
  84. int p = 0;
  85. while(p<anzahl)
  86. {
  87. hiuh = nutzer[p].name;
  88. if (hiuh.equals(username))
  89. {
  90. password = nutzer[p].passwort;
  91. gd = 1;
  92. }
  93. p++;
  94. }
  95. if(gd==1)
  96. {
  97. String Paswo;
  98. System.out.println("password: ");
  99. Paswo = input.next();
  100. if (Paswo.equals(password))
  101. {
  102. clearScreen();
  103. System.out.println("Du hast dich erfolgreich eingeloggt");
  104. deinprofil();
  105. }
  106. else
  107. {
  108. System.out.println("Falsches Passwort");
  109. einloggen();
  110. }
  111. }
  112. else
  113. {
  114. System.out.println("Falsches Passwort oder Nutzername");
  115. einloggen();
  116. }
  117. }
  118.  
  119. //Abfragen, ob es den Nutzername gibt
  120. boolean gibtsden(String name)
  121. {
  122. int k=0;
  123. while(k<anzahl)
  124. {
  125. if(nutzer[k].name ==name)
  126. {
  127. return true;
  128. }
  129. else
  130. {
  131. k++;
  132. }
  133. }
  134. return false;
  135. }
  136.  
  137.  
  138. //prüft ob die Personen befreundet sind
  139. public int befreundet()
  140. {
  141. int anzahlf;
  142. int k=0;
  143. anzahlf=0;
  144. while(username.equals(nutzer[k].name)==false && k<anzahl)
  145. {
  146. k ++;
  147. }
  148. int n=0;
  149. while(n<anzahl)
  150. if (befreundet[k][n] == 3){
  151. anzahlf ++;
  152. n++;
  153. }
  154. else {
  155. n++;
  156. }
  157. return anzahlf;
  158. }
  159.  
  160. //ein Konto wird erstellt
  161. void Kontoerstellen()
  162. {
  163. Scanner in = new Scanner(System.in);
  164. String uusername;
  165. String upassword;
  166.  
  167. System.out.println("username: ");
  168. uusername = in.next();
  169.  
  170. if(gibtsden(uusername)==true)
  171. {
  172. clearScreen();
  173. System.out.println("Nutzername bereits vergeben");
  174. Kontoerstellen();
  175. }
  176.  
  177. System.out.println("password: ");
  178. upassword = in.next();
  179.  
  180. KundeEinfügen(uusername,upassword);
  181. login();
  182. }
  183. public void KundeEinfügen(String nutzername, String Passwort)
  184. {
  185. nutzer[anzahl]=new Knoten(nutzername,Passwort,"Herzlich Willkommen im Chat");
  186. anzahl ++;
  187. }
  188.  
  189. //gibt die Anzahl offener Freundschaftsanfragen
  190. int anzahloffen()
  191. {
  192. int anzahlf;
  193. int k=0;
  194. anzahlf=0;
  195. while(username.equals(nutzer[k].name)==false && k<anzahl)
  196. {
  197. k ++;
  198. }
  199. //System.out.println("Offene Freundschaftsanfragen");
  200. int n=0;
  201. while(n<anzahl)
  202. if (befreundet[k][n] == 2){
  203. System.out.println(ConsoleColors.CYAN + nutzer[n].name + ConsoleColors.RESET);
  204. n++;
  205. anzahlf ++;
  206. }
  207. else {
  208. n++;
  209. }
  210. return anzahlf;
  211. }
  212.  
  213. void deinprofil()
  214. {
  215. int k = 0;
  216. while(username.equals(nutzer[k].name)==false && k<anzahl)
  217. {
  218. k ++;
  219. }
  220. System.out.println("herzlich Willkomenn in deinem Profil \n 1) Um dein Freunde Menü zu öffnen \n 2) Um das Nachrichten Menü zu öffnen \n 3) Um dich auszuloggen");
  221. Scanner in = new Scanner(System.in);
  222. switch(in.nextInt())
  223. {
  224. case 1:
  225. {
  226. clearScreen();
  227. System.out.println("Du hast "+befreundet()+" Freunde");
  228. System.out.println("Offene Freundschaftsanfragen: "+anzahloffen()+ " Stück \n \n 1) Schicke eine Freundschaftsanfrage an einen Nutzer \n 2) Freundschaftsanfrage annehmen \n 3) Freundschaftsanfrage ablehnen \n 4) Um ins Profil zurück zu kommen");
  229. switch(in.nextInt())
  230. {
  231. case 1:
  232. {
  233. System.out.println("Name eingen:");
  234. int g = 0;
  235. while(username.equals(nutzer[g].name)==false && g<anzahl)
  236. {
  237. g ++;
  238. }
  239. String nname;
  240. nname= in.next();
  241. int ks;
  242. ks = nummerzuname(nname);
  243. befreundet[ks][g]= 2;
  244. befreundet[g][ks]= 2;
  245. break;
  246.  
  247. }
  248. case 2:
  249. {
  250. Fannehmen();
  251. break;
  252. }
  253. case 3:
  254. {
  255. Fablehenen();
  256. break;
  257. }
  258. case 4:
  259. {
  260. deinprofil();
  261. break;
  262. }
  263. }
  264. }
  265. case 2:
  266. {
  267. clearScreen();
  268. System.out.println("Nachrichten: \n "+nutzer[k].nachricht+" \n \n Wollen sie eine Nachricht Senden? Dann geben sie 1 ein \n 2 Um eine Nachricht an alle Freunde zu schicken \n 3 Um ins Profil zurück zu kommen");
  269. switch(in.nextInt())
  270. {
  271. case 1:
  272. System.out.println("Name des Freundes eigeben");
  273. String name;
  274. name = in.next();
  275. System.out.println("Nachricht eingeben");
  276. String nachricht;
  277. nachricht = in.next();
  278. nachrichtsenden(name,nachricht);
  279. break;
  280. case 2:
  281. System.out.println("Nachricht eigeben:");
  282. String na;
  283. na = in.next();
  284. NachrichtanAlle(na);
  285. break;
  286. case 3:
  287. deinprofil();
  288. break;
  289. }
  290.  
  291. }
  292. case 3:
  293. {
  294. System.out.println(".");
  295. login();
  296. }
  297.  
  298. }
  299. }
  300. /*
  301. //zeigt das Profil eines Nutzers an
  302. void profil()
  303. {
  304. int k = 0;
  305. while(username.equals(nutzer[k].name)==false && k<anzahl)
  306. {
  307. k ++;
  308. }
  309. befreundet();
  310. System.out.println("Du hast "+befreundet()+" Freunde");
  311. System.out.println("Und "+anzahloffen()+ " offenen Freundschaftsanfragen");
  312. System.out.println("Nachrichten: "+nutzer[k].nachricht);
  313. System.out.println("Wollen sie eine Nachricht Senden? Dann geben sie 1 ein.");
  314. System.out.println("Mit 2) kannst du eine Freundschaftsanfrage schicken oder eine ablehen oder annehmen.");
  315. System.out.println("Mit 3) kannst du dich ausloggen.");
  316. Scanner in = new Scanner(System.in);
  317. switch(in.nextInt())
  318. {
  319. case 1:
  320. {
  321. System.out.println("1) Nachricht an eine bestimmte Person schicken \n 2) Nachricht an alle Freunde schicken.");
  322. switch(in.nextInt())
  323. {
  324. case 1:
  325. System.out.println("Name des Freundes eigeben");
  326. String name;
  327. name = in.next();
  328. System.out.println("Nachricht eingeben");
  329. String nachricht;
  330. nachricht = in.next();
  331. nachrichtsenden(name,nachricht);
  332. break;
  333. case 2:
  334. System.out.println("Nachricht eigeben:");
  335. String na;
  336. na = in.next();
  337. NachrichtanAlle(na);
  338. break;
  339. }
  340. }
  341. case 2:
  342. {
  343. switch(in.nextInt())
  344. {
  345. case 1:
  346. {
  347. int g = 0;
  348. while(username.equals(nutzer[g].name)==false && g<anzahl)
  349. {
  350. g ++;
  351. }
  352. String nname;
  353. nname= in.next();
  354. int ks;
  355. ks = nummerzuname(nname);
  356. befreundet[ks][g]= 2;
  357. befreundet[g][ks]= 2;
  358. break;
  359.  
  360. }
  361. case 2:
  362. {
  363. Fannehmen();
  364. break;
  365. }
  366. case 3:
  367. {
  368. Fablehenen();
  369. break;
  370. }
  371. }
  372. }
  373. case 3:
  374. {
  375. System.out.println(".");
  376. login();
  377. }
  378. }
  379. }
  380. */
  381. //nimmt die Freundschaftsanfrage an
  382. void Fannehmen()
  383. {
  384. int k = 0;
  385. while(username.equals(nutzer[k].name)==false && k<anzahl)
  386. {
  387. k ++;
  388. }
  389. String lname;
  390. Scanner in = new Scanner(System.in);
  391. System.out.println("Name eingeben...");
  392. lname = in.next();
  393. befreundet[k][nummerzuname(lname)] = 3;
  394. befreundet[nummerzuname(lname)][k] = 3;
  395. deinprofil();
  396.  
  397. }
  398.  
  399. //lehnt die Freundschaftsanfrage ab
  400. void Fablehenen()
  401. {
  402. int k = 0;
  403. while(username.equals(nutzer[k].name)==false && k<anzahl)
  404. {
  405. k ++;
  406. }
  407. String lname;
  408. Scanner in = new Scanner(System.in);
  409. System.out.println("Name eingeben...");
  410. lname = in.next();
  411. befreundet[k][nummerzuname(lname)] = 1;
  412. befreundet[nummerzuname(lname)][k] = 1;
  413. deinprofil();
  414. }
  415.  
  416. public int nummerzuname(String name){
  417. for (int i=0; i<anzahl; i++){
  418. if (name.equals(nutzer[i].name))
  419. { return i;
  420. }
  421. }
  422. return -1;
  423. }
  424.  
  425. //sendet eine Nachricht an alle Freund
  426. void nachrichtsenden(String typ,String nachricht)
  427. {
  428. int k = 0;
  429. while(username.equals(nutzer[k].name)==false && k<anzahl)
  430. {
  431. k ++;
  432. }
  433. if(befreundet[k][nummerzuname(typ)]==3)
  434. {
  435. String old;
  436. old = nutzer[nummerzuname(typ)].nachricht;
  437. nutzer[nummerzuname(typ)].nachricht = old+"\n"+ConsoleColors.RED+nutzer[k].name+": "+ConsoleColors.RESET+nachricht;
  438. }
  439. else
  440. {
  441. System.out.println("Du bist wohl nicht mit "+typ+" befreundet");
  442. }
  443. deinprofil();
  444. }
  445.  
  446. void NachrichtanAlle(String nachricht){
  447. int k = 0;
  448. while(username.equals(nutzer[k].name)==false && k<anzahl)
  449. {
  450. k ++;
  451. }
  452. int p=0;
  453. while(p<anzahl){
  454. if(befreundet[k][p]==3){
  455. String old;
  456. old = nutzer[p].nachricht;
  457. nutzer[p].nachricht = old+"\n"+ConsoleColors.BLUE+nutzer[k].name+": "+ConsoleColors.RESET+nachricht;
  458. p ++;
  459. }
  460. else
  461. {
  462. p++;
  463. }
  464. }
  465. deinprofil();
  466. }
  467.  
  468.  
  469.  
  470. public static void clearScreen() {
  471. System.out.print("\033[H\033[2J");
  472. System.out.flush();
  473. }
  474. public class ConsoleColors {
  475. // Reset
  476. public static final String RESET = "\033[0m"; // Text Reset
  477.  
  478. // Regular Colors
  479. public static final String BLACK = "\033[0;30m"; // BLACK
  480. public static final String RED = "\033[0;31m"; // RED
  481. public static final String GREEN = "\033[0;32m"; // GREEN
  482. public static final String YELLOW = "\033[0;33m"; // YELLOW
  483. public static final String BLUE = "\033[0;34m"; // BLUE
  484. public static final String PURPLE = "\033[0;35m"; // PURPLE
  485. public static final String CYAN = "\033[0;36m"; // CYAN
  486. public static final String WHITE = "\033[0;37m"; // WHITE
  487.  
  488. // Bold
  489. public static final String BLACK_BOLD = "\033[1;30m"; // BLACK
  490. public static final String RED_BOLD = "\033[1;31m"; // RED
  491. public static final String GREEN_BOLD = "\033[1;32m"; // GREEN
  492. public static final String YELLOW_BOLD = "\033[1;33m"; // YELLOW
  493. public static final String BLUE_BOLD = "\033[1;34m"; // BLUE
  494. public static final String PURPLE_BOLD = "\033[1;35m"; // PURPLE
  495. public static final String CYAN_BOLD = "\033[1;36m"; // CYAN
  496. public static final String WHITE_BOLD = "\033[1;37m"; // WHITE
  497.  
  498. // Underline
  499. public static final String BLACK_UNDERLINED = "\033[4;30m"; // BLACK
  500. public static final String RED_UNDERLINED = "\033[4;31m"; // RED
  501. public static final String GREEN_UNDERLINED = "\033[4;32m"; // GREEN
  502. public static final String YELLOW_UNDERLINED = "\033[4;33m"; // YELLOW
  503. public static final String BLUE_UNDERLINED = "\033[4;34m"; // BLUE
  504. public static final String PURPLE_UNDERLINED = "\033[4;35m"; // PURPLE
  505. public static final String CYAN_UNDERLINED = "\033[4;36m"; // CYAN
  506. public static final String WHITE_UNDERLINED = "\033[4;37m"; // WHITE
  507.  
  508. // Background
  509. public static final String BLACK_BACKGROUND = "\033[40m"; // BLACK
  510. public static final String RED_BACKGROUND = "\033[41m"; // RED
  511. public static final String GREEN_BACKGROUND = "\033[42m"; // GREEN
  512. public static final String YELLOW_BACKGROUND = "\033[43m"; // YELLOW
  513. public static final String BLUE_BACKGROUND = "\033[44m"; // BLUE
  514. public static final String PURPLE_BACKGROUND = "\033[45m"; // PURPLE
  515. public static final String CYAN_BACKGROUND = "\033[46m"; // CYAN
  516. public static final String WHITE_BACKGROUND = "\033[47m"; // WHITE
  517.  
  518. // High Intensity
  519. public static final String BLACK_BRIGHT = "\033[0;90m"; // BLACK
  520. public static final String RED_BRIGHT = "\033[0;91m"; // RED
  521. public static final String GREEN_BRIGHT = "\033[0;92m"; // GREEN
  522. public static final String YELLOW_BRIGHT = "\033[0;93m"; // YELLOW
  523. public static final String BLUE_BRIGHT = "\033[0;94m"; // BLUE
  524. public static final String PURPLE_BRIGHT = "\033[0;95m"; // PURPLE
  525. public static final String CYAN_BRIGHT = "\033[0;96m"; // CYAN
  526. public static final String WHITE_BRIGHT = "\033[0;97m"; // WHITE
  527.  
  528. // Bold High Intensity
  529. public static final String BLACK_BOLD_BRIGHT = "\033[1;90m"; // BLACK
  530. public static final String RED_BOLD_BRIGHT = "\033[1;91m"; // RED
  531. public static final String GREEN_BOLD_BRIGHT = "\033[1;92m"; // GREEN
  532. public static final String YELLOW_BOLD_BRIGHT = "\033[1;93m";// YELLOW
  533. public static final String BLUE_BOLD_BRIGHT = "\033[1;94m"; // BLUE
  534. public static final String PURPLE_BOLD_BRIGHT = "\033[1;95m";// PURPLE
  535. public static final String CYAN_BOLD_BRIGHT = "\033[1;96m"; // CYAN
  536. public static final String WHITE_BOLD_BRIGHT = "\033[1;97m"; // WHITE
  537.  
  538. // High Intensity backgrounds
  539. public static final String BLACK_BACKGROUND_BRIGHT = "\033[0;100m";// BLACK
  540. public static final String RED_BACKGROUND_BRIGHT = "\033[0;101m";// RED
  541. public static final String GREEN_BACKGROUND_BRIGHT = "\033[0;102m";// GREEN
  542. public static final String YELLOW_BACKGROUND_BRIGHT = "\033[0;103m";// YELLOW
  543. public static final String BLUE_BACKGROUND_BRIGHT = "\033[0;104m";// BLUE
  544. public static final String PURPLE_BACKGROUND_BRIGHT = "\033[0;105m"; // PURPLE
  545. public static final String CYAN_BACKGROUND_BRIGHT = "\033[0;106m"; // CYAN
  546. public static final String WHITE_BACKGROUND_BRIGHT = "\033[0;107m"; // WHITE
  547. }
  548. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement