gbgfgf 0 Opublikowano 18 września 2017 Udostępnij Opublikowano 18 września 2017 Czesc, mam pytanie. Jak zrobić int dla każdego gracza, na przykład każdy gracz ma pieniądze, a każdy gracz ma inną kwotę? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 insertt 39 Opublikowano 18 września 2017 Udostępnij Opublikowano 18 września 2017 robisz obiekt np. Gracz i tam trzymasz int lub jakąś mapke, w której kluczem będzie uuid a wartoscia bedzie Integer. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 598 Opublikowano 18 września 2017 Udostępnij Opublikowano 18 września 2017 (edytowane) Musisz stworzyć własny objekt (ktoś na pewno Ci to wytłumaczy). Kod będzie wyglądał tak: Klasa User: public class User { private int money = 0; public User(String name){ this.money = 0; } public int getMoney(){ return this.money; } public void setMoney(int i){ this.money = i; } } Klasa UserUtil: public class UserUtil { private static List<User> list = new ArrayList<User>(); public static void addUser(User user){ if(!list.contains(user)) list.add(user); } public static void removeUser(User user){ if(list.contains(user)) list.remove(user); } public static List<User> getList(){ return list; } public static User get(String name){ for(User user : UserUtil.getList()){ if(user.getName().equalsIgnoreCase(name)) return user; } return new User(name); } } Oczywiście musisz również stworzyć metodę: load() i save(), która będzie odpowiednio wczytywać i zapisywać dane. Teraz gdy chcesz wyświetlić czyjeś pieniądze robisz tak: Po 1. Gdy masz już dodanego Usera do Listy userów (UserUitl.addUser(sender.getName())); Robisz tak: User user = UserUtil.get(sender.getName()); I potem: user.getMoney() - zwraca pieniądze gracza. user.setMoney(500) - ustawia pieniadze gracza na 500. Edytowane 18 września 2017 przez KrejzolekPRO Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 gbgfgf 0 Opublikowano 18 września 2017 Autor Udostępnij Opublikowano 18 września 2017 31 minut temu, KrejzolekPRO napisał: Musisz stworzyć własny objekt (ktoś na pewno Ci to wytłumaczy). Kod będzie wyglądał tak: Klasa User: public class User { private int money = 0; public User(String name){ this.money = 0; } public int getMoney(){ return this.money; } public void setMoney(int i){ this.money = i; } } Klasa UserUtil: public class UserUtil { private static List<User> list = new ArrayList<User>(); public static void addUser(User user){ if(!list.contains(user)) list.add(user); } public static void removeUser(User user){ if(list.contains(user)) list.remove(user); } public static List<User> getList(){ return list; } public static User get(String name){ for(User user : UserUtil.getList()){ if(user.getName().equalsIgnoreCase(name)) return user; } return new User(name); } } Oczywiście musisz również stworzyć metodę: load() i save(), która będzie odpowiednio wczytywać i zapisywać dane. Teraz gdy chcesz wyświetlić czyjeś pieniądze robisz tak: Po 1. Gdy masz już dodanego Usera do Listy userów (UserUitl.addUser(sender.getName())); Robisz tak: User user = UserUtil.get(sender.getName()); I potem: user.getMoney() - zwraca pieniądze gracza. user.setMoney(500) - ustawia pieniadze gracza na 500. Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! W klasie util nie ma nic o getName ;p (fuck logic) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 GotoFinal 195 Opublikowano 18 września 2017 Udostępnij Opublikowano 18 września 2017 38 minut temu, KrejzolekPRO napisał: Musisz stworzyć własny objekt (ktoś na pewno Ci to wytłumaczy). Kod będzie wyglądał tak: Klasa User: public class User { private int money = 0; public User(String name){ this.money = 0; } public int getMoney(){ return this.money; } public void setMoney(int i){ this.money = i; } } Klasa UserUtil: public class UserUtil { private static List<User> list = new ArrayList<User>(); public static void addUser(User user){ if(!list.contains(user)) list.add(user); } public static void removeUser(User user){ if(list.contains(user)) list.remove(user); } public static List<User> getList(){ return list; } public static User get(String name){ for(User user : UserUtil.getList()){ if(user.getName().equalsIgnoreCase(name)) return user; } return new User(name); } } Oczywiście musisz również stworzyć metodę: load() i save(), która będzie odpowiednio wczytywać i zapisywać dane. Teraz gdy chcesz wyświetlić czyjeś pieniądze robisz tak: Po 1. Gdy masz już dodanego Usera do Listy userów (UserUitl.addUser(sender.getName())); Robisz tak: User user = UserUtil.get(sender.getName()); I potem: user.getMoney() - zwraca pieniądze gracza. user.setMoney(500) - ustawia pieniadze gracza na 500. słyszałeś kiedyś o hash mapach? po jakiego uja użyłeś tu listy, i po co ten getter listy... też bez sensu że statyczne Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 598 Opublikowano 18 września 2017 Udostępnij Opublikowano 18 września 2017 (edytowane) 3 minuty temu, GotoFinal napisał: słyszałeś kiedyś o hash mapach? po jakiego uja użyłeś tu listy, i po co ten getter listy... też bez sensu że statyczne No tak trochę nie potrzebne, dlaczego? Kopiowałem kod z mojego dropu, gdzie mam punkty kopania, poziom kopania turbodrop i jeszcze inne, a tutaj to usunąłem i dodałem mu monety, co racja to racja hashmapa się bardziej sprawdzi w tym przypadku. 11 minut temu, gbgfgf napisał: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! W klasie util nie ma nic o getName ;p (fuck logic) Jeszcze zapomniałem o: private String name; this.name = name; public String getName() { return this.name; } Edytowane 18 września 2017 przez KrejzolekPRO Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 gbgfgf 0 Opublikowano 18 września 2017 Autor Udostępnij Opublikowano 18 września 2017 9 minut temu, KrejzolekPRO napisał: No tak trochę nie potrzebne, dlaczego? Kopiowałem kod z mojego dropu, gdzie mam punkty kopania, poziom kopania turbodrop i jeszcze inne, a tutaj to usunąłem i dodałem mu monety, co racja to racja hashmapa się bardziej sprawdzi w tym przypadku. Jeszcze zapomniałem o: private String name; this.name = name; public String getName() { return this.name; } Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! :c Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 598 Opublikowano 18 września 2017 Udostępnij Opublikowano 18 września 2017 7 minut temu, gbgfgf napisał: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! Pokaż cały projekt łącznie z package'ami. Najlepiej daj PrintScreena. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 gbgfgf 0 Opublikowano 18 września 2017 Autor Udostępnij Opublikowano 18 września 2017 Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 598 Opublikowano 18 września 2017 Udostępnij Opublikowano 18 września 2017 (edytowane) 16 minut temu, gbgfgf napisał: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! hm.., a co się pojawia w podpowiedzi? Spróbuj: player.getName() Edytowane 18 września 2017 przez KrejzolekPRO Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 gbgfgf 0 Opublikowano 18 września 2017 Autor Udostępnij Opublikowano 18 września 2017 (edytowane) hm.., a co się pojawia w podpowiedzi? Spróbuj: player.getName() player.getName() nie pomogło podpowiedzi: Change metod 'addUser(User)' to 'addUser(String)' Create method 'addUser(String)' in type UserUtils Edytowane 18 września 2017 przez gbgfgf Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 598 Opublikowano 18 września 2017 Udostępnij Opublikowano 18 września 2017 (edytowane) 3 minuty temu, gbgfgf napisał: player.getName() nie pomogło podpowiedzi: Change metod 'addUser(User)' to 'addUser(String)' Create method 'addUser(String)' in type UserUtils Eh.. no bo nie stworzyłeś usera User user = UserUtil.get(sender.getName()); I potem dopiero dodajesz usera do userutil jako UserUtil.addUser(user); Edytowane 18 września 2017 przez KrejzolekPRO Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 gbgfgf 0 Opublikowano 18 września 2017 Autor Udostępnij Opublikowano 18 września 2017 (edytowane) 7 minut temu, KrejzolekPRO napisał: Eh.. no bo nie stworzyłeś usera User user = UserUtil.get(sender.getName()); I potem dopiero dodajesz usera do userutil jako UserUtil.addUser(user); Dziekii działa, a jak się dodaje pieniądze? Jak cos dodaje a nie ustawia. Edytowane 18 września 2017 przez gbgfgf Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 598 Opublikowano 18 września 2017 Udostępnij Opublikowano 18 września 2017 (edytowane) 18 minut temu, gbgfgf napisał: Dziekii działa, a jak się dodaje pieniądze? Jak cos dodaje a nie ustawia. Ustawiasz tak, że pobierasz najpierw jego i dodajesz: user.setMoney(user.getMoney()+ilosc); Tylko, że po wyłączeniu serwera te wartości się wyzerują, więc przy wyłączaniu musisz je zapisać, a przy starcie wczytać. Edytowane 18 września 2017 przez KrejzolekPRO Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 GotoFinal 195 Opublikowano 18 września 2017 Udostępnij Opublikowano 18 września 2017 jeżu, co tu się dzieje, ech, nie mam czasu by za dużo pisać więc tylko dodam 6 minut temu, KrejzolekPRO napisał: Ustawiasz tak, że pobierasz najpierw jego i dodajesz: user.addMoney(user.getMoney()+ilosc); Tylko, że po wyłączeniu serwera te wartości się wyzerują, więc przy wyłączaniu musisz je zapisać, a przy starcie wczytać. Tak się nie powinno robić, lepiej dodać metodę .addMoney/.subtractMoney tak by umożliwić potem dodanie różnej logiki, np wywalenia błędu kiedy ktoś chce zabrać więcej pieniędzy niż ktoś ma, lub zwracać wartość opisującą ile pieniędzy udało się zabrać/dodać insertt 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 598 Opublikowano 18 września 2017 Udostępnij Opublikowano 18 września 2017 1 minutę temu, GotoFinal napisał: jeżu, co tu się dzieje, ech, nie mam czasu by za dużo pisać więc tylko dodam Tak się nie powinno robić, lepiej dodać metodę .addMoney/.subtractMoney tak by umożliwić potem dodanie różnej logiki, np wywalenia błędu kiedy ktoś chce zabrać więcej pieniędzy niż ktoś ma, lub zwracać wartość opisującą ile pieniędzy udało się zabrać/dodać Co racja to racja, no więc op musi dodać do class'y User: public void addMoney(int i){ this.money = this.money+i; } I potem user.addMoney(ilosc); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 gbgfgf 0 Opublikowano 18 września 2017 Autor Udostępnij Opublikowano 18 września 2017 (edytowane) 56 minut temu, KrejzolekPRO napisał: Co racja to racja, no więc op musi dodać do class'y User: public void addMoney(int i){ this.money = this.money+i; } I potem user.addMoney(ilosc); Money podkreślone na czerwono ;p Juz naprawilem @KrejzolekPRO Jeszcze 2 pytania, jak odejmować te punkty, user.addMoney(-1)? czy inaczej? I czy if(user.getMoney() == 0) będzie działac? Edytowane 18 września 2017 przez gbgfgf AAA Juz znam blad, wkleiłem to w UserUtils Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 598 Opublikowano 18 września 2017 Udostępnij Opublikowano 18 września 2017 (edytowane) Godzinę temu, gbgfgf napisał: Money podkreślone na czerwono ;p Juz naprawilem @KrejzolekPRO Jeszcze 2 pytania, jak odejmować te punkty, user.addMoney(-1)? czy inaczej? I czy if(user.getMoney() == 0) będzie działac? Stwórz sobie własną metodę od odejmowania, analogicznie do dodawania. Tak będzie działać. To tak jakby if(int == int)? Edytowane 18 września 2017 przez KrejzolekPRO Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 gbgfgf 0 Opublikowano 18 września 2017 Autor Udostępnij Opublikowano 18 września 2017 Teraz, KrejzolekPRO napisał: Stwórz sobie własną metodę od odejmowania, analogicznie do dodawania. Ok, a te if(user.getMoney() -- 0){ bedzie dzialac? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 598 Opublikowano 18 września 2017 Udostępnij Opublikowano 18 września 2017 Teraz, gbgfgf napisał: Ok, a te if(user.getMoney() -- 0){ bedzie dzialac? No jak to ma działać? if(int odjąć int)? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 gbgfgf 0 Opublikowano 18 września 2017 Autor Udostępnij Opublikowano 18 września 2017 Teraz, KrejzolekPRO napisał: No jak to ma działać? if(int odjąć int)? No a if(user.getMoney() == 0){ bedzie dzialac? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
gbgfgf 0
Czesc, mam pytanie. Jak zrobić int dla każdego gracza, na przykład każdy gracz ma pieniądze, a każdy gracz ma inną kwotę?
Odnośnik do komentarza
Udostępnij na innych stronach
31 odpowiedzi na to pytanie
Rekomendowane odpowiedzi