-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
62 lines (49 loc) · 1.64 KB
/
Copy pathmain.cpp
File metadata and controls
62 lines (49 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <QtGui>
#include <QTimer>
#include <QDebug>
#include "player.h"
#include "scene.h"
#include "mainwindow.h"
#include "connection.h"
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QString nickname;
QString serverHost;
QString serverPort;
QString localPort;
QString trackImageFileName;
QString trackDataFileName;
QStringList cmdline_args = QCoreApplication::arguments();
if(cmdline_args.length() != 7) {
qDebug("Usage :");
qDebug("program path/to/track_bitmap.file path/to/track_dat.file nick serverHost serverPort localPort");
exit(-1);
} else {
trackImageFileName = cmdline_args[1];
trackDataFileName = cmdline_args[2];
nickname = cmdline_args[3];
serverHost = cmdline_args[4];
serverPort = cmdline_args[5];
localPort = cmdline_args[6];
}
connection *conn = new connection(serverHost, serverPort.toInt(), localPort.toInt());
if(!conn->bind()) {
qDebug("Cannot connect to server");
exit(-1);
}
player *localPlayer = new player(nickname);
conn->loginPlayer(localPlayer);
mainwindow *main = new mainwindow();
conn->setParent(main);
main->putPlayerOnScene(localPlayer,true);
main->setTrackInfo(trackImageFileName,trackDataFileName);
main->show();
QTimer timer;
QObject::connect(&timer, SIGNAL(timeout()), main, SLOT(advance()));
QObject::connect(&timer, SIGNAL(timeout()), conn, SLOT(sendDatagram()));
//QObject::connect(&timer, SIGNAL(timeout()), main, SLOT(movePlayer()));
timer.start(1000 / 33);
//timer.start(1000);
return app.exec();
}