diff -Nru bovo-15.12.3/ai/ai.cc bovo-16.04.3/ai/ai.cc --- bovo-15.12.3/ai/ai.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/ai.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/ai/aifactory.cc bovo-16.04.3/ai/aifactory.cc --- bovo-15.12.3/ai/aifactory.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/aifactory.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2009 Pelladi Gabor * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,8 +24,8 @@ * @file aifactory.cc implementing the AiFactory class */ -#include "ai.h" #include "aifactory.h" +#include "ai.h" #include "aron/aiaron.h" #include "gabor/aigabor.h" diff -Nru bovo-15.12.3/ai/aifactory.h bovo-16.04.3/ai/aifactory.h --- bovo-15.12.3/ai/aifactory.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/aifactory.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2009 Pelladi Gabor * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/ai/ai.h bovo-16.04.3/ai/ai.h --- bovo-15.12.3/ai/ai.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/ai.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/ai/aron/aiaron.cc bovo-16.04.3/ai/aron/aiaron.cc --- bovo-15.12.3/ai/aron/aiaron.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/aron/aiaron.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/ai/aron/aiaron.h bovo-16.04.3/ai/aron/aiaron.h --- bovo-15.12.3/ai/aron/aiaron.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/aron/aiaron.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/ai/aron/aiboard.cc bovo-16.04.3/ai/aron/aiboard.cc --- bovo-15.12.3/ai/aron/aiboard.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/aron/aiboard.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -81,9 +81,9 @@ Coord AiBoard::move() { if (m_cleanBoard) { - srand(static_cast(time(0))); - usi randX = rand()%(m_dimension->width()/3) + m_dimension->width()/3; - usi randY = rand()%(m_dimension->height()/3) + m_dimension->height()/3; + qsrand(static_cast(time(0))); + usi randX = qrand()%(m_dimension->width()/3) + m_dimension->width()/3; + usi randY = qrand()%(m_dimension->height()/3) + m_dimension->height()/3; return Coord(randX, randY); } for (usi x = 0; x < m_dimension->width(); ++x) { diff -Nru bovo-15.12.3/ai/aron/aiboard.h bovo-16.04.3/ai/aron/aiboard.h --- bovo-15.12.3/ai/aron/aiboard.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/aron/aiboard.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/ai/aron/aisquare.h bovo-16.04.3/ai/aron/aisquare.h --- bovo-15.12.3/ai/aron/aisquare.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/aron/aisquare.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/ai/gabor/aigabor.cc bovo-16.04.3/ai/gabor/aigabor.cc --- bovo-15.12.3/ai/gabor/aigabor.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/gabor/aigabor.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2009 Pelladi Gabor * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,23 +20,25 @@ ********************************************************************/ -/** - * @file aigabor.cc implementing the AiGabor class - */ - -#include -#include #include "aigabor.h" #include "coord.h" #include "dimension.h" #include "move.h" +#include +#include +#include + using namespace bovo; /** namespace for AI stuff */ namespace ai { +/** + * @file aigabor.cc implementing the AiGabor class + */ + AiGabor::AiGabor(const Dimension& dimension, KgDifficultyLevel::StandardLevel skill, Player player) : m_player(player), m_minThink(200) { m_ai = new AiInterface(); diff -Nru bovo-15.12.3/ai/gabor/aigabor.h bovo-16.04.3/ai/gabor/aigabor.h --- bovo-15.12.3/ai/gabor/aigabor.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/gabor/aigabor.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2009 Pelladi Gabor * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/ai/gabor/ai_impl.cpp bovo-16.04.3/ai/gabor/ai_impl.cpp --- bovo-15.12.3/ai/gabor/ai_impl.cpp 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/gabor/ai_impl.cpp 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2009 Pelladi Gabor * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,16 +20,16 @@ ********************************************************************/ +#include "ai_impl.h" +#include "node.h" +#include "standing.h" + #include #include #include #include #include -#include "ai_impl.h" -#include "node.h" -#include "standing.h" - // hash table static NodeHashData hashData[nodeHashSize]; @@ -45,7 +45,7 @@ { if (!rand_inited) { rand_inited = true; - srand((unsigned int) time(NULL)); + qsrand((unsigned int) time(NULL)); } memset(hashData, 0, sizeof(hashData)); } @@ -253,15 +253,15 @@ pos_T x, y; x = table_size_x / 2; y = table_size_y / 2; - x += rand() % 5 - 2; - y += rand() % 5 - 2; + x += qrand() % 5 - 2; + y += qrand() % 5 - 2; while (rememberedStanding.table[x][y]) x++; return Field(x, y); } else if (rememberedStanding.stepCount == 1) { pos_T x, y; x = rememberedStanding.lastx; y = rememberedStanding.lasty; - int r = rand() % 100; + int r = qrand() % 100; if (r >= 20) { if (x < table_size_x / 2) { x++; @@ -291,19 +291,19 @@ dy = (int) y1 - (int) y2; if (-1 <= dx && dx <= 1 && -1 <= dy && dy <= 1) { if (dx == 0) { - return Field((int) x1 + (rand() % 2) * 2 - 1, (int) y1 + rand() % 3 - 1); + return Field((int) x1 + (qrand() % 2) * 2 - 1, (int) y1 + qrand() % 3 - 1); } if (dy == 0) { - return Field((int) x1 + rand() % 3 - 1, (int) y1 + (rand() % 2) * 2 - 1); + return Field((int) x1 + qrand() % 3 - 1, (int) y1 + (qrand() % 2) * 2 - 1); } - if (rand() % 2) { - if (rand() % 2) { + if (qrand() % 2) { + if (qrand() % 2) { return Field((int) x1 + dx, y1); } else { return Field(x1, (int) y1 + dy); } } else { - if (rand() % 2) { + if (qrand() % 2) { return Field((int) x1 - dx, (int) y1 + dy); } else { return Field((int) x1 + dx, (int) y1 - dy); diff -Nru bovo-15.12.3/ai/gabor/ai_interface.cpp bovo-16.04.3/ai/gabor/ai_interface.cpp --- bovo-15.12.3/ai/gabor/ai_interface.cpp 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/gabor/ai_interface.cpp 2016-03-08 17:20:36.000000000 +0000 @@ -20,11 +20,11 @@ ********************************************************************/ -#include - #include "ai_interface.h" #include "ai_impl.h" +#include + AiInterface::AiInterface() { aiImpl = new AiImpl(); } diff -Nru bovo-15.12.3/ai/gabor/node.cpp bovo-16.04.3/ai/gabor/node.cpp --- bovo-15.12.3/ai/gabor/node.cpp 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/gabor/node.cpp 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2009 Pelladi Gabor * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,13 +20,13 @@ ********************************************************************/ -#include -#include - -#include "ai_impl.h" #include "node.h" +#include "ai_impl.h" #include "standing.h" +#include +#include + Node::Node(Standing* _standing, AiImpl* ai): standing(_standing), parent(NULL), child(NULL), depth(0), diff -Nru bovo-15.12.3/ai/gabor/node.h bovo-16.04.3/ai/gabor/node.h --- bovo-15.12.3/ai/gabor/node.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/gabor/node.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2009 Pelladi Gabor * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/ai/gabor/standing.cpp bovo-16.04.3/ai/gabor/standing.cpp --- bovo-15.12.3/ai/gabor/standing.cpp 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/gabor/standing.cpp 2016-03-08 17:20:36.000000000 +0000 @@ -19,14 +19,13 @@ * ********************************************************************/ +#include "standing.h" #include #include #include #include -#include "standing.h" - typedef QString string; // these are used by refresh() and getSuggestions() @@ -40,12 +39,12 @@ // '-' : free cell, where the enemy can block the position // '.' : free cell, but nobody should place here // '?' : everything but player's mark, ie. wall, enemy or empty -const static string level0[] = {"00000"}; -const static string level1[] = {".0000+"}; -const static string level2[] = {"@0000+", "+0000@", "00+00", "?000+0?", "?0+000?"}; -const static string level3[] = {".-000+.", "-+000-@", "@-000+-", "?-00+0-", "@0-00+0.", "-0+00-?", ".0+00-0@", ".0-00+0."}; -const static string level4[] = {"@000++", "++000@", "@0+00+0@", "@0+00+?", "?+00+0@", "@00+0+", "+0+00@", "@+000+@", "@00++0", "0++00@", "?.00++0?", "?0++00.?", "?.00++00.?", "?0+0+0?"}; -const static string level5[] = {"?++00++?", "@-00++.", ".++00-@", ".+0+0+.", "@-0+0+.", ".+0+0-@", "@0-0++0-0@", "@0-0++0-?", "?-0++0-0@", "?-0++0-?"}; +const static string level0[] = {QStringLiteral("00000")}; +const static string level1[] = {QStringLiteral(".0000+")}; +const static string level2[] = {QStringLiteral("@0000+"), QStringLiteral("+0000@"), QStringLiteral("00+00"), QStringLiteral("?000+0?"), QStringLiteral("?0+000?")}; +const static string level3[] = {QStringLiteral(".-000+."), QStringLiteral("-+000-@"), QStringLiteral("@-000+-"), QStringLiteral("?-00+0-"), QStringLiteral("@0-00+0."), QStringLiteral("-0+00-?"), QStringLiteral(".0+00-0@"), QStringLiteral(".0-00+0.")}; +const static string level4[] = {QStringLiteral("@000++"), QStringLiteral("++000@"), QStringLiteral("@0+00+0@"), QStringLiteral("@0+00+?"), QStringLiteral("?+00+0@"), QStringLiteral("@00+0+"), QStringLiteral("+0+00@"), QStringLiteral("@+000+@"), QStringLiteral("@00++0"), QStringLiteral("0++00@"), QStringLiteral("?.00++0?"), QStringLiteral("?0++00.?"), QStringLiteral("?.00++00.?"), QStringLiteral("?0+0+0?")}; +const static string level5[] = {QStringLiteral("?++00++?"), QStringLiteral("@-00++."), QStringLiteral(".++00-@"), QStringLiteral(".+0+0+."), QStringLiteral("@-0+0+."), QStringLiteral(".+0+0-@"), QStringLiteral("@0-0++0-0@"), QStringLiteral("@0-0++0-?"), QStringLiteral("?-0++0-0@"), QStringLiteral("?-0++0-?")}; const static index_T patternTotals[heurLevels] = {1, 1, 5, 8, 14, 10}; const static string* patterns[heurLevels] = {level0, level1, level2, level3, level4, level5}; @@ -103,15 +102,15 @@ mark_inv[1][mark[3]] = 3; index_T patternDataIndex = 0; - for (index_T level = 0; level < heurLevels; level++) { - for (index_T patternIndex = 0; patternIndex < patternTotals[level]; patternIndex++) { + for (index_T level = 0; level < heurLevels; ++level) { + for (index_T patternIndex = 0; patternIndex < patternTotals[level]; ++patternIndex) { patternData[patternDataIndex].length = (index_T) patterns[level][patternIndex].size(); assert(patternData[patternDataIndex].length <= max_pattern_length); memcpy(&patternData[patternDataIndex].mark[0], patterns[level][patternIndex].toLatin1().data(), patternData[patternDataIndex].length); patternData[patternDataIndex].level = level; - for (index_T q = 0; q <= patternData[patternDataIndex].length; q++) { - for (index_T a = 0; a < 4; a++) { + for (index_T q = 0; q <= patternData[patternDataIndex].length; ++q) { + for (index_T a = 0; a < 4; ++a) { index_T k = min(patternData[patternDataIndex].length, q + 1); mark_T current_mark = mark[a]; while (true) { @@ -119,7 +118,7 @@ bool good = !current_mark ? current_pattern == '-' || current_pattern == '+' || current_pattern == '.' || current_pattern == '?' : current_mark == mark[0] ? current_pattern == '0' : current_pattern == '@' || current_pattern == '?'; - if (good) for (index_T i = 0; i < k - 1; i++) { + if (good) for (index_T i = 0; i < k - 1; ++i) { mark_T mark1 = patternData[patternDataIndex].mark[i]; mark_T mark2 = patternData[patternDataIndex].mark[i + (q + 1 - k)]; if (mark1 == '-' || mark1 == '.') mark1 = '+'; @@ -141,7 +140,7 @@ } } - patternDataIndex++; + ++patternDataIndex; } } assert(patternDataIndex == patterns_total); @@ -175,14 +174,14 @@ current = 1 - current; lastx = x; lasty = y; - stepCount++; + ++stepCount; evaluate(); } void Standing::step_server(pos_T x, pos_T y) { assert(x < table_size_x && y < table_size_y); table[x][y] = mark[2]; - stepCount++; + ++stepCount; evaluate(); } @@ -226,7 +225,7 @@ countMatches(); decide(); if (current) hval *= -1; - int current_seed = rand() % (2 * (int) heur_seed + 1) - (int) heur_seed; + int current_seed = qrand() % (2 * (int) heur_seed + 1) - (int) heur_seed; int hval_int = (int) hval + current_seed; hval = hval_int > MaxHeur ? MaxHeur : hval_int < MinHeur ? MinHeur : hval_int; } @@ -236,7 +235,7 @@ sample.reserve(max(table_size_x, table_size_y) + 2); sample.push_back(mark[2]); - for (pos_T x = 0; x < table_size_x; x++) { + for (pos_T x = 0; x < table_size_x; ++x) { sample.push_back(table[x][lasty]); suggestRow[0][x][lasty] = 0; suggestRow[1][x][lasty] = 0; @@ -246,7 +245,7 @@ sample.clear(); sample.push_back(mark[2]); - for (pos_T y = 0; y < table_size_y; y++) { + for (pos_T y = 0; y < table_size_y; ++y) { sample.push_back(table[lastx][y]); suggestColumn[0][lastx][y] = 0; suggestColumn[1][lastx][y] = 0; @@ -261,7 +260,7 @@ pos_T y0 = sum < table_size_x ? 0 : sum - table_size_x + 1; pos_T ym = sum < table_size_y ? sum + 1 : table_size_y; assert(y0 < ym); - for (pos_T y = y0; y < ym; y++) { + for (pos_T y = y0; y < ym; ++y) { sample.push_back(table[sum - y][y]); suggestDiagonalSum[0][sum - y][y] = 0; suggestDiagonalSum[1][sum - y][y] = 0; @@ -276,7 +275,7 @@ y0 = diff < 0 ? -diff : 0; ym = min(table_size_y, table_size_x - diff); assert(y0 < ym); - for (pos_T y = y0; y < ym; y++) { + for (pos_T y = y0; y < ym; ++y) { sample.push_back(table[y + diff][y]); suggestDiagonalDiff[0][y + diff][y] = 0; suggestDiagonalDiff[1][y + diff][y] = 0; @@ -291,20 +290,20 @@ pos_T sample_size = (pos_T) sample_vect.size(); mark_T sample[2 * max_table_size - 1]; - for (pos_T i = 0; i < sample_size; i++) { + for (pos_T i = 0; i < sample_size; ++i) { sample[i] = sample_vect[i]; } const pos_T range = 3; pos_T begin_pos = 1; - while (!sample[begin_pos]) begin_pos++; + while (!sample[begin_pos]) ++begin_pos; if (begin_pos < range) begin_pos = 0; else begin_pos -= range; int end_pos = sample_size - 2; while (!sample[end_pos]) end_pos--; if (end_pos + range > sample_size - 1) end_pos = sample_size - 1; else end_pos += range; index_T correct[2][patterns_total]; - for (index_T i = 0; i < patterns_total; i++) { + for (index_T i = 0; i < patterns_total; ++i) { correct[0][i] = 0; correct[1][i] = 0; } @@ -313,12 +312,12 @@ do { index_T* correct_player = correct[player]; index_T* mark_inv_player = mark_inv[player]; - for (pos_T i = begin_pos; i <= end_pos; i++) { + for (pos_T i = begin_pos; i <= end_pos; ++i) { index_T sample_a = mark_inv_player[sample[i]]; assert(sample_a < 4); index_T* current_correct = correct_player; - for (PatternData* current_pattern = patternData; current_pattern != patternDataEnd; current_pattern++) { + for (PatternData* current_pattern = patternData; current_pattern != patternDataEnd; ++current_pattern) { index_T current_correct_val = current_pattern->next[sample_a][*current_correct]; *current_correct = current_correct_val; if (current_correct_val == current_pattern->length) { @@ -329,7 +328,7 @@ // probably a match, but check once again because ? symbols bool good_match = true; - for (pos_T j = 0; j < pattern_size; j++) { + for (pos_T j = 0; j < pattern_size; ++j) { assert(match_start_pos + j < sample_size); if ((pattern[j] == '+' || pattern[j] == '-' || pattern[j] == '.') && sample[match_start_pos + j]) { good_match = false; @@ -342,8 +341,8 @@ } if (good_match) { - newCount[player][level]++; - for (pos_T j = 0; j < pattern_size; j++) { + ++newCount[player][level]; + for (pos_T j = 0; j < pattern_size; ++j) { assert(match_start_pos + j < sample_size); if (pattern[j] == '+') { (this->*posf)(match_start_pos + j, inv, suggestValues[player][level], suggestValues[1 - player][level]); @@ -354,13 +353,13 @@ } } } - current_correct++; + ++current_correct; } } player ^= 1; } while (player != current); - for (index_T k = 0; k < heurLevels; k++) { + for (index_T k = 0; k < heurLevels; ++k) { assert(matchCount[0][k] >= local[0][k] && matchCount[1][k] >= local[1][k]); matchCount[0][k] = matchCount[0][k] + newCount[0][k] - local[0][k]; matchCount[1][k] = matchCount[1][k] + newCount[1][k] - local[1][k]; @@ -447,8 +446,8 @@ Field suggestPos[suggestValueCount]; assert((memset(suggestPos, 255, sizeof(suggestPos)), true)); - for (pos_T x = 0; x < table_size_x; x++) { - for (pos_T y = 0; y < table_size_y; y++) { + for (pos_T x = 0; x < table_size_x; ++x) { + for (pos_T y = 0; y < table_size_y; ++y) { count_T val = max(suggestRow[current][x][y], suggestColumn[current][x][y]); val = max(val, suggestDiagonalSum[current][x][y]); val = max(val, suggestDiagonalDiff[current][x][y]); @@ -484,22 +483,22 @@ int count = 0; // filter far away defensive positions if (treshold > 0) { - for (pos_T x = 0; x < table_size_x; x++) { - for (pos_T y = 0; y < table_size_y; y++) { + for (pos_T x = 0; x < table_size_x; ++x) { + for (pos_T y = 0; y < table_size_y; ++y) { if (suggest[current][x][y] && suggest[current][x][y] <= 2) { pos_T x1 = x > 0 ? x - 1 : 0; pos_T x2 = x < table_size_x - 1 ? x + 2 : table_size_x; pos_T y1 = y > 0 ? y - 1 : 0; pos_T y2 = y < table_size_y - 1 ? y + 2 : table_size_y; bool far = true; - for (pos_T xx = x1; xx < x2 && far; xx++) { - for (pos_T yy = y1; yy < y2 && far; yy++) { + for (pos_T xx = x1; xx < x2 && far; ++xx) { + for (pos_T yy = y1; yy < y2 && far; ++yy) { if (table[xx][yy]) far = false; } } if (far) suggest[current][x][y] = 0; } - if (suggest[current][x][y]) count++; + if (suggest[current][x][y]) ++count; } } } @@ -508,15 +507,15 @@ if (count < 4) { // check every near position treshold = 1; - for (pos_T x = 0; x < table_size_x; x++) { - for (pos_T y = 0; y < table_size_y; y++) { + for (pos_T x = 0; x < table_size_x; ++x) { + for (pos_T y = 0; y < table_size_y; ++y) { if (table[x][y] && table[x][y] != mark[2]) { pos_T x1 = x > 0 ? x - 1 : 0; pos_T x2 = x < table_size_x - 1 ? x + 2 : table_size_x; pos_T y1 = y > 0 ? y - 1 : 0; pos_T y2 = y < table_size_y - 1 ? y + 2 : table_size_y; - for (pos_T xx = x1; xx < x2; xx++) { - for (pos_T yy = y1; yy < y2; yy++) { + for (pos_T xx = x1; xx < x2; ++xx) { + for (pos_T yy = y1; yy < y2; ++yy) { if (!table[xx][yy]) suggest[current][xx][yy] = 1; } } @@ -526,23 +525,23 @@ } } - for (pos_T x = 0; x < table_size_x; x++) { - for (pos_T y = 0; y < table_size_y; y++) { + for (pos_T x = 0; x < table_size_x; ++x) { + for (pos_T y = 0; y < table_size_y; ++y) { if (suggest[current][x][y] >= treshold) { suggestions.push_back(Field(x, y)); } } } } else { - for (pos_T x = 0; x < table_size_x; x++) { - for (pos_T y = 0; y < table_size_y; y++) { + for (pos_T x = 0; x < table_size_x; ++x) { + for (pos_T y = 0; y < table_size_y; ++y) { if (table[x][y] && table[x][y] != mark[2]) { pos_T x1 = x > 0 ? x - 1 : 0; pos_T x2 = x < table_size_x - 1 ? x + 2 : table_size_x; pos_T y1 = y > 0 ? y - 1 : 0; pos_T y2 = y < table_size_y - 1 ? y + 2 : table_size_y; - for (pos_T xx = x1; xx < x2; xx++) { - for (pos_T yy = y1; yy < y2; yy++) { + for (pos_T xx = x1; xx < x2; ++xx) { + for (pos_T yy = y1; yy < y2; ++yy) { if (!table[xx][yy]) suggest[current][xx][yy] = 1; } } @@ -550,8 +549,8 @@ } } - for (pos_T x = 0; x < table_size_x; x++) { - for (pos_T y = 0; y < table_size_y; y++) { + for (pos_T x = 0; x < table_size_x; ++x) { + for (pos_T y = 0; y < table_size_y; ++y) { if (suggest[current][x][y]) { suggestions.push_back(Field(x, y)); } diff -Nru bovo-15.12.3/ai/gabor/standing.h bovo-16.04.3/ai/gabor/standing.h --- bovo-15.12.3/ai/gabor/standing.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/ai/gabor/standing.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2009 Pelladi Gabor * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/CMakeLists.txt bovo-16.04.3/CMakeLists.txt --- bovo-15.12.3/CMakeLists.txt 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/CMakeLists.txt 2016-03-08 17:20:36.000000000 +0000 @@ -2,13 +2,15 @@ cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR) set (QT_MIN_VERSION "5.2.0") +set (KF5_MIN_VERSION "5.15.0") find_package(ECM 1.8.0 REQUIRED CONFIG) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets Svg Concurrent) -find_package(KF5 REQUIRED COMPONENTS +find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS CoreAddons + Crash DBusAddons DocTools XmlGui @@ -24,7 +26,16 @@ # re-enabling exceptions (turned off in KDE) kde_enable_exceptions() -#add_definitions("-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII") + +add_definitions( + -DQT_USE_FAST_CONCATENATION + -DQT_USE_FAST_OPERATOR_PLUS + -DQT_NO_CAST_FROM_ASCII + -DQT_NO_CAST_TO_ASCII + -DQT_NO_CAST_FROM_BYTEARRAY + -DQT_NO_URL_CAST_FROM_STRING + -DQT_USE_QSTRINGBUILDER +) set( bovogame_SRCS game/game.cc @@ -74,7 +85,14 @@ ecm_add_app_icon(bovo_SRCS ICONS ${ICONS_SRCS}) add_executable(bovo ${bovo_SRCS}) -target_link_libraries(bovo KF5::XmlGui KF5::I18n Qt5::Svg KF5KDEGames KF5::DBusAddons) +target_link_libraries(bovo + KF5::XmlGui + KF5::I18n + Qt5::Svg + KF5KDEGames + KF5::DBusAddons + KF5::Crash +) add_subdirectory (themes) add_subdirectory (icons) diff -Nru bovo-15.12.3/debian/changelog bovo-16.04.3/debian/changelog --- bovo-15.12.3/debian/changelog 2016-04-14 21:51:28.000000000 +0000 +++ bovo-16.04.3/debian/changelog 2016-09-30 04:37:16.000000000 +0000 @@ -1,3 +1,22 @@ +bovo (4:16.04.3-0ubuntu1) yakkety; urgency=medium + + [ Scarlett Clark ] + * New upstream release + * Fix merge. + + [ Philip Muškovac ] + * Update the Vcs URLs now that the repositories are hosted on + Launchpad + + [ Scarlett Clark ] + * New upstream bugfix release + + [ Clive Johnston ] + * New upstream release (16.04.2) + * New upstream release (16.04.3) + + -- José Manuel Santamaría Lema Fri, 30 Sep 2016 06:37:16 +0200 + bovo (4:15.12.3-0ubuntu1) xenial; urgency=medium * New upstream bugfix release @@ -5,6 +24,13 @@ -- Scarlett Clark Thu, 14 Apr 2016 14:51:28 -0700 +bovo (4:15.12.1-1) experimental; urgency=medium + + * New upstream release (15.12.0). + * New upstream release (15.12.1). + + -- Maximiliano Curia Mon, 01 Feb 2016 10:22:33 +0100 + bovo (4:15.12.1-0ubuntu2) xenial; urgency=medium * No-change rebuild against libkf5kdegames7 diff -Nru bovo-15.12.3/debian/control bovo-16.04.3/debian/control --- bovo-15.12.3/debian/control 2016-04-14 21:51:28.000000000 +0000 +++ bovo-16.04.3/debian/control 2016-09-30 04:37:16.000000000 +0000 @@ -12,23 +12,23 @@ Maximiliano Curia Build-Depends: cmake (>= 2.8.12~), debhelper (>= 9), - extra-cmake-modules (>= 1.7.0~), - kdoctools-dev, - libkf5coreaddons-dev, - libkf5dbusaddons-dev, - libkf5declarative-dev, - libkf5kdegames-dev (>= 4.9.0~), - libkf5kdelibs4support-dev, - libkf5newstuff-dev, - libkf5xmlgui-dev, - libqt5svg5-dev (>= 5.4), + extra-cmake-modules (>= 5.24.0~), + kdoctools-dev (>= 5.24.0~), + libkf5coreaddons-dev (>= 5.24.0~), + libkf5dbusaddons-dev (>= 5.24.0~), + libkf5declarative-dev (>= 5.24.0~), + libkf5kdegames-dev (>= 4:16.04.3~), + libkf5kdelibs4support-dev (>= 5.24.0~), + libkf5newstuff-dev (>= 5.24.0~), + libkf5xmlgui-dev (>= 5.24.0~), + libqt5svg5-dev (>= 5.6.1~), pkg-kde-tools (>> 0.15.15), - qtbase5-dev (>= 5.4), - qtdeclarative5-dev (>= 5.4) + qtbase5-dev (>= 5.6.1~), + qtdeclarative5-dev (>= 5.6.1~) Standards-Version: 3.9.6 Homepage: http://games.kde.org/ -Vcs-Browser: http://anonscm.debian.org/cgit/pkg-kde/applications/bovo.git -Vcs-Git: git://anonscm.debian.org/pkg-kde/applications/bovo.git +Vcs-Browser: https://code.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/bovo +Vcs-Git: git://git.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/bovo Package: bovo Architecture: any diff -Nru bovo-15.12.3/game/board.cc bovo-16.04.3/game/board.cc --- bovo-15.12.3/game/board.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/board.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/game/board.h bovo-16.04.3/game/board.h --- bovo-15.12.3/game/board.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/board.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -64,7 +64,7 @@ * by a Dimension * @param dimension the Dimension containing the width and height */ - Board(const Dimension& dimension); + explicit Board(const Dimension& dimension); /** * @brief destructs this Board diff -Nru bovo-15.12.3/game/common.h bovo-16.04.3/game/common.h --- bovo-15.12.3/game/common.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/common.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/game/coord.cc bovo-16.04.3/game/coord.cc --- bovo-15.12.3/game/coord.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/coord.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/game/coord.h bovo-16.04.3/game/coord.h --- bovo-15.12.3/game/coord.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/coord.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/game/dimension.cc bovo-16.04.3/game/dimension.cc --- bovo-15.12.3/game/dimension.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/dimension.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/game/dimension.h bovo-16.04.3/game/dimension.h --- bovo-15.12.3/game/dimension.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/dimension.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/game/game.cc bovo-16.04.3/game/game.cc --- bovo-15.12.3/game/game.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/game.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,9 +23,9 @@ #include "game.h" -#include -#include -#include +#include +#include +#include #include "ai.h" #include "aifactory.h" @@ -40,8 +40,8 @@ namespace bovo { -Game::Game(const Dimension& dimension, Player startingPlayer, - KgDifficultyLevel::StandardLevel skill, DemoMode demoMode, +Game::Game(const Dimension& dimension, Player startingPlayer, + KgDifficultyLevel::StandardLevel skill, DemoMode demoMode, unsigned int playTime, AiFactory* aiFactory) : m_aiFactory(aiFactory), m_curPlayer(startingPlayer),m_computerMark(O), m_demoMode(demoMode), m_inUndoState(false), m_playerMark(X), @@ -59,8 +59,8 @@ this, SLOT(move(const Move&))); } -Game::Game(const Dimension& dimension, const QStringList &restoreGame, - KgDifficultyLevel::StandardLevel skill, unsigned int playTime, +Game::Game(const Dimension& dimension, const QStringList &restoreGame, + KgDifficultyLevel::StandardLevel skill, unsigned int playTime, AiFactory* aiFactory) : m_aiFactory(aiFactory), m_computerMark(O), m_demoMode(NotDemo), m_inUndoState(false), m_playerMark(X), m_playTime(playTime), @@ -72,15 +72,15 @@ m_stepCount = 0; m_curPlayer = No; foreach (const QString &turn, restoreGame) { - QStringList tmp = turn.split(':'); + QStringList tmp = turn.split(QLatin1Char(':')); if (tmp.count() != 2) { qFatal("Wrong save file format!"); } - Player tmpPlayer = (tmp[0] == "1") ? X : O; + Player tmpPlayer = (tmp[0] == QLatin1String("1")) ? X : O; if (m_curPlayer == No) { m_curPlayer = tmpPlayer; } - tmp = tmp[1].split(','); + tmp = tmp[1].split(QLatin1Char(',')); if (tmp.count() != 2) { qFatal("Wrong save file format!"); } @@ -145,20 +145,20 @@ Q_UNUSED( filename ); QString fileContent; - fileContent.append(QString("") - .arg("").arg("")); + fileContent.append(QStringLiteral("") + .arg(QStringLiteral("")).arg(QStringLiteral(""))); foreach (const Move &move, m_history) { - fileContent.append(QString(""). + fileContent.append(QStringLiteral(""). arg(move.player()).arg(move.x()).arg(move.y())); } - fileContent.append(""); + fileContent.append(QLatin1String("")); return false; } QStringList Game::saveLast() const { QStringList save; foreach (const Move &move, m_history) { - save << QString("%1:%2,%3").arg(move.player()) + save << QStringLiteral("%1:%2,%3").arg(move.player()) .arg(move.x()).arg(move.y()); } return save; diff -Nru bovo-15.12.3/game/game.h bovo-16.04.3/game/game.h --- bovo-15.12.3/game/game.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/game.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/game/move.cc bovo-16.04.3/game/move.cc --- bovo-15.12.3/game/move.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/move.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/game/move.h bovo-16.04.3/game/move.h --- bovo-15.12.3/game/move.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/move.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/game/square.cc bovo-16.04.3/game/square.cc --- bovo-15.12.3/game/square.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/square.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/game/square.h bovo-16.04.3/game/square.h --- bovo-15.12.3/game/square.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/square.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/game/test/test.cpp bovo-16.04.3/game/test/test.cpp --- bovo-15.12.3/game/test/test.cpp 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/game/test/test.cpp 2016-03-08 17:20:36.000000000 +0000 @@ -240,12 +240,12 @@ void testEcho() { board b = board(dim(20, 20)); unsigned short int player = 1; - srand((unsigned)time(0)); + qsrand((unsigned)time(0)); try { while (true) { coord c(0,0); while (true) { - c = coord(rand()%20, rand()%20); + c = coord(qrand()%20, qrand()%20); if (b.empty(c)) break; } b.setPlayer(c, player); diff -Nru bovo-15.12.3/gui/hintitem.cc bovo-16.04.3/gui/hintitem.cc --- bovo-15.12.3/gui/hintitem.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/gui/hintitem.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,10 +21,10 @@ #include "hintitem.h" -#include -#include -#include -#include +#include +#include +#include +#include #include "common.h" #include "coord.h" diff -Nru bovo-15.12.3/gui/hintitem.h bovo-16.04.3/gui/hintitem.h --- bovo-15.12.3/gui/hintitem.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/gui/hintitem.h 2016-03-08 17:20:36.000000000 +0000 @@ -23,7 +23,7 @@ #ifndef BOVO_HINTITEM_H #define BOVO_HINTITEM_H -#include +#include class QTimer; diff -Nru bovo-15.12.3/gui/main.cc bovo-16.04.3/gui/main.cc --- bovo-15.12.3/gui/main.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/gui/main.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -25,6 +25,7 @@ #include #include #include +#include #include "mainwindow.h" #include "version.h" @@ -53,8 +54,9 @@ aboutData.setOrganizationDomain(QByteArray("kde.org")); app.setWindowIcon(QIcon::fromTheme(QStringLiteral("bovo"))); aboutData.setProductName(QByteArray("bovo")); - + KAboutData::setApplicationData(aboutData); + KCrash::initialize(); QCommandLineParser parser; parser.addVersionOption(); @@ -62,7 +64,7 @@ aboutData.setupCommandLine(&parser); parser.process(app); aboutData.processCommandLine(&parser); - KDBusService service; + KDBusService service; if( app.isSessionRestored() ) { RESTORE(MainWindow); } else { diff -Nru bovo-15.12.3/gui/mainwindow.cc bovo-16.04.3/gui/mainwindow.cc --- bovo-15.12.3/gui/mainwindow.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/gui/mainwindow.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -122,11 +122,11 @@ QStringList themercs; const QStringList themeDirs = QStandardPaths::locateAll(QStandardPaths::DataLocation, QStringLiteral("themes"), QStandardPaths::LocateDirectory); Q_FOREACH (const QString &themeDir, themeDirs) { - const QStringList entries = QDir(themeDir).entryList(QDir::Dirs); - Q_FOREACH(const QString &d, entries) { - QString themeFile = themeDir + QLatin1Char('/') + d + QLatin1String("/themerc"); - if (QFile::exists(themeFile)) - themercs.append(themeFile); + const QStringList entries = QDir(themeDir).entryList(QDir::Dirs); + Q_FOREACH(const QString &d, entries) { + QString themeFile = themeDir + QLatin1Char('/') + d + QLatin1String("/themerc"); + if (QFile::exists(themeFile)) + themercs.append(themeFile); } } diff -Nru bovo-15.12.3/gui/mainwindow.h bovo-16.04.3/gui/mainwindow.h --- bovo-15.12.3/gui/mainwindow.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/gui/mainwindow.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/gui/mark.cc bovo-16.04.3/gui/mark.cc --- bovo-15.12.3/gui/mark.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/gui/mark.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,10 +21,10 @@ #include "mark.h" -#include -#include -#include -#include +#include +#include +#include +#include #include "common.h" #include "coord.h" diff -Nru bovo-15.12.3/gui/mark.h bovo-16.04.3/gui/mark.h --- bovo-15.12.3/gui/mark.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/gui/mark.h 2016-03-08 17:20:36.000000000 +0000 @@ -22,7 +22,7 @@ #ifndef BOVO_MARK_H #define BOVO_MARK_H -#include +#include #include "common.h" diff -Nru bovo-15.12.3/gui/scene.cc bovo-16.04.3/gui/scene.cc --- bovo-15.12.3/gui/scene.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/gui/scene.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,13 +21,13 @@ #include "scene.h" -#include -#include -#include -#include +#include +#include +#include +#include #include #include -#include +#include #include #include diff -Nru bovo-15.12.3/gui/theme.cc bovo-16.04.3/gui/theme.cc --- bovo-15.12.3/gui/theme.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/gui/theme.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,19 +19,16 @@ * ********************************************************************/ -// Qt includes -#include -// Selc include #include "theme.h" -// KDE includes +#include "settings.h" + #include #include #include -// KConfig XT includes -#include "settings.h" +#include namespace gui { diff -Nru bovo-15.12.3/gui/theme.h bovo-16.04.3/gui/theme.h --- bovo-15.12.3/gui/theme.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/gui/theme.h 2016-03-08 17:20:36.000000000 +0000 @@ -23,8 +23,8 @@ #define BOVO_THEME_H // Qt includes -#include -#include +#include +#include namespace gui { diff -Nru bovo-15.12.3/gui/version.h bovo-16.04.3/gui/version.h --- bovo-15.12.3/gui/version.h 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/gui/version.h 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -Nru bovo-15.12.3/gui/view.cc bovo-16.04.3/gui/view.cc --- bovo-15.12.3/gui/view.cc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/gui/view.cc 2016-03-08 17:20:36.000000000 +0000 @@ -1,6 +1,6 @@ /******************************************************************* * -* This file is part of the KDE project "Bovo" +* Copyright 2007 Aron Boström * * Bovo is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,9 +23,9 @@ #include "view.h" // Qt Includes -#include +#include #include -#include +#include #include // Bovo includes diff -Nru bovo-15.12.3/org.kde.bovo.appdata.xml bovo-16.04.3/org.kde.bovo.appdata.xml --- bovo-15.12.3/org.kde.bovo.appdata.xml 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/org.kde.bovo.appdata.xml 2016-03-08 17:20:36.000000000 +0000 @@ -13,7 +13,6 @@ Bovo Bovo Bovo - Bovo Bovo Bovo Bovo @@ -52,7 +51,6 @@

Bovo ist ein Gomoku (aus dem japanischen wörtlich „Fünf Punkte“) ähnliches Spiel für zwei Spieler, bei dem die Gegner abwechselnd ihre jeweiligen Piktogramme auf dem Brett platzieren. Auch bekannt als: Fünf verbinden, Fünf in einer Reihe, X und O, Nullen und Kreuze

Bovo is a Gomoku (from Japanese 五目並べ - lit. "five points") like game for two players, where the opponents alternate in placing their respective pictogram on the game board. (Also known as: Connect Five, Five in a row, X and O, Naughts and Crosses)

Bovo es un juego para dos jugadores similar al Gomoku (del japonés 五目並べ, que significa «cinco puntos»). Los dos oponentes juegan por turnos para colocar su respectivo pictograma en el juego del tablero. (También se conoce como: «Conecta cinco», «Cinco en línea», «X y O» o «Ceros y cruces»).

-

Bovo on Gomoku (jaapani keeles 五目並べ, otsetõlkes "viis punkti") moodi mäng kahele mängijale, kus vastased asetavad kordamööda oma piktogrammi mängulauale. (Seda tuntakse ka nimetuste all "Viis ühes reas", "X-id ja 0-id" jne.; sarnane on ka tripstrapstrull.)

Bovo on Gomokun (japaniksi 五目並べ – kirjaimellisesti ”viisi pistettä”) kaltainen peli kahdelle, jossa vastustajat asettavat vuorotellen merkkinsä pelilaudalle. Tunnetaan myös nimillä viiden suora ja ristinolla.

Bovo est un jeu pour deux joueurs inspiré du Gomoku (du japonais 五目並べ signifiant « cinq points »). Les adversaires placent chacun à leur tour leurs symboles sur la tableau de jeu. Également connu sous le nom de « cinq en ligne », « X et O », « morpion ».

Bovo é un xogo para dous xogadores similar ao Gomoku (do xaponés 五目並べ, «cinco puntos»), no que os opoñentes sitúan os seus pictogramas no taboleiro por quendas. O xogo tamén se coñece como «Conectar cinco», «Cinco en liña», etc.

diff -Nru bovo-15.12.3/org.kde.bovo.desktop bovo-16.04.3/org.kde.bovo.desktop --- bovo-15.12.3/org.kde.bovo.desktop 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/org.kde.bovo.desktop 2016-03-08 17:20:36.000000000 +0000 @@ -1,5 +1,13 @@ [Desktop Entry] +Type=Application Exec=bovo -qwindowtitle %c +Icon=bovo +Terminal=false +StartupNotify=true +X-DBUS-StartupType=Multi +X-DBUS-ServiceName=org.kde.bovo +X-DocPath=bovo/index.html +Categories=Qt;KDE;Game;BoardGame; Name=Bovo Name[ar]=بوڤو Name[ast]=Bovo @@ -60,9 +68,6 @@ Name[x-test]=xxBovoxx Name[zh_CN]=Bovo Name[zh_TW]=Bovo -Icon=bovo -Type=Application -X-DocPath=bovo/index.html GenericName=Five-in-a-row Board Game GenericName[ar]=لعبة خمسة في صفّ GenericName[ast]=Xuegu de tableru cinco en llinia @@ -118,8 +123,3 @@ GenericName[x-test]=xxFive-in-a-row Board Gamexx GenericName[zh_CN]=五子棋游戏 GenericName[zh_TW]=五子棋棋盤遊戲 -Terminal=false -StartupNotify=true -X-DBUS-StartupType=Multi -Categories=Qt;KDE;Game;BoardGame; -X-DBUS-ServiceName=org.kde.bovo diff -Nru bovo-15.12.3/themes/scribble/themerc bovo-16.04.3/themes/scribble/themerc --- bovo-15.12.3/themes/scribble/themerc 2016-01-14 11:35:21.000000000 +0000 +++ bovo-16.04.3/themes/scribble/themerc 2016-03-08 17:20:36.000000000 +0000 @@ -89,7 +89,7 @@ Comment[pl]=Wystrój "ołówek i papier" Comment[pt]=Um tema de papel e caneta Comment[pt_BR]=Um tema baseado em papel e caneta -Comment[ro]=Tematică cu creion și hîrtie +Comment[ro]=Tematică cu creion și hârtie Comment[ru]=Оформление «Ручка и бумага» Comment[sk]=Téma s papierom a perom Comment[sl]=Tema s papirjem ter svinčnikom