Beispiel #1
0
int main(int argc, char * argv[]) {
    
    srand((unsigned)time(NULL));
    
    for (int i = 0; i < PIECES_SIZE; i++) {
        Piece piece = { .pieceID = i,
                        .x_Location = rand()%SCREEN_WIDTH,
                        .y_Location = rand()%SCREEN_HEIGHT,
                        .size = PIECE_LENGTH};
        pieces[i] = piece;
    }
    MakeConnections();
    
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    
    glutInitWindowSize(SCREEN_WIDTH, SCREEN_HEIGHT);
    glutInitWindowPosition((1920-SCREEN_WIDTH)/2, 0);
    glutCreateWindow("Jigsaw");
    
    glutDisplayFunc(Render);
    glutMouseFunc(MouseListener);
    glutPassiveMotionFunc(MousePosition);
    glutKeyboardFunc(KeyboardListener);
    glutReshapeFunc(WindowResize);
    
    glClearColor(1.0, 1.0, 1.0, 0.0);
    glColor3f(0.0f, 0.0f, 0.0f);
    glPointSize(1.0);
    
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glViewport(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
    gluOrtho2D(0, SCREEN_WIDTH, 0, SCREEN_HEIGHT);
    
    glutMainLoop();
    
    return 0;
}
Beispiel #2
0
//Осторожно -- Ростыль
//    (__)_(__)
//       | |
//       | |
//       | |
//       | |
//       \I/
QLoozer::QLoozer(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::QLoozer)
{
    ui->setupUi(this);

    ui->studentsTableWidget->setShowGrid(true);
    ui->studentsTableWidget->setColumnCount(4);
    ui->studentsTableWidget->horizontalHeader()->setResizeMode(1, QHeaderView::Stretch);
    ui->studentsTableWidget->setColumnWidth(0,14);
    ui->studentsTableWidget->setColumnWidth(2,42);
    ui->studentsTableWidget->setColumnWidth(3,32);

    headerList << tr("n") << tr("Names") << tr("Bonus") << tr("Stat");
    ui->studentsTableWidget->setHorizontalHeaderLabels(headerList);
    MakeConnections();

    QLoozerLuaAPI lAPI;
 //   QObject::connect(QLoozerLuaAPI::getInstance(),SIGNAL(SendLooserInfo(QString,int,int)),this,SLOT(AddStudentRow(QString,int,int)));


}
Beispiel #3
0
void MakeConnections( lua_State* L, CUtlVector<Border*> &borders, Node *node )
{
	if( !node ) return;

	static const unsigned char f_no = 0x01;
	static const unsigned char f_ne = 0x02;
	static const unsigned char f_ea = 0x04;
	static const unsigned char f_se = 0x08;
	static const unsigned char f_so = 0x10;
	static const unsigned char f_sw = 0x20;
	static const unsigned char f_we = 0x40;
	static const unsigned char f_nw = 0x80;
	unsigned char borderflags = 0;
	int empire = (int)(node->GetScoreF());
	if( empire <= 0 ) return;

	if( IsTerritory(node, NORTH     , empire) ) borderflags |= f_no;
	if( IsTerritory(node, NORTHEAST , empire) ) borderflags |= f_ne;
	if( IsTerritory(node, EAST      , empire) ) borderflags |= f_ea;
	if( IsTerritory(node, SOUTHEAST , empire) ) borderflags |= f_se;
	if( IsTerritory(node, SOUTH     , empire) ) borderflags |= f_so;
	if( IsTerritory(node, SOUTHWEST , empire) ) borderflags |= f_sw;
	if( IsTerritory(node, WEST      , empire) ) borderflags |= f_we;
	if( IsTerritory(node, NORTHWEST , empire) ) borderflags |= f_nw;
	//flip the bits
	borderflags = ~borderflags;
		
	//NOTE: all connections must be clockwise around the territory
		
	///////////////// 90 deg corners
	if( (borderflags & (f_no | f_ne | f_ea | f_se | f_so | f_we | f_nw)) == (f_se | f_so | f_we | f_nw) )
	{
		CONNECT( EAST, NORTH );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_sw | f_we | f_nw)) == (f_ne | f_ea | f_so | f_sw) )
	{
		CONNECT( NORTH, WEST );
	}
	else if( (borderflags & (f_no | f_ea | f_se | f_so | f_sw | f_we | f_nw)) == (f_no | f_ea | f_se | f_nw) )
	{
		CONNECT( WEST, SOUTH );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_se | f_so | f_sw | f_we)) == (f_no | f_ne | f_sw | f_we) )
	{
		CONNECT( SOUTH, EAST );
	}
	/////////////////// bend - bend (STRAIGHT)
	else if( (borderflags & (f_no | f_ea | f_se | f_so | f_we | f_nw)) == (f_no | f_ea) )
	{
		CONNECT( NORTHWEST, SOUTHEAST );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_sw | f_we)) == (f_no | f_we) )
	{
		CONNECT( SOUTHWEST, NORTHEAST );
	}
	else if( (borderflags & (f_no | f_ea | f_se | f_so | f_we | f_nw)) == (f_so | f_we) )
	{
		CONNECT( SOUTHEAST, NORTHWEST );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_sw | f_we)) == (f_ea | f_so) )
	{
		CONNECT( NORTHEAST, SOUTHWEST );
	}
	/////////////////// bend - bend (CONCAVE)
	else if( (borderflags & (f_no | f_ea | f_se | f_so | f_sw | f_we)) == (f_no | f_ea | f_we) )
	{
		CONNECT( SOUTHWEST, SOUTHEAST );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_se | f_so | f_we)) == (f_no | f_so | f_we) )
	{
		CONNECT( SOUTHEAST, NORTHEAST );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_we | f_nw)) == (f_ea | f_so | f_we) )
	{
		CONNECT( NORTHEAST, NORTHWEST );
	}
	else if( (borderflags & (f_no | f_ea | f_so | f_sw | f_we | f_nw)) == (f_no | f_ea | f_so) )
	{
		CONNECT( NORTHWEST, SOUTHWEST );
	}
	/////////////////// straight - straight (STRAIGHT)
	else if( (borderflags & (f_no | f_ne | f_ea | f_se | f_so | f_we)) == (f_ne | f_ea | f_se) )
	{
		CONNECT( NORTH, SOUTH );
	}
	else if( (borderflags & (f_no | f_ea | f_se | f_so | f_sw | f_we)) == (f_se | f_so | f_sw) )
	{
		CONNECT( EAST, WEST );
	}
	else if( (borderflags & (f_no | f_we | f_so | f_sw | f_we | f_nw)) == (f_sw | f_we | f_nw) )
	{
		CONNECT( SOUTH, NORTH );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_we | f_nw)) == (f_no | f_ne | f_nw) )
	{
		CONNECT( WEST, EAST );
	}
	//////////////////
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_we | f_nw)) == (f_no | f_ne) )
	{
		CONNECT( NORTHWEST, EAST );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_se | f_so | f_we)) == (f_ne | f_ea) )
	{
		CONNECT( NORTH, SOUTHEAST );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_se | f_so | f_we)) == (f_ea | f_se) )
	{
		CONNECT( NORTHEAST, SOUTH );
	}
	else if( (borderflags & (f_no | f_ea | f_se | f_so | f_sw | f_we)) == (f_se | f_so) )
	{
		CONNECT( EAST, SOUTHWEST );
	}
	else if( (borderflags & (f_no | f_ea | f_se | f_so | f_sw | f_we)) == (f_so | f_sw) )
	{
		CONNECT( SOUTHEAST, WEST );
	}
	else if( (borderflags & (f_no | f_ea | f_so | f_sw | f_we | f_nw)) == (f_sw | f_we) )
	{
		CONNECT( SOUTH, NORTHWEST );
	}
	else if( (borderflags & (f_no | f_ea | f_so | f_sw | f_we | f_nw)) == (f_we | f_nw) )
	{
		CONNECT( SOUTHWEST, NORTH );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_we | f_nw)) == (f_no | f_nw) )
	{
		CONNECT( WEST, NORTHEAST );
	}
	////////////////////////// straight - bend (CONCAVE)
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_sw | f_we)) == (f_ne | f_ea | f_so) )
	{
		CONNECT( NORTH, SOUTHWEST );
	}
	else if( (borderflags & (f_no | f_ea | f_so | f_sw | f_we | f_nw)) == (f_no | f_ea | f_nw) )
	{
		CONNECT( WEST, SOUTHEAST );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_sw | f_we)) == (f_no | f_sw | f_we) )
	{
		CONNECT( SOUTH, NORTHEAST );
	}
	else if( (borderflags & (f_no | f_ea | f_se | f_so | f_we | f_nw)) == (f_se | f_so | f_we) )
	{
		CONNECT( EAST, NORTHWEST );
	}
	////////////////////////// bend - straight (CONCAVE)
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_sw | f_we)) == (f_no | f_ne | f_we) )
	{
		CONNECT( SOUTHWEST, EAST );
	}
	else if( (borderflags & (f_no | f_ea | f_se | f_so | f_we | f_nw)) == (f_so | f_we | f_nw) )
	{
		CONNECT( SOUTHEAST, NORTH );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_sw | f_we)) == (f_ea | f_so | f_sw) )
	{
		CONNECT( NORTHEAST, WEST );
	}
	else if( (borderflags & (f_no | f_ea | f_se | f_so | f_we | f_nw)) == (f_no | f_ea | f_se) )
	{
		CONNECT( NORTHWEST, SOUTH );
	}
	/////////////////// bend - bend (CONVEX)
	else if( (borderflags & (f_no | f_ea | f_se | f_so | f_sw | f_we)) == (f_so) )
	{
		CONNECT( SOUTHEAST, SOUTHWEST );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_se | f_so | f_we)) == (f_ea) )
	{
		CONNECT( NORTHEAST, SOUTHEAST );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_we | f_nw)) == (f_no) )
	{
		CONNECT( NORTHWEST, NORTHEAST );
	}
	else if( (borderflags & (f_no | f_ea | f_so | f_sw | f_we | f_nw)) == (f_we) )
	{
		CONNECT( SOUTHWEST, NORTHWEST );
	}
	/////////////////// bend - straight (TRIANGLE)
	else if( (borderflags & (f_no | f_ea | f_se | f_so | f_sw | f_we)) == (f_no | f_ea | f_se | f_we) )
	{
		CONNECT( SOUTHWEST, SOUTH );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_se | f_so | f_we)) == (f_no | f_ne | f_so | f_we) )
	{
		CONNECT( SOUTHEAST, EAST );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_we | f_nw)) == (f_ea | f_so | f_we | f_nw) )
	{
		CONNECT( NORTHEAST, NORTH );
	}
	else if( (borderflags & (f_no | f_ea | f_so | f_sw | f_we | f_nw)) == (f_no | f_ea | f_so | f_sw) )
	{
		CONNECT( NORTHWEST, WEST );
	}
	/////////////////// straight - bend (TRIANGLE)
	else if( (borderflags & (f_no | f_ea | f_se | f_so | f_sw | f_we)) == (f_no | f_ea | f_sw | f_we) )
	{
		CONNECT( SOUTH, SOUTHEAST );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_se | f_so | f_we)) == (f_no | f_se | f_so | f_we) )
	{
		CONNECT( EAST, NORTHEAST );
	}
	else if( (borderflags & (f_no | f_ne | f_ea | f_so | f_we | f_nw)) == (f_ne | f_ea | f_so | f_we) )
	{
		CONNECT( NORTH, NORTHWEST );
	}
	else if( (borderflags & (f_no | f_ea | f_so | f_sw | f_we | f_nw)) == (f_no | f_ea | f_so | f_nw) )
	{
		CONNECT( WEST, SOUTHWEST );
	}
	////////////////// RARE SUPER CASE
	else if( (borderflags & (f_no | f_ea | f_so | f_we )) == (f_no | f_so) )
	{
		node->SetStatus( NULL, 0, 0 );
		MakeConnections( L, borders, node->GetConnectedNode( NORTHEAST ) );
		MakeConnections( L, borders, node->GetConnectedNode( EAST ) );
		MakeConnections( L, borders, node->GetConnectedNode( SOUTHEAST ) );
		MakeConnections( L, borders, node->GetConnectedNode( SOUTHWEST ) );
		MakeConnections( L, borders, node->GetConnectedNode( WEST ) );
		MakeConnections( L, borders, node->GetConnectedNode( NORTHWEST ) );
	}
	else if( (borderflags & (f_no | f_ea | f_so | f_we )) == (f_ea | f_we) )
	{
		node->SetStatus( NULL, 0, 0 );
		MakeConnections( L, borders, node->GetConnectedNode( NORTHEAST ) );
		MakeConnections( L, borders, node->GetConnectedNode( NORTH ) );
		MakeConnections( L, borders, node->GetConnectedNode( SOUTHEAST ) );
		MakeConnections( L, borders, node->GetConnectedNode( SOUTHWEST ) );
		MakeConnections( L, borders, node->GetConnectedNode( SOUTH ) );
		MakeConnections( L, borders, node->GetConnectedNode( NORTHWEST ) );
	}
}
Beispiel #4
0
FlyLinks::FlyLinks(QLabel *parent):
    QObject(parent),m_pObjLabel(parent),m_prevTreeItem(NULL){
    m_pObjPopup = new QTreeWidget(parent);
    MakeConnections();
    MakePopupVisible(false);
}