Conway's Game of Life??? Header file: /**************************************************************************** ** $Id: //depot/qt/main/examples/life/life.h#2 $ ** ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. ** ** This file is part of an example program for Qt. This example ** program may be used, distributed and modified without limitation. ** *****************************************************************************/ #ifndef LIFE_H #define LIFE_H #include <qframe.h> class LifeWidget : public QFrame { Q_OBJECT public: LifeWidget( int s = 10, QWidget *parent = 0, const char *name = 0 ); void setPoint( int i, int j ); int maxCol() { return maxi; } int maxRow() { return maxj; } public slots: void nextGeneration(); void clear(); protected: virtual void paintEvent( QPaintEvent * ); virtual void mouseMoveEvent( QMouseEvent * ); virtual void mousePressEvent( QMouseEvent * ); virtual void resizeEvent( QResizeEvent * ); void mouseHandle( const QPoint &pos ); private: enum { MAXSIZE = 50, MINSIZE = 10, BORDER = 5 }; bool cells[2][MAXSIZE + 2][MAXSIZE + 2]; int current; int maxi, maxj; int pos2index( int x ) { return ( x - BORDER ) / SCALE + 1; } int index2pos( int i ) { return ( i - 1 ) * SCALE + BORDER; } int SCALE; }; #endif // LIFE_H Implementation: /**************************************************************************** ** $Id: //depot/qt/main/examples/life/life.cpp#2 $ ** ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. ** ** This file is part of an example program for Qt. This example ** program may be used, distributed and modified without limitation. ** *****************************************************************************/ #include "life.h" #include <qpainter.h> #include <qdrawutil.h> #include <qcheckbox.h> #include <qevent.h> #include <qapplication.h> // The main game of life widget LifeWidget::LifeWidget( int s, QWidget *parent, const char *name ) : QFrame( parent, name ) { SCALE = s; maxi = maxj = 50; setMinimumSize( MINSIZE * SCALE + 2 * BORDER, MINSIZE * SCALE + 2 * BORDER ); setMaximumSize( MAXSIZE * SCALE + 2 * BORDER, MAXSIZE * SCALE + 2 * BORDER ); setSizeIncrement( SCALE, SCALE); clear(); resize( maxi * SCALE + 2 * BORDER , maxj * SCALE + 2 * BORDER ); } void Main: /**************************************************************************** ** $Id: //depot/qt/main/examples/life/main.cpp#2 $ ** ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. ** ** This file is part of an example program for Qt. This example ** program may be used, distributed and modified without limitation. ** *****************************************************************************/ #include "lifedlg.h" #include < |
Publicité
Best OfActualités les plus luesSemaine
Mois
Année
Le Qt Developer Network au hasardIntroduction à Qt Quick pour les développeurs C++Le Qt Developer Network est un réseau de développeurs Qt anglophone, où ils peuvent partager leur expérience sur le framework. Lire l'article.
CommunautéRessources
Liens utilesContact
Qt dans le magazine |
Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. | Qt 2.3 | |
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD. | ||
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP ! |
Copyright © 2000-2012 - www.developpez.com