User Story - amrouda50/Clash-Invasion GitHub Wiki

Version 1.0 Done by Amina/Omar

User Stories

AS A
I WANT TO
GIVEN
WHEN
THEN

Scenario: CONFIGURING THE GAME

AS A PLAYER
I WANT TO QUIT APPLICATION
GIVEN QUITTING APPLICATION
WHEN THE APPLICATION STARTS
THEN QUIT APPLICATION
AS A PLAYER
I WANT TO CHANGE MY NAME
1 GIVEN START A NEW GAME

CONFIGURE THE GAME

1 - ENTERS HIS NAME
WHEN HE ENTERS NON-VALID NAME (SMALLER THAN 8 CHARACTERS OR ONLY NUMBERS OR EMPTY)
THEN THE PROGRAM ASKS FOR NAME AGAIN
AS A PLAYER
I WANT TO CHOOSE MAP SIZE
GIVEN START A NEW GAME

CONFIGURE THE GAME

2 - CHOOSE MAP SIZE
WHEN HE ENTERS A VALID MAP SIZE (FROM THE CHECKBOX) AND THE NAME ENTERED IS VALID
THEN START THE GAME IN THE FIRST PHASE (BUILDING PHASE)
AS A PLAYER
I WANT TO CHANGE THE SETTINGS AFTER THE GAME STARTED
GIVEN QUITTING THE GAME OR SURRENDERING
WHEN CLICKING ON THE QUITTING BUTTON OR SURRENDER BUTTON
THEN IT GOES TO THE MAIN MENU
AS A PLAYER
I WANT TO CHANGE THE SETTINGS AFTER THE GAME STARTED
GIVEN CHANGING THE PLAYER’S NAME
WHEN CHANGING THE NAME
THEN VALIDATE AND CHANGE THE NAME
AS A PLAYER
I WANT TO CHANGE THE SETTINGS AFTER THE GAME STARTED
GIVEN RESTARTING THE GAME
WHEN RESTARTING THE GAME
THEN THE GAME RESTARTS SKIPPING THE CONFIGURATION PART

Scenario: AI

AS A PLAYER
I WANT TO PLAY AGAINST AI WHICH PLAYS INTELLIGENTLY
1 GIVEN THE GAME IS STARTED

AI IS CHOSEN AS THE OPPONENT
WHEN THE BUILDING PROCESS STARTS
THEN THE AI IS ABLE TO TRAIN A SOLDIER
3 GIVEN THE GAME IS STARTED

AI IS CHOSEN AS THE OPPONENT
WHEN THE BUILDING PROCESS STARTS
THEN AI IS ABLE TO BUILD A TOWER
4 GIVEN THE GAME IS STARTED

AI IS CHOSEN AS THE OPPONENT
WHEN THE BUILDING PROCESS STARTS
THEN AI IS ABLE TO BUILD AS MANY TOWERS AS IT CAN
5 GIVEN

Scenario: Building and Training Soldiers

AS A PLAYER
I WANT TO BUILD AND TRAIN SOLDIERS
GIVEN BUILDING ANY ENTITY
WHEN THE ENTITY IS BLOCKING THE WAY TO THE CASTLE
THEN GIVE AN ERROR (YOU NEED NOT TO BLOCK THE PATH)
AS A PLAYER
I WANT TO BUILD AND TRAIN SOLDIERS
GIVEN BUILDING ANY ENTITY
WHEN MORE THAN TWO BLOCKS FAR AWAY FROM A CURRENT TERRITORY
THEN GIVES AN ERROR ( YOU NEED TO BUILD NEAR YOUR TERRITORY)
AS A PLAYER
I WANT TO
GIVEN BUILDING ANY ENTITY
WHEN LESS THAN TWO BLOCKS FAR AWAY FROM A CURRENT TERRITORY (PLAYER HAVE SUFFICIENT FUNDS)
THEN ENTITY IS BUILT SUCCESSFULLY
AS A PLAYER
I WANT TO
GIVEN BUILDING ANY ENTITY
WHEN LESS THAN TWO BLOCKS FAR AWAY FROM A CURRENT TERRITORY (PLAYER HAVE NO SUFFICIENT FUNDS)
THEN ERROR IS GIVEN ( MONEY NEEDED)
AS A PLAYER
I WANT TO
GIVEN TRAINING OR UPGRADING SOLDIERS
WHEN SUFFICIENT FUNDS EXIST
THEN UPGRADE OR TRAIN SOLDIER SUCCESSFUL
AS A PLAYER
I WANT TO
GIVEN TRAINING OR UPGRADING SOLDIERS
WHEN NON SUFFICIENT FUNDS
THEN ERROR ( MONEY NEEDED)
AS A PLAYER
I WANT TO DO ALL MY TASKS IN BUILDING PHASE SMOOTHLY
1 GIVEN THE GAME IS STARTED

AND THE BUILDING PROCESS  STARTS
WHEN THE TRAIN SOLDIER IS CLICKED ON
THEN A SOLDIER IS TRAINED
2 GIVEN THE GAME IS STARTED

AND THE BUILDING PROCESS STARTS

AND SOLDIERS ARE BEING TRAINED
WHEN TRAIN SOLDIER IS CLICKED ON
THEN AS MANY SOLDIERS AS POSSIBLE CAN BE TRAINED
3 GIVEN THE GAME IS STARTED
WHEN THE BUILDING PROCESS STARTS
THEN SOLDIERS ARE TRAINED ACCORDING TO THE FUNDS AVAILABLE
AS A PLAYER
I WANT TO NOT HAVE A TOWER IN MY VICINITY
1 GIVEN THE GAME IS STARTED
WHEN THE BUILDING PROCESS STARTS
THEN THE ENEMY’S TOWER CAN NOT BE BUILT IN MY VICINITY

Scenario: Attack and Defense

AS A PLAYER
I WANT TO MAKE SURE THAT MY UNITS TAKE THE SHORTEST PATH AVAILABLE
1 GIVEN THE GAME IS STARTED

THE BUILDING PROCESS STARTS

THE BUILDING PROCESS ENDS
WHEN THE ATTACK PROCESS STARTS
THEN THE UNITS TAKE THE SHORTEST PATH AVAILABLE TO ENEMY’S CASTLE
AS A PLAYER
I WANT TO DEFEND MY CASTLE BY USING MY TOWERS TO ATTACK THE ENEMY
2 GIVEN THE GAME IS STARTED

THE BUILDING PROCESS STARTS

THE PLAYER TRAINS 5 SOLDIERS

THE BUILDING PROCESS ENDS
WHEN THE ATTACK PROCESS STARTS

THE ENEMY SOLDIERS INCH TOWARDS THE CASTLE
THEN THE TOWERS START SHOOTING THE UNITS DECREASING THEIR HEALTH
AS A PLAYER
I WANT TO START THE COMBAT
GIVEN THE COMBAT PROCESS STARTS
WHEN THE BUILDING PROCESS ENDS
THEN I ATTACK WITH MY SOLDIERS IN A CLEAR PATH TO THE CASTLE
AS A PLAYER
I WANT TO START THE COMBAT
GIVEN THE COMBAT PROCESS STARTS
WHEN THE BUILDING PROCESS ENDS
THEN I ATTACK IN A NON-CLEAR PATH (OBSTACLES EXIST) SOLDIERS PICKS THE SHORTEST PATH IN CONSIDERATION TO THE FOLLOWING
AS A PLAYER
I WANT TO START THE COMBAT
GIVEN THE COMBAT PROCESS STARTS
WHEN THE BUILDING PROCESS ENDS
THEN THE PLAYER DEFENDS HIS CASTLE BY ATTACKING ENEMY’S SOLDIERS USING THE TOWERS

SCENARIO: ENDING STATE OF GAME

AS A PLAYER
I WANT TO END THE GAME ONCE THE CASTLE IS DESTROYED
GIVEN THE END GAME STATE STARTS
WHEN THE PLAYER 1 WINS
THEN A POP UP MESSAGE COMES WITH THE PLAYER 1’S WIN
AS A PLAYER
I WANT TO END THE GAME ONCE THE CASTLE IS DESTROYED
GIVEN THE END GAME STATE STARTS
WHEN THE PLAYER 2 WINS
THEN A POP UP MESSAGE COMES WITH THE PLAYER 2’S WIN
⚠️ **GitHub.com Fallback** ⚠️