void KBBLevelConfigurationPreview::preview(int balls, int columns, int rows) { m_blackbox->setSize(columns, rows); scene()->setSceneRect(0, 0, columns*KBBScalableGraphicWidget::RATIO + 2*KBBScalableGraphicWidget::BORDER_SIZE, rows*KBBScalableGraphicWidget::RATIO + 2*KBBScalableGraphicWidget::BORDER_SIZE); // Show balls on the black box while (m_balls.count()>0) { delete m_balls.last(); m_balls.removeLast(); } QList<int> ballPos; KRandomSequence random; random.setSeed(0); int boxPos; KBBGraphicsItem* item; for (int i=0;i<balls;i++) { do { boxPos = random.getLong(columns*rows); } while (ballPos.contains(boxPos)); item = new KBBGraphicsItem(KBBScalableGraphicWidget::playerBall, scene(), m_themeManager); item->setPos(KBBScalableGraphicWidget::BORDER_SIZE + KBBScalableGraphicWidget::RATIO*(boxPos % columns), KBBScalableGraphicWidget::BORDER_SIZE + KBBScalableGraphicWidget::RATIO*(boxPos / columns)); ballPos.append(boxPos); m_balls.append(item); } resizeEvent(0); }
int main(int argc, char *argv[]) { KApplication a(argc, argv, "krandomsequencetest"); long seed; KRandomSequence seq; seed = 2; seq.setSeed(seed);printf("Seed = %4ld :", seed); for(int i = 0; i < 20; i++) printf("%3ld ", seq.getLong(100)); printf("\n"); seed = 0; seq.setSeed(seed);printf("Seed = %4ld :", seed); for(int i = 0; i < 20; i++) printf("%3ld ", seq.getLong(100)); printf("\n"); seed = 0; seq.setSeed(seed);printf("Seed = %4ld :", seed); for(int i = 0; i < 20; i++) printf("%3ld ", seq.getLong(100)); printf("\n"); seed = 2; seq.setSeed(seed);printf("Seed = %4ld :", seed); for(int i = 0; i < 20; i++) printf("%3ld ", seq.getLong(100)); seq.setSeed(kapp->random()); QPtrList<QString> list; list.append(new QString("A")); list.append(new QString("B")); list.append(new QString("C")); list.append(new QString("D")); list.append(new QString("E")); list.append(new QString("F")); list.append(new QString("G")); for(QString *str = list.first(); str; str = list.next()) printf("%s", str->latin1()); printf("\n\n"); seq.randomize(&list); for(QString *str = list.first(); str; str = list.next()) printf("%s", str->latin1()); printf("\n\n"); seq.randomize(&list); for(QString *str = list.first(); str; str = list.next()) printf("%s", str->latin1()); printf("\n\n"); seq.randomize(&list); for(QString *str = list.first(); str; str = list.next()) printf("%s", str->latin1()); printf("\n\n"); printf("\n"); }