source: java-rpg-server/ProcessingThread.java@ 5debbac

Last change on this file since 5debbac was 057edef, checked in by dportnoy <dmp1488@…>, 17 years ago

[svn r8]

  • Property mode set to 100644
File size: 1.5 KB
RevLine 
[057edef]1import java.util.*;
2
3public class ProcessingThread extends Thread {
4 LostHavenServer server;
5
6 public ProcessingThread(LostHavenServer main) {
7 super("ProcessingThread");
8 server = main;
9 }
10
11 public void run() {
12 while(server.running) {
13 updateWorld();
14 //sendInfo();
15 try {
16 Thread.sleep(1);
17 }catch(InterruptedException ie) {
18 ie.printStackTrace();
19 }
20 }
21 }
22
23 private void updateWorld() {
24 Iterator<String> iter = server.orderedOnline.iterator();
25 Player p;
26 Point loc, target;
27
28 while(iter.hasNext()) {
29 p = server.registered.get(iter.next());
30 loc = p.getLoc();
31 target = p.getTarget();
32
33 //if((System.currentTimeMillis()-p.getLastMoved())>=10) {
34 if(Point.dist(loc, target) <= p.getSpeed())
35 p.setLoc(target);
36 else {
37 int xChange = new Double(p.getSpeed()*(System.currentTimeMillis()-p.getLastMoved())*(target.getX()-loc.getX())/Point.dist(loc, target)/20).intValue();
38 int yChange = new Double(p.getSpeed()*(System.currentTimeMillis()-p.getLastMoved())*(target.getY()-loc.getY())/Point.dist(loc, target)/20).intValue();
39
40 p.setLoc(new Point(p.getLoc().getX()+xChange, p.getLoc().getY()+yChange));
41 }
42 p.setLastMoved(System.currentTimeMillis());
43 server.sendAll(MessageType.Movement, p.getName()+" "+p.getLoc().toString());
44 //}
45 }
46 }
47}
Note: See TracBrowser for help on using the repository browser.