Skip to content
Snippets Groups Projects
Commit a3449975 authored by Benoît Harrault's avatar Benoît Harrault
Browse files

Avoid print calls in production code

parent 7b563fee
No related branches found
No related tags found
1 merge request!16Resolve "Avoid print calls in production code"
Pipeline #5253 passed
This commit is part of merge request !16. Comments created here will be created in the context of that merge request.
org.gradle.jvmargs=-Xmx1536M org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
app.versionName=0.0.14 app.versionName=0.0.15
app.versionCode=14 app.versionCode=15
Avoid print calls in production code.
Supprime les appels à print dans le code de production.
...@@ -46,7 +46,7 @@ class Tile { ...@@ -46,7 +46,7 @@ class Tile {
}, },
onAcceptWithDetails: (DragTargetDetails<List<int>> source) { onAcceptWithDetails: (DragTargetDetails<List<int>> source) {
List<int> target = [currentCol, currentRow]; List<int> target = [currentCol, currentRow];
// print('(drag) Pick from ' + source.toString() + ' and drop on ' + target.toString()); // printlog('(drag) Pick from ' + source.toString() + ' and drop on ' + target.toString());
if (GameUtils.isMoveAllowed(myProvider, source.data, target)) { if (GameUtils.isMoveAllowed(myProvider, source.data, target)) {
GameUtils.move(myProvider, source.data, target); GameUtils.move(myProvider, source.data, target);
} }
......
...@@ -2,6 +2,7 @@ import 'dart:math'; ...@@ -2,6 +2,7 @@ import 'dart:math';
import 'package:solitaire_game/entities/tile.dart'; import 'package:solitaire_game/entities/tile.dart';
import 'package:solitaire_game/provider/data.dart'; import 'package:solitaire_game/provider/data.dart';
import 'package:solitaire_game/utils/tools.dart';
class BoardUtils { class BoardUtils {
static printGrid(List cells) { static printGrid(List cells) {
...@@ -9,8 +10,8 @@ class BoardUtils { ...@@ -9,8 +10,8 @@ class BoardUtils {
String textHole = '·'; String textHole = '·';
String textPeg = 'o'; String textPeg = 'o';
print(''); printlog('');
print('-------'); printlog('-------');
for (int rowIndex = 0; rowIndex < cells.length; rowIndex++) { for (int rowIndex = 0; rowIndex < cells.length; rowIndex++) {
String row = ''; String row = '';
for (int colIndex = 0; colIndex < cells[rowIndex].length; colIndex++) { for (int colIndex = 0; colIndex < cells[rowIndex].length; colIndex++) {
...@@ -21,10 +22,10 @@ class BoardUtils { ...@@ -21,10 +22,10 @@ class BoardUtils {
} }
row += textCell; row += textCell;
} }
print(row); printlog(row);
} }
print('-------'); printlog('-------');
print(''); printlog('');
} }
static List<List<Tile?>> createBoardFromSavedState(Data myProvider, String savedBoard) { static List<List<Tile?>> createBoardFromSavedState(Data myProvider, String savedBoard) {
......
import 'package:solitaire_game/entities/tile.dart'; import 'package:solitaire_game/entities/tile.dart';
import 'package:solitaire_game/provider/data.dart'; import 'package:solitaire_game/provider/data.dart';
import 'package:solitaire_game/utils/board_utils.dart'; import 'package:solitaire_game/utils/board_utils.dart';
import 'package:solitaire_game/utils/tools.dart';
class GameUtils { class GameUtils {
static Future<void> quitGame(Data myProvider) async { static Future<void> quitGame(Data myProvider) async {
...@@ -13,7 +14,7 @@ class GameUtils { ...@@ -13,7 +14,7 @@ class GameUtils {
} }
static Future<void> startNewGame(Data myProvider) async { static Future<void> startNewGame(Data myProvider) async {
print('Starting game'); printlog('Starting game');
BoardUtils.createNewBoard(myProvider); BoardUtils.createNewBoard(myProvider);
...@@ -36,7 +37,7 @@ class GameUtils { ...@@ -36,7 +37,7 @@ class GameUtils {
myProvider.updateGameIsRunning(true); myProvider.updateGameIsRunning(true);
} catch (e) { } catch (e) {
print('Failed to resume game. Will start new one instead.'); printlog('Failed to resume game. Will start new one instead.');
myProvider.resetCurrentSavedState(); myProvider.resetCurrentSavedState();
myProvider.initParametersValues(); myProvider.initParametersValues();
startNewGame(myProvider); startNewGame(myProvider);
...@@ -49,7 +50,7 @@ class GameUtils { ...@@ -49,7 +50,7 @@ class GameUtils {
} }
static bool isMoveAllowed(Data myProvider, List<int> source, List<int> target) { static bool isMoveAllowed(Data myProvider, List<int> source, List<int> target) {
// print('(test) Pick from ' + source.toString() + ' and drop on ' + target.toString()); // printlog('(test) Pick from ' + source.toString() + ' and drop on ' + target.toString());
List<List<Tile?>> board = myProvider.board; List<List<Tile?>> board = myProvider.board;
int sourceCol = source[0]; int sourceCol = source[0];
int sourceRow = source[1]; int sourceRow = source[1];
...@@ -61,39 +62,39 @@ class GameUtils { ...@@ -61,39 +62,39 @@ class GameUtils {
sourceRow > (myProvider.boardSize - 1) || sourceRow > (myProvider.boardSize - 1) ||
sourceCol < 0 || sourceCol < 0 ||
sourceCol > (myProvider.boardSize - 1)) { sourceCol > (myProvider.boardSize - 1)) {
// print('move forbidden: source is out of board'); // printlog('move forbidden: source is out of board');
return false; return false;
} }
if (targetRow < 0 || if (targetRow < 0 ||
targetRow > (myProvider.boardSize - 1) || targetRow > (myProvider.boardSize - 1) ||
targetCol < 0 || targetCol < 0 ||
targetCol > (myProvider.boardSize - 1)) { targetCol > (myProvider.boardSize - 1)) {
// print('move forbidden: target is out of board'); // printlog('move forbidden: target is out of board');
return false; return false;
} }
// ensure source exists and has a peg // ensure source exists and has a peg
if (board[sourceRow][sourceCol] == null || board[sourceRow][sourceCol]?.hasPeg == false) { if (board[sourceRow][sourceCol] == null || board[sourceRow][sourceCol]?.hasPeg == false) {
// print('move forbidden: source peg does not exist'); // printlog('move forbidden: source peg does not exist');
return false; return false;
} }
// ensure target exists and is empty // ensure target exists and is empty
if (board[targetRow][targetCol] == null || board[targetRow][targetCol]?.hasPeg == true) { if (board[targetRow][targetCol] == null || board[targetRow][targetCol]?.hasPeg == true) {
// print('move forbidden: target does not exist or already with a peg'); // printlog('move forbidden: target does not exist or already with a peg');
return false; return false;
} }
// ensure source and target are in the same line/column // ensure source and target are in the same line/column
if ((targetCol != sourceCol) && (targetRow != sourceRow)) { if ((targetCol != sourceCol) && (targetRow != sourceRow)) {
// print('move forbidden: source and target are not in the same line or column'); // printlog('move forbidden: source and target are not in the same line or column');
return false; return false;
} }
// ensure source and target are separated by exactly one tile // ensure source and target are separated by exactly one tile
if (((targetCol == sourceCol) && ((targetRow - sourceRow).abs() != 2)) || if (((targetCol == sourceCol) && ((targetRow - sourceRow).abs() != 2)) ||
((targetRow == sourceRow) && ((targetCol - sourceCol).abs() != 2))) { ((targetRow == sourceRow) && ((targetCol - sourceCol).abs() != 2))) {
// print('move forbidden: source and target must be separated by exactly one tile'); // printlog('move forbidden: source and target must be separated by exactly one tile');
return false; return false;
} }
...@@ -101,7 +102,7 @@ class GameUtils { ...@@ -101,7 +102,7 @@ class GameUtils {
int middleRow = (sourceRow + ((targetRow - sourceRow) / 2)).round(); int middleRow = (sourceRow + ((targetRow - sourceRow) / 2)).round();
int middleCol = (sourceCol + ((targetCol - sourceCol) / 2)).round(); int middleCol = (sourceCol + ((targetCol - sourceCol) / 2)).round();
if (board[middleRow][middleCol] == null || board[middleRow][middleCol]?.hasPeg == false) { if (board[middleRow][middleCol] == null || board[middleRow][middleCol]?.hasPeg == false) {
// print('move forbidden: tile between source and target does not contain a peg'); // printlog('move forbidden: tile between source and target does not contain a peg');
return false; return false;
} }
...@@ -110,7 +111,7 @@ class GameUtils { ...@@ -110,7 +111,7 @@ class GameUtils {
} }
static void move(Data myProvider, List<int> source, List<int> target) { static void move(Data myProvider, List<int> source, List<int> target) {
print('Move from $source to $target'); printlog('Move from $source to $target');
int sourceCol = source[0]; int sourceCol = source[0];
int sourceRow = source[1]; int sourceRow = source[1];
int targetCol = target[0]; int targetCol = target[0];
......
import 'package:flutter/foundation.dart';
void printlog(String message) {
if (!kReleaseMode) {
debugPrint(message);
}
}
...@@ -151,10 +151,10 @@ packages: ...@@ -151,10 +151,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: provider name: provider
sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096" sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.1" version: "6.1.2"
shared_preferences: shared_preferences:
dependency: "direct main" dependency: "direct main"
description: description:
......
name: solitaire_game name: solitaire_game
description: Solitaire Game description: Solitaire Game
publish_to: 'none' publish_to: 'none'
version: 0.0.14+14 version: 0.0.15+15
environment: environment:
sdk: '^3.0.0' sdk: '^3.0.0'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment