Class RemoveColumnCard

java.lang.Object
ca.uqam.info.controller.RemoveColumnCard
All Implemented Interfaces:
ca.uqam.info.mgl7010.max.skyjo.controller.Command

public class RemoveColumnCard extends Object implements ca.uqam.info.mgl7010.max.skyjo.controller.Command
Command implementation for removing a column from the player card
Version:
3.1
Author:
Mohamed Latif Diallo, Hamza Afif, Ussel Sabbat
  • Constructor Summary

    Constructors
    Constructor
    Description
    RemoveColumnCard(ca.uqam.info.mgl7010.max.skyjo.model.SkyjoModel model, int col)
    Constructs a new RevealCardCommand with the specified game model.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Executes the reveal card command by: 1.
    ca.uqam.info.mgl7010.max.skyjo.controller.Command[]
    Returns any follow-up commands that should be available after this command executes.
    boolean
    Indicates whether this command supports undo operations.
    Returns the name of the command
    void
    Undo operation for this command.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • RemoveColumnCard

      public RemoveColumnCard(ca.uqam.info.mgl7010.max.skyjo.model.SkyjoModel model, int col)
      Constructs a new RevealCardCommand with the specified game model.
      Parameters:
      model - the Skyjo game model instance, must not be null
      col - column of the player game
  • Method Details

    • execute

      public void execute()
      Executes the reveal card command by: 1. Searching for the first hidden card in the current player's grid 2. Revealing that card (flipping it face-up) 3. Checking if this action triggers game end (all player cards revealed) 4. Advancing to the next player's turn The search follows row-major order (left to right, top to bottom) to find the first available hidden card position.
      Specified by:
      execute in interface ca.uqam.info.mgl7010.max.skyjo.controller.Command
    • undo

      public void undo()
      Undo operation for this command. Not implemented for TP2 requirements. This method is part of the Command interface but remains unused in this version.
      Specified by:
      undo in interface ca.uqam.info.mgl7010.max.skyjo.controller.Command
    • isUndoable

      public boolean isUndoable()
      Indicates whether this command supports undo operations.
      Specified by:
      isUndoable in interface ca.uqam.info.mgl7010.max.skyjo.controller.Command
      Returns:
      false as undo functionality is not implemented for TP2
    • getFollowUpCommands

      public ca.uqam.info.mgl7010.max.skyjo.controller.Command[] getFollowUpCommands()
      Returns any follow-up commands that should be available after this command executes. For RevealCardCommand, no follow-up commands are provided as the turn ends.
      Specified by:
      getFollowUpCommands in interface ca.uqam.info.mgl7010.max.skyjo.controller.Command
      Returns:
      empty array as the player's turn ends after revealing a card
    • toString

      public String toString()
      Returns the name of the command
      Overrides:
      toString in class Object
      Returns:
      a string representing the name of the class