From 0ffaa1b7fc0af8df728154f0b6e8bf1b77555514 Mon Sep 17 00:00:00 2001 From: Michael Andreen Date: Fri, 12 Apr 2002 16:52:23 +0000 Subject: [PATCH] now distributes and shows captured roids.. --- bs/fleet.cpp | 9 +++++++-- bs/fleetview.cpp | 34 +++++++++++++++++++++++++++++++--- bs/ui/resourceview.ui | 15 ++++++++++----- bs/ui/resourceview.ui.h | 18 +++++++++++++++++- 4 files changed, 65 insertions(+), 11 deletions(-) diff --git a/bs/fleet.cpp b/bs/fleet.cpp index 8ca9c7e..545ffa2 100644 --- a/bs/fleet.cpp +++ b/bs/fleet.cpp @@ -529,8 +529,13 @@ void Fleet::addResource(std::string type, int number, int tick = 0) { int ticks = m_Resources[type].size(); + int latest = 0; + + if (ticks > 0) + latest = m_Resources[type][ticks - 1]; + for (int i = ticks; i <= tick; ++i) - m_Resources[type].push_back(number); + m_Resources[type].push_back(latest); m_Resources[type][tick] += number; } @@ -630,7 +635,7 @@ void Fleet::distributeCappedRoids(std::vector fleets, int tick = 0) int lost = totcapped * part; cerr << (*j)->name() << " gaining " << lost << " " << res << " since it's " << part * 100 << "% of the whole score, and it had : " << fl1 << " score last tick.. compared to fleet total of: " << score(0) << endl; - (*j)->setResource(res, (*j)->resource(res, tick - 1) + lost, tick); + (*j)->addResource(res, lost, tick); } } } diff --git a/bs/fleetview.cpp b/bs/fleetview.cpp index a261b93..7c6633b 100644 --- a/bs/fleetview.cpp +++ b/bs/fleetview.cpp @@ -236,12 +236,40 @@ void FleetView::slotViewTickRange(int min = -1, int max = -1) m_UnitsLostSurvivedView[(*i)]->setText(QString("%1").arg(after - before)); } + int lost; + int before; + int after; + + before = m_Fleet->resource(tr("metal").latin1(),m_iMinTick); + after = m_Fleet->resource(tr("metal").latin1(),m_iMaxTick); + lost = after - before; + m_ResourceView->setLines(tr("metal"),lost); + + before = m_Fleet->resource(tr("crystal").latin1(),m_iMinTick); + after = m_Fleet->resource(tr("crystal").latin1(),m_iMaxTick); + lost = after - before; + m_ResourceView->setLines(tr("crystal"),lost); + + before = m_Fleet->resource(tr("eonium").latin1(),m_iMinTick); + after = m_Fleet->resource(tr("eonium").latin1(),m_iMaxTick); + lost = after - before; + m_ResourceView->setLines(tr("eonium"),lost); + + before = m_Fleet->resource(tr("uninit").latin1(),m_iMinTick); + after = m_Fleet->resource(tr("uninit").latin1(),m_iMaxTick); + lost = after - before; + m_ResourceView->setLines(tr("uninit"),lost); + + before = m_Fleet->score(m_iMinTick); + after = m_Fleet->score(m_iMaxTick); + lost = after - before; + m_ResourceView->setLines(tr("score"),after); + m_ResourceView->setLines(tr("lost"),lost); + + Planet* pl; if ((pl = dynamic_cast(m_Fleet))) { - int lost; - int before; - int after; before = pl->roids(tr("metal").latin1(),m_iMinTick); after = pl->roids(tr("metal").latin1(),m_iMaxTick); diff --git a/bs/ui/resourceview.ui b/bs/ui/resourceview.ui index 9495a81..43438bd 100644 --- a/bs/ui/resourceview.ui +++ b/bs/ui/resourceview.ui @@ -9,7 +9,7 @@ 0 - 11 + 0 222 105 @@ -62,7 +62,7 @@ - EoniumLine + EoniumEdit NoFocus @@ -73,7 +73,7 @@ - CrystalLine + CrystalEdit NoFocus @@ -92,7 +92,7 @@ - UninitLine + UninitEdit NoFocus @@ -114,7 +114,7 @@ - MetalLine + MetalEdit NoFocus @@ -160,9 +160,14 @@ + + resourceview.ui.h + + setLines( QString type, int i ) + diff --git a/bs/ui/resourceview.ui.h b/bs/ui/resourceview.ui.h index a794cb3..5e8f9de 100644 --- a/bs/ui/resourceview.ui.h +++ b/bs/ui/resourceview.ui.h @@ -6,4 +6,20 @@ ** a constructor, and a destroy() slot in place of a destructor. *****************************************************************************/ -//test \ No newline at end of file +//test + +void ResourceView::setLines( QString type, int i ) +{ + if (type == tr("metal")) + MetalEdit->setText(QString("%1").arg(i)); + else if (type == tr("crystal")) + CrystalEdit->setText(QString("%1").arg(i)); + else if (type == tr("eonium")) + EoniumEdit->setText(QString("%1").arg(i)); + else if (type == tr("uninit")) + UninitEdit->setText(QString("%1").arg(i)); + else if (type == tr("score")) + ScoreEdit->setText(QString("%1").arg(i)); + else if (type == tr("lost")) + ScoreLostEdit->setText(QString("%1").arg(i)); +} \ No newline at end of file -- 2.39.2