//private List<string> getPieces(Symbol sym) //{ // List<string> ps = new List<string>(); // for(int i = 0; i < board.allPositions().Count; i++) // { // Tile t = board.getTile(board.allPositions()[i]); // if (t.cond.Symbol == sym) ps.Add(t.pos); // } // return ps; //} //private bool availPieces(Symbol sym) //{ // List<string> list = getPieces(sym); // bool isNotAvailable = false; // foreach (string str in list) // { // isNotAvailable = isInMillPos(str, player); // if (!isNotAvailable) return false; // } // return true; //} public void Shoot(IPlayer player, IReferee referee, string position) { if (referee.canShoot(player, position)) { if (referee.isValidDestroy(player, position)) { if (!referee.isAvailablePieces(player)) { if (referee.isInMillPos(position, player)) { Console.WriteLine("You can't shoot a piece in a mill. There are still available pieces to shoot"); Thread.Sleep(1500); flag = true; } } else { board.updateTile(new Tile(position, new Piece(Symbol.BL, position))); cowBox.placeCow(switchPlayer(player.symbol)); flag = false; } } else { Console.WriteLine("You can't remove your own player or shoot a blank spot!!!"); flag = true; Thread.Sleep(1500); } } }
public Plugin(String Path) { string[] files = Directory.GetFiles(Path, "*.dll"); foreach (string f in files) { try { Assembly a = null; a = Assembly.LoadFile(f); System.Type[] types = a.GetTypes(); foreach (System.Type type in types) { if (type.BaseType.Name == "IReferee") { Console.WriteLine("Loading Referee : " + f); IReferee ins = (IReferee)Activator.CreateInstance(type); Console.WriteLine("Referee : " + ins.GetName()); m_referees.Add(ins); } } } catch (Exception e) { //MessageBox.Show(e.Message); } } }
public void BeforeTests() { _board = new Board(8); _rook = new Rook(PlayerColor.White); _king = new King(PlayerColor.Black); _referee = new Referee(new MoveAttemptHandler()); }
/// <summary> /// Enters into a cheating agreement between a player and a referee. /// <remarks>The referee informs the player about guesses made by the other players.</remarks> /// </summary> /// <param name="player">The player entering into a cheating agreement.</param> /// <param name="referee">The referee entering into a cheating agreement.</param> private void CheatingAgreement(IPlayer player, IReferee referee) { if (player is ICheaterPlayer) { referee.Cheating += ((ICheaterPlayer)player).CheatingAction; } }
public GameController(Player[] players, IReferee referee) { this.players = players; this.PlayersLeft = players.ToList(); this.referee = referee; pile = new ObservableCollection<Card>(); }
public void EachCowIsOnlyPlacedOnEmptySpace(int position, string [] inputs) ///Player should not be able to place piece on an occupied tile { //This test still has to be fixed. IBoard board = Substitute.For <IBoard>(); IReferee referee = Substitute.For <IReferee>(); Player p1 = new Player(Symbol.CB); Player p2 = new Player(Symbol.CW); board = new Board(); IWorld world = Substitute.For <IWorld>(); world = new World(p1, p2); bool occupied = true; foreach (string pos in inputs) { Tile tile = world.board.getTile(pos); if (tile.cond.Symbol == Symbol.BL) { occupied = true; Assert.That(!occupied); } } //Assert.That(!occupied); }
public RefereeController(IUnitOfWork uow, IReferee referee, ICountry country, ISportType sporttype) { _uow = uow; _Referee = referee; _Country = country; _SportType = sporttype; }
public Game(IPlayer playerBlack, IPlayer playerWhite, IBoard Board, IReferee referee) { this.playerBlack = playerBlack; this.playerWhite = playerWhite; this.referee = referee; this.Board = Board; Board.printBoard(Board.getBoard()); }
public bool Select(int position, IBoard board, IReferee referee) { if (referee.CanSelect(Color, board, position)) { return(true); } else { return(false); } }
public MatchController(IUnitOfWork uow, IMatch match, IReferee referee, IGroup group, Istadium stadium, IPartInGroup partGroup, IUserPrediction userprediction, IpartInMatch partInMatch) { _uow = uow; _match = match; _referee = referee; _Group = group; _stadium = stadium; _partInGroup = partGroup; _partInMatch = partInMatch; _userPrediction = userprediction; }
public GameSession(IBoard b, IPlayer p1, IPlayer p2, ICowBox cow, IReferee r) { board = b; Player_1 = p1; Player_2 = p2; box = cow; referee = r; Current_Player = Player_1; Current_Phase = Phase.Placing; }
public Game(ILobby lobby) { StartTime = DateTime.Now; ID = lobby.Id; _players = lobby.GetAllPlayers(); PlayerOrder = Permutation.Random(_players.Count); Settings = lobby.Settings; _grid = new Grid(Settings.GridSize, Settings.GridSize); _referee = new LineReferee(Settings.WinChainLength); }
public bool Kill(int position, IBoard board, IReferee referee) { if (referee.CanKill(Color, position)) { board.Kill(position); return(true); } else { return(false); } }
public bool MoveFlying(int Destination, int secondPosition, IBoard board, IReferee referee, Phase currPhase) { if (referee.CanFlyTo(Color, secondPosition, currPhase)) { board.Move(Destination, secondPosition); return(true); } else { return(false); } }
public bool Place(int position, IBoard board, IReferee referee, Phase currPhase) { if (referee.CanPlace(Color, position, currPhase)) { ICow cow = Box.TakeCow(Color); board.Place(cow, position); return(true); } else { return(false); } }
public void IsInTieBreakShouldReturnFalseWhenOneOfPlayersScoreIsLessThan40() { var player1 = playerBuilder.Build(); player1.Score = 3; var player2 = playerBuilder.Build(); player2.Score = 2; scoreBoard = new ScoreBoard(player1, player2); referee = new Referee(scoreBoard); Assert.That(referee.IsInTieBreak(), Is.Not.True); }
public GameController( IPlayerBuilder playerBuilder, IPlayersDataReader playersDataReader, IEvenOrOdd evenOrOdd, IScoreBoard scoreBoard, IReferee referee) { _playerBuilder = playerBuilder; _playersDataReader = playersDataReader; _evenOrOdd = evenOrOdd; _scoreBoard = scoreBoard; _referee = referee; scoreBoard.PlayerScored += referee.OnPlayerScored; }
public void playFly(string to, string from, IPlayer player, IReferee referee) { if (referee.isValidFly(to, from, player)) { Tile tileTo = new Tile(to, new Piece(player.symbol, to)); Tile tileFrom = new Tile(from, new Piece(Symbol.BL, from)); board.updateTile(tileTo); board.updateTile(tileFrom); } else { Console.WriteLine("Invalid move, please make a valid move"); } }
public void IsDeuceShouldReturnFalseWhenPlayesTieWhileNotInTieBreak() { var player1 = playerBuilder.Build(); player1.Score = 1; var player2 = playerBuilder.Build(); player2.Score = 2; scoreBoard = new ScoreBoard(player1, player2); referee = new Referee(scoreBoard); scoreBoard.PlayerScored += referee.OnPlayerScored; scoreBoard.SetPlayerOneScore(); Assert.That(referee.IsDeuce(), Is.False); }
public void OnPlayerScoredShouldSetGameEndedToTrueWhenPlayer1Wins() { var player1 = playerBuilder.Build(); player1.Score = 4; var player2 = playerBuilder.Build(); player2.Score = 3; scoreBoard = new ScoreBoard(player1, player2); referee = new Referee(scoreBoard); scoreBoard.PlayerScored += referee.OnPlayerScored; scoreBoard.SetPlayerOneScore(); Assert.That(referee.GameEnded); }
public void IsInTieBreakShouldReturnTrueWhenPlayerTwoTies() { var player1 = playerBuilder.Build(); player1.Score = 3; var player2 = playerBuilder.Build(); player2.Score = 2; scoreBoard = new ScoreBoard(player1, player2); referee = new Referee(scoreBoard); scoreBoard.PlayerScored += referee.OnPlayerScored; scoreBoard.SetPlayerTwoScore(); Assert.That(referee.IsInTieBreak(), Is.True); }
private void Form1_Load(object sender, EventArgs e) { Plugin p = new Plugin(Environment.CurrentDirectory); refe = p.GetReferees()[0]; p1 = new PlayerData("Player 1"); refe.AddPlayer(p1); p2 = new PlayerData("Player 2"); refe.AddPlayer(p2); p3 = new PlayerData("Player 3"); refe.AddPlayer(p3); p4 = new PlayerData("Player 4"); refe.AddPlayer(p4); refe.NewGame(); Draw(); }
public void IsAdvantageShoulfReturnTrueWhenPlayer1UntiesDuringTieBreak() { var player1 = playerBuilder.Build(); player1.Score = 2; var player2 = playerBuilder.Build(); player2.Score = 3; scoreBoard = new ScoreBoard(player1, player2); referee = new Referee(scoreBoard); scoreBoard.PlayerScored += referee.OnPlayerScored; scoreBoard.SetPlayerOneScore(); scoreBoard.SetPlayerOneScore(); Assert.That(referee.IsAdvantage(), Is.True); }
public void OnPlayerScoredShouldChangeTheScoreListWhenStartingTieBreakByPlayer2() { var player1 = playerBuilder.Build(); player1.Score = 3; var player2 = playerBuilder.Build(); player2.Score = 2; scoreBoard = new ScoreBoard(player1, player2); referee = new Referee(scoreBoard); scoreBoard.PlayerScored += referee.OnPlayerScored; scoreBoard.SetPlayerTwoScore(); Assert.That(scoreBoard.ScoreList[1], Is.EqualTo(1)); Assert.That(scoreBoard.ScoreList.Count, Is.EqualTo(100)); }
public void OnPlayerScoredShouldChangeScoreListOfScoreBoardAndZeroPlayrsScore() { var player1 = playerBuilder.Build(); player1.Score = 3; var player2 = playerBuilder.Build(); player2.Score = 2; scoreBoard = new ScoreBoard(player1, player2); referee = new Referee(scoreBoard); scoreBoard.PlayerScored += referee.OnPlayerScored; scoreBoard.SetPlayerTwoScore(); Assert.That(scoreBoard.Player1.Score, Is.EqualTo(0)); Assert.That(scoreBoard.Player2.Score, Is.EqualTo(0)); }
public void playPlace(string pos, IPlayer player, IReferee referee) { if (referee.isValidPlace(pos, this)) { Tile t = new Tile(pos, new Piece(player.symbol, pos)); if (player.LastPosPlayed.Contains(pos)) { player.LastPosPlayed.Remove(pos); } player.LastPosPlayed.Add(pos); board.updateTile(t); cowBox.takeCow(player.symbol); } else { Console.WriteLine("Invalid move, please make a valid move"); } }
public Game(IBoard board, IReferee referee, IPlayer player_1, IPlayer player_2) { GameBoard = board; Referee = referee; Player_1 = player_1; Player_2 = player_2; CurrentPlayer = player_1; OtherPlayer = player_2; /* if(Player_1.Color==Player_2.Color){ //if wrong information for starting a game is wrong * Player_1 = new Player(Player_1.Name,Color.dark); * Player_2 = new Player(Player_2.Name,Color.light); * }*/ if (Player_2.Color == Color.dark) { CurrentPlayer = Player_2; OtherPlayer = Player_1; } Winner = null; }
/// <summary> run the game. </summary> public virtual void Run() { // Create Referee _referee = CreateReferee(_numCards, _numPlayers, _seed); // Create Views for (int i = 0; i < _numPlayers; ++i) { CardGameViewWindow view = (CardGameViewWindow)CreateView(_numCards, _imageURI); _referee.Join(view); view.Show(); } // run referee in background thread BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += new DoWorkEventHandler(delegate { _referee.Start(); }); worker.RunWorkerAsync(); // run event loop in this thread App app = new App(); app.Run(); }
public void AddReferee(IReferee refe) { m_referee = refe; }
public WhistController(Player[] players, Player FirstPlayer, Suits trump, IReferee referee) : base(players, referee) { this.trump = trump; for (int i = 0; i < players.Length; i++) if (players[i] == FirstPlayer) { currentPlayer = i; break; } CardPlayedByPlayer = new Dictionary<Player, Card>(); foreach (Player player in players) CardPlayedByPlayer.Add(player, null); }
static void Main(string[] args) { SmthHappened score = new SmthHappened(); score.ChangeScoreNotify += DisplayMessage; score.Whistle(); ITeam teams = Factory.GetTeamModuleObject(); teams.AddToTeam(4, teams.ChooseRandomTeam().Id); teams.AddToTeam(2, teams.ChooseRandomTeam().Id); teams.AddToTeam(3, teams.ChooseRandomTeam().Id); teams.AddToTeam(1, teams.ChooseRandomTeam().Id); teams.AddToTeam(5, teams.ChooseRandomTeam().Id); teams.AddToTeam(7, teams.ChooseRandomTeam().Id); teams.AddToTeam(2, teams.ChooseRandomTeam().Id); IPlayer players = Factory.GetPlayerModuleObject(); players.Shoot(1, 2); players.Shoot(1, 2); ICoach coach = Factory.GetCoachModuleObject(); coach.plusForTeam(coach.GetCoachById(1)); score.ShowScore(teams.ChooseRandomTeam(), teams.ChooseRandomTeam()); coach.plusForTeam(coach.GetCoachById(1)); score.ShowScore(teams.GetTeamById(1), teams.GetTeamById(2)); List <Player> p = teams.GetTeamById(1).players; IReferee referee = Factory.GetRefereeModuleObject(); referee.addToFavouriteTeam(referee.GetRefereeById(1)); referee.addToFavouriteTeam(referee.GetRefereeById(1)); score.ShowScore(teams.GetTeamById(1), teams.GetTeamById(2)); Game game = new Game(); // playerAction.Shoot(player1, player11); score.Gol(1, game); //score.RefereePrefer(referee); //score.CouchTime(coach1); //score.CouchTime(coach1); //score.CouchTime(coach1); //score.Gol(ChooseTeamForGoal(teamsInGame), game); //score.Gol(ChooseTeamForGoal(teamsInGame), game); //score.Gol(ChooseTeamForGoal(teamsInGame), game); //score.Gol(ChooseTeamForGoal(teamsInGame), game); //score.Gol(ChooseTeamForGoal(teamsInGame), game); score.ShowScore(teams.GetTeamById(1), teams.GetTeamById(2)); Console.ReadKey(); }
/// <summary> run the game. </summary> public virtual void Run() { // Run the Referee in this thread _referee = CreateReferee(_numCards, _numPlayers, _seed); for (int i = 0; i < _numPlayers; ++i ) { CardGameViewWindow view = (CardGameViewWindow)CreateView(_numCards, _imageURI); view.Show(); _referee.Join(view); } // Create Views in their own threads /* for (int i=0; i<_numPlayers; ++i) { Thread t = new Thread(new ThreadStart(delegate { CardGameViewWindow view = (CardGameViewWindow)CreateView(_numCards, _imageURI); _referee.Join(view); TriggerStart(); view.ShowDialog(); })); t.SetApartmentState(System.Threading.ApartmentState.STA); t.Start(); } */ }
private void StartGame() { _referee = new Referee(this); CreateModels(_playerViews); CreateModels(_ballViews); }
private bool GetMessageROM(NetPlayer p, String[] tab, NetMessage msg, ref String DiconnectionReason) { if (tab[1] == "ADD") { //Room already exist ?? Room ins = new Room(tab[2]); m_rooms.Add(ins); SendAll("ROM:LST:" + ins.Name + ":" + ins.GetPlayer() + ":" + ins.GetMaxPlayer()); p.Send("ROM:ADD:OK"); } if (tab[1] == "DEL") { //Room ins = new Room(tab[2]); } if (tab[1] == "JOIN") { //Room ins = new Room(tab[2]); Room tmp = GetRoomByName(tab[2]); if (tmp.GetPlayer() == tmp.GetMaxPlayer()) { p.Send("ROM:JOIN:KO"); return(true); } p.Send("ROM:JOIN:OK"); tmp.AddPlayer(p); p.CurrentRoom = tmp; for (int i = 0; i < tmp.GetPlayer(); i++) { NetPlayer tmpp = tmp.GetPlayer(i); p.Send("ROM:PLAYER:ADD:" + tmpp.GetName()); } p.CurrentRoom.Send("ROM:PLAYER:ADD:" + p.GetName(), p); List <IReferee> plugins = m_plugin.GetReferees(); for (int i = 0; i < plugins.Count; i++) { p.Send("ROM:REFEREE:ADD:" + plugins[i].GetName()); } if (tmp.GetReferee() != null) { p.Send("ROM:REFEREE:SELECTED:" + tmp.GetReferee().GetName()); } } if (tab[1] == "LEAVE") { Room tmp = p.CurrentRoom; tmp.Send("ROM:PLAYER:LEAVE:" + p.GetName(), null); tmp.RemovePlayer(p); } if (tab[1] == "REFEREE") { Room tmp = p.CurrentRoom; List <IReferee> plugins = m_plugin.GetReferees(); IReferee iref = null; for (int i = 0; i < plugins.Count; i++) { if (plugins[i].GetName() == tab[2]) { iref = plugins[i]; } } if (iref != null) { tmp.AddReferee(iref); p.CurrentRoom.Send("ROM:REFEREE:SELECTED:" + tmp.GetReferee().GetName(), null); } else { p.Send("ROM:REFEREE:KO"); } } if (tab[1] == "START") { // Make PlayerData List if (p.CurrentRoom.GetReferee() == null) { p.Send("ROM:START:KO"); return(true); } Room tmp = p.CurrentRoom; List <PlayerData> ltmp = new List <PlayerData>(); tmp.Send("STR:" + p.GetName(), null); for (int i = 0; i < tmp.GetPlayer(); i++) { ltmp.Add(tmp.GetPlayer(i)); } p.CurrentRoom.GetReferee().NewGame(ltmp); for (int i = 0; i < tmp.GetPlayer(); i++) { SendHandTiles(tmp.GetPlayer(i)); } SendTurn(p); } return(true); }
public RefereeController(IRepository repository, IReferee referee) { _repository = repository; _referee = referee; }