Subversion Repositories QTron

Compare Revisions

Ignore whitespace Rev 35 → Rev 32

/bike.h
9,13 → 9,10
#include <QHostAddress>
#include <QThread>
#include <cmath>
#include <time.h>
#include <stdio.h>
#include <pthread.h>
 
using namespace std;
 
class Bike : public QObject
class Bike : public QThread
{
Q_OBJECT
 
22,7 → 19,7
public:
Bike(QTcpSocket *sock, int i);
void draw(QPainter *painter,QList<Bike *> bikes);
void run();
void run(QList<Bike *> bikes);
bool hasCollided(QList<Bike *> bikes);
void setText(QString text);
void reset();
38,7 → 35,6
int id;
bool isDisconnected;
bool hasHadGo;
QList<Bike *> bikes;
QColor colour;
bool collided;
float abpool;
/mainwindow.h
8,7 → 8,6
#include <QTimer>
#include <QGLWidget>
 
 
#include "bike.h"
 
class MainWindow : public QGLWidget
/bike.cpp
103,7 → 103,7
}
}
 
void Bike::run()
void Bike::run(QList<Bike *> bikes)
{
for (int i = 0; i < bikes.count(); i++)
{
163,10 → 163,6
}
}
hasHadGo = true;
 
time_t result = time(NULL);
cout << result << ": Recieved next move from " << name.toStdString().c_str() << endl;
pthread_exit(NULL);
}
 
int sign(int x){
/mainwindow.cpp
37,12 → 37,6
}
}
 
void *runtherun(void *bike){
Bike *realbike = (Bike *)bike;
realbike->run();
pthread_exit(NULL);
}
 
void MainWindow::paintEvent(QPaintEvent *e)
{
if (suddenDeath)
49,7 → 43,7
{
for (int i = 0; i < bikes.count(); i++)
{
bikes[i]->speed *= 1.01;
bikes[i]->speed += 0.02;
}
}
 
69,15 → 63,12
 
if (ready)
{
cout << ":: Sent move request..." << endl;
pthread_t threads[bikes.count()];
for (int i = 0; i < bikes.count(); i++)
{
if (bikes[i]->show)
{
bikes[i]->hasHadGo = false;
bikes[i]->bikes = bikes;
pthread_create(&threads[i],NULL,runtherun,(void *)bikes[i]);
bikes[i]->run(bikes);
}
}
Bike *bike;
/main.cpp
7,5 → 7,4
MainWindow w;
w.show();
return a.exec();
pthread_exit(NULL);
}