- gameMusic - Static variable in class edu.ucsb.cs56.projects.games.roguelike.Sound
-
- GamePiece - Interface in edu.ucsb.cs56.projects.games.roguelike
-
This class represents the various pieces in game
it could be a monster, player, or nothing
- GamePieceTest - Class in edu.ucsb.cs56.projects.games.roguelike
-
test class for my super class
- GamePieceTest() - Constructor for class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
- getAttack() - Method in class edu.ucsb.cs56.projects.games.roguelike.Monster
-
- getAttack() - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
- getBackgroundColors() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getCharHeight() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getChars() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getCharWidth() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getDefaultBackgroundColor() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getDefaultForegroundColor() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getDirection(int[]) - Method in class edu.ucsb.cs56.projects.games.roguelike.Monster
-
chooses what direction the monster moves in
- getEffect() - Method in class edu.ucsb.cs56.projects.games.roguelike.Item
-
gets the item's effect value
- getFloor() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
- getForegroundColors() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getGameOver() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
getter for boolean gameOver
- getGridHeight() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getGridWidth() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getHitPoints() - Method in class edu.ucsb.cs56.projects.games.roguelike.Monster
-
- getHitPoints() - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
- getIcon() - Method in class edu.ucsb.cs56.projects.games.roguelike.Bat
-
This is the getter to figure out what piece icon it is.
- getIcon() - Method in class edu.ucsb.cs56.projects.games.roguelike.Beef
-
This is the getter to figure out what piece icon it is.
- getIcon() - Method in class edu.ucsb.cs56.projects.games.roguelike.Elixir
-
This is the getter to figure out what piece icon it is.
- getIcon() - Method in interface edu.ucsb.cs56.projects.games.roguelike.GamePiece
-
This is the getter to figure out what piece icon it is.
- getIcon() - Method in class edu.ucsb.cs56.projects.games.roguelike.Golem
-
This is the getter to figure out what piece icon it is.
- getIcon() - Method in class edu.ucsb.cs56.projects.games.roguelike.HealthPotion
-
This is the getter to figure out what piece icon it is.
- getIcon() - Method in class edu.ucsb.cs56.projects.games.roguelike.Item
-
This is the getter to figure out what piece icon it is.
- getIcon() - Method in class edu.ucsb.cs56.projects.games.roguelike.Monster
-
This is the getter to figure out what piece icon it is.
- getIcon() - Method in class edu.ucsb.cs56.projects.games.roguelike.Pirate
-
This is the getter to figure out what piece icon it is.
- getIcon() - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
This is the getter to figure out what piece icon it is.
- getIcon() - Method in class edu.ucsb.cs56.projects.games.roguelike.Poison
-
This is the getter to figure out what piece icon it is.
- getIcon() - Method in class edu.ucsb.cs56.projects.games.roguelike.Snake
-
This is the getter to figure out what piece icon it is.
- getIcon() - Method in class edu.ucsb.cs56.projects.games.roguelike.Troll
-
This is the getter to figure out what piece icon it is.
- getIcon() - Method in class edu.ucsb.cs56.projects.games.roguelike.Zombie
-
This is the getter to figure out what piece icon it is.
- getInGame() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getItem(int, int) - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
- getLevel() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
- getMaxNumOfMonsters() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
- getMonsters() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
- getObject(int, int) - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
- getOldBackgroundColors() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getOldChars() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getOldForegroundColors() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getPlayer() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
- getPlayerPosition() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
- getPlayerPosition() - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
- getPointValue() - Method in class edu.ucsb.cs56.projects.games.roguelike.Monster
-
get the point value of the Monster
- getScore() - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
- getSpeed() - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
- getTypeOfPiece() - Method in interface edu.ucsb.cs56.projects.games.roguelike.GamePiece
-
This is the getter to figure out what piece it is.
- getTypeOfPiece() - Method in class edu.ucsb.cs56.projects.games.roguelike.Item
-
this tells what kind of piece it is
- getTypeOfPiece() - Method in class edu.ucsb.cs56.projects.games.roguelike.Monster
-
this gets the type of piece of the monster
- getTypeOfPiece() - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
this gets the type of piece of the object
- getUse() - Method in class edu.ucsb.cs56.projects.games.roguelike.Item
-
this gets whether or not the item has been used
- getXcoord() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- getYcoord() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- Golem - Class in edu.ucsb.cs56.projects.games.roguelike
-
This is a monster called a golem that is very healthy with a ton of attack.
- Golem() - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Golem
-
creates a Golem with 25 hitPoints and 5 attack with no random movement
- Golem(int) - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Golem
-
creates a Golem with 25 HP and 5 attack
- Golem(int, int, int) - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Golem
-
creates a Golem with hit points, attack, and random movement
- Golem(int, int, int, int) - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Golem
-
creates a Golem to the parameters given to it
- goToLosingScreen() - Static method in class edu.ucsb.cs56.projects.games.roguelike.RogueController
-
- gray - Static variable in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- green - Static variable in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- groundColor - Static variable in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- GUI - Class in edu.ucsb.cs56.projects.games.roguelike
-
GUI - used to make the main menu interface
- GUI() - Constructor for class edu.ucsb.cs56.projects.games.roguelike.GUI
-
This GUI class constructor makes the frame and the buttons
- magenta - Static variable in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- main(String[]) - Static method in class edu.ucsb.cs56.projects.games.roguelike.GUI
-
- main(String[]) - Static method in class edu.ucsb.cs56.projects.games.roguelike.RogueController
-
- menuMusic - Static variable in class edu.ucsb.cs56.projects.games.roguelike.Sound
-
- Monster - Class in edu.ucsb.cs56.projects.games.roguelike
-
A Monster class to represents monster in the game
- Monster() - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Monster
-
creates a monster with 20 hitPoints and 10 attack and no random movement
- Monster(int) - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Monster
-
creates a player with 20 hitPoints and 10 attack
- Monster(int, int, int) - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Monster
-
creates a player with 20 hitPoints and 10 attack
- Monster(int, int, int, int) - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Monster
-
creates a monster with the makers preference of status
- monsterAttack() - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
display the you were hit flag
- monsterIsDead(int, int) - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
check if the monster at position x,y has 0 or less hp
there is a chance of the monster dropping an item when it dies
- movable(int, int, int, int) - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
x and y are the position thats being tested
xOrig and yOrig are the position of the object now
- move(int, int, int, int) - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
move GamePiece from (xOrig,yOrig) to (x,y)
x and y are the position thats being tested
xOrig and yOrig are the position of the object now
- moveHero() - Method in class edu.ucsb.cs56.projects.games.roguelike.RogueController
-
Handles movement of player by checking if it can move there first through the logic engine
if it can move, invoke the canvas to animate it
if it can't, it checks if its because of out of bounds or a monster
if its a monster the player will attack it and its its dead the canvas will animate the removal of the monster
- moveHeroAnimated(int, int, int, int, int, int, int) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
moves the player to position xPosition,yPosition and updates its hp using write
- moveMonster() - Method in class edu.ucsb.cs56.projects.games.roguelike.RogueController
-
Handles movement of all monsters by checking if it can move there first through the logic engine
if it can move, invoke the canvas to animate it
if it can't, it checks if its because of out of bounds or a monster or a player
if its a player, the monster will attack it and if its a monster it will eat it
- moveMonster(int, int, GamePiece) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
moves the monster to position xPosition,yPosition
Prints the x and y coordinates of the character.
- setAttack(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.Monster
-
sets the attack of the monster
- setAttack(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
sets that player's attack
- setBackgroundColors(Color[][]) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- setButtonCharacteristics(JButton) - Method in class edu.ucsb.cs56.projects.games.roguelike.GUI
-
- setCharHeight(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
sets the height of a character.
- setChars(char[][]) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- setCharWidth(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
sets the width of a character.
- setCoords(int, int) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
sets the coordinates of where we want to draw of character
- setDefaultBackgroundColor(Color) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- setDefaultForegroundColor(Color) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- setEffect(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.Item
-
sets the item's effect value
- setForegroundColors(Color[][]) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- setGameOver(boolean) - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
setter for boolean gameOver
- setGridHeight(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
set the height of the grid.
- setGridWidth(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
set the width of the grid.
- setHitPoints(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.Monster
-
sets the hitPoints of the monster
- setHitPoints(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
sets the player's hitPoints
- setIcon(char) - Method in class edu.ucsb.cs56.projects.games.roguelike.Bat
-
This is the setter for the Icon it will be
- setIcon(char) - Method in class edu.ucsb.cs56.projects.games.roguelike.Beef
-
This is the setter for the Icon it will be
- setIcon(char) - Method in class edu.ucsb.cs56.projects.games.roguelike.Elixir
-
This is the setter for the Icon it will be
- setIcon(char) - Method in interface edu.ucsb.cs56.projects.games.roguelike.GamePiece
-
This is the setter for the Icon it will be
- setIcon(char) - Method in class edu.ucsb.cs56.projects.games.roguelike.Golem
-
This is the setter for the Icon it will be.
- setIcon(char) - Method in class edu.ucsb.cs56.projects.games.roguelike.HealthPotion
-
This is the setter for the Icon it will be
- setIcon(char) - Method in class edu.ucsb.cs56.projects.games.roguelike.Item
-
This is the setter for the Icon it will be
- setIcon(char) - Method in class edu.ucsb.cs56.projects.games.roguelike.Monster
-
This is the setter for the Icon it will be
- setIcon(char) - Method in class edu.ucsb.cs56.projects.games.roguelike.Pirate
-
This is the setter for the Icon it will be
- setIcon(char) - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
This is the setter for the Icon it will be
- setIcon(char) - Method in class edu.ucsb.cs56.projects.games.roguelike.Poison
-
This is the setter for the Icon it will be
- setIcon(char) - Method in class edu.ucsb.cs56.projects.games.roguelike.Snake
-
This is the setter for the Icon it will be
- setIcon(char) - Method in class edu.ucsb.cs56.projects.games.roguelike.Troll
-
This is the setter for the Icon it will be
- setIcon(char) - Method in class edu.ucsb.cs56.projects.games.roguelike.Zombie
-
This is the setter for the Icon it will be
- setInGame(boolean) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- setLevel(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
- setLevelBonus(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.Monster
-
a method that boosts stats on Monster for each level
i.e.
- setMaxNumOfMonsters(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
- setMonsterPosition(int, int) - Method in class edu.ucsb.cs56.projects.games.roguelike.Monster
-
- setOldBackgroundColors(Color[][]) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- setOldChars(char[][]) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- setOldForegroundColors(Color[][]) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
- setPlayerPosition(int[]) - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
- setPointValue(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.Monster
-
sets the pointValue of the Monster
- setScore(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
sets the player's Score
- setSpeed(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
sets the player's speed
- setTypeOfPiece(String) - Method in interface edu.ucsb.cs56.projects.games.roguelike.GamePiece
-
This is the setter for the TypeOfPiece it will be
- setTypeOfPiece(String) - Method in class edu.ucsb.cs56.projects.games.roguelike.Item
-
this allows the computer/programmer to set what type of piece this will be
- setTypeOfPiece(String) - Method in class edu.ucsb.cs56.projects.games.roguelike.Monster
-
this sets the type of piece of the monster
- setTypeOfPiece(String) - Method in class edu.ucsb.cs56.projects.games.roguelike.Player
-
this sets the type of piece of the object
- setUse(boolean) - Method in class edu.ucsb.cs56.projects.games.roguelike.Item
-
this sets whether the item has been used or not
- setXcoord(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
Sets the X coordinate for where the character is draw, must be within the size or the frame
- setYcoord(int) - Method in class edu.ucsb.cs56.projects.games.roguelike.RoguePanel
-
Set the Y coordinate for where the character is to be drawn, must be within the size of the frame
- Snake - Class in edu.ucsb.cs56.projects.games.roguelike
-
This class represents a monster called a snake that is low health, medium damaged melee creature.
- Snake() - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Snake
-
creates a snake with 5 hitPoints and 3 attack with no random movement
with icon S
- Snake(int) - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Snake
-
creates a snake with 5 HP and 3 attack with icon S
- Snake(int, int, int) - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Snake
-
creates a snake with hit points, attack, and random movement with icon S
- Snake(int, int, int, int) - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Snake
-
creates a Snake to the parameters given to it
- Sound - Class in edu.ucsb.cs56.projects.games.roguelike
-
This class stores music and methods to loop
or stop those songs
- Sound(String) - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Sound
-
- startx - Variable in class edu.ucsb.cs56.projects.games.roguelike.RogueController
-
- starty - Variable in class edu.ucsb.cs56.projects.games.roguelike.RogueController
-
- stop() - Method in class edu.ucsb.cs56.projects.games.roguelike.Sound
-
- storeMonsters() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngine
-
update the monster list based on the objects in floor
- SubMonsterTest - Class in edu.ucsb.cs56.projects.games.roguelike
-
test class for my subclasses
- SubMonsterTest() - Constructor for class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
- test_1ArgEffectBeefConstructor_andGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the 1 Arg constructor for Beef for
the effect should be 15 and used is false and it is an item
and has icon !
- test_1ArgEffectHPPotConstructor_andGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the 1 Arg constructor for HealthPotion an int effect
the effect should be 15 and used is false and it is an item
and has icon H
- test_1ArgEffectItemConstructor_andGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the 1 Arg constructor for an int effect
the effect should be 15 and used is false and it is an item
and has icon I
- test_1ArgEffectPoisonConstructor_andGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the 1 Arg constructor for Poison for
the effect should be 15 and used is false and it is an item
and has icon !
- test_1ArgUseBeefConstructor_andGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the 1 Arg constructor for beef for an int
the effect should be 10 and used is true and it is an item
and has icon !
- test_1ArgUseHPPotConstructor_andGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the 1 Arg constructor for Health Potion for an int
the effect should be 10 and used is true and it is an item
and has icon H
- test_1ArgUseItemConstructor_andGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the 1 Arg constructor for an int
the effect should be 10 and used is true and it is an item
and has icon I
- test_1ArgUsePoisonConstructor_andGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the 1 Arg constructor for Poison for an int
the effect should be 10 and used is true and it is an item
and has icon !
- test_3ArgConstructorBat() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
tests the Bat 3arg Constructor to see if it is still a Monster Type
with icon B
- test_3ArgConstructorBat() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a bat with 20 hp 24 att and 10points
- test_3ArgConstructorGolem() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
tests the Golem 3arg Constructor to see if it is still a Monster Type
with icon G
- test_3ArgConstructorGolem() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Golem with 50 hp 40 att and 20points
- test_3ArgConstructorMonster() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
tests the monsters 3arg Constructor to see if it is still a Monster Type
with icon M
- test_3ArgConstructorPirate() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
test the Pirate 3arg Constructor to see if it is still a Monster Type
with icon P
- test_3ArgConstructorPirate() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for Pirate with 25 hp 10 att and 25 points
- test_3ArgConstructorSnake() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
test the Snake 3arg Constructor to see if it is still a Monster Type
with icon S
- test_3ArgConstructorSnake() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for Snake with 10 hp 20 att and 15 points
- test_3ArgConstructorTroll() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
tests the Troll 3arg Constructor to see if it is still a Monster Type
- test_3ArgConstructorTroll() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Troll with 20 hp 25 att and 10points
- test_3ArgConstructorZombie() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
test the Zombie 3arg Constructor to see if it is still a Monster Type
with icon Z
- test_3ArgConstructorZombie() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for Zombie with 25 hp 10 att and 10 points
- test_4argConstructorBat() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a bat with 20 hp 30 att and 40points
- test_4argConstructorBatType() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
tests the Bat 4arg Constructor to see if it is still a Monster Type
with icon B
- test_4argConstructorGolem() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Golem with 50 hp 40 att and 20points
- test_4argConstructorGolemType() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
tests the Golem 4arg Constructor to see if it is still a Monster Type
with icon G
- test_4argConstructorMonsterType() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
tests the Monster 4arg Constructor to see if it is still a Monster Type
with icon M
- test_4argConstructorPirate() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for Pirate with 25 hp 25 att and 30 points
- test_4argConstructorPirateType() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
test the Pirate 4arg Constructor to see if it is still a Monster Type
with icon P
- test_4argConstructorSnake() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for Snake with 10 hp 20 att and 10 points
- test_4argConstructorSnakeType() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
test the Snake 4arg Constructor to see if it is still a Monster Type
with icon S
- test_4argConstructorTroll() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Troll with 30 hp 20 att and 40points
- test_4argConstructorTrollType() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
tests the Troll 4arg Constructor to see if it is still a Monster Type
with icon T
- test_4argConstructorZombie() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for Zombie with 25 hp 10 att and 20 points
- test_4argConstructorZombieType() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
test the Zombie 4arg Constructor to see if it is still a Monster Type
with icon Z
- test_BatSetter() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Bat with 1hp 2 att and 3points
- test_BeefOnPlayer() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests how a Beef affects a player
- test_defaulBatType_Constructor() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
this test that the Bat constructor works and is a Monster type
with icon B
- test_defaultBeefConstructor_andGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the default constructor.
- test_defaultBeefConstructorSettersandGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the default constructor with setters and getters
the effect should be 30 and used is true and it is a gameitem
- test_defaultConstructor_and_GettersBat() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a bat with 10 hp 10 att and 10points
- test_defaultConstructor_and_GettersGolem() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Golem with 50 hp 20 att and 20points
- test_defaultConstructor_and_GettersPirate() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Pirate with 20 hp 15 att and 20 points
- test_defaultConstructor_and_GettersSnake() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Snake with 5 hp 15 att and 10 points
- test_defaultConstructor_and_GettersTroll() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Troll with 15 hp 10 att and 15points
- test_defaultConstructor_and_GettersZombie() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Zombie with 20 hp 5 att and 15 points
- test_defaultGolemType_Constructor() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
this test that the Golem constructor works and is a Monster type
with icon G
- test_defaultHPPotConstructor_andGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the default constructor.
- test_defaultHPPotConstructorSettersandGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the default constructor with setters and getters
the effect should be 30 and used is true and it is a gameitem
- test_defaultItemConstructor_andGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the default constructor.
- test_defaultItemConstructorSettersandGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the default constructor.
- test_defaultMonsterType_Constructor() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
this tests that the monster constructor works and the type should be monster
with icon M
- test_defaultPirateType_Constructor() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
this test that the Pirate constructor works and is a Monster type with
icon P
- test_defaultPlayerType_Constructor() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
this tests that the player constructor works and the type should be player
with icon @
- test_defaultPoisonConstructor_andGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the default constructor.
- test_defaultPoisonConstructorSettersandGetters() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests the default constructor with setters and getters
the effect should be 30 and used is true and it is a gameitem
- test_defaultSnakeType_Constructor() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
this test that the Snake constructor works and is a Monster type with
icon S
- test_defaultTrollType_Constructor() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
this test that the Troll constructor works and is a Monster type
with icon T
- test_defaultZombieType_Constructor() - Method in class edu.ucsb.cs56.projects.games.roguelike.GamePieceTest
-
this test that the Zombie constructor works and is a Monster type with
icon Z
- test_GolemSetter() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Golem with 1 hp 2 att and 3points
- test_HealthPotionOnPlayer() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests how a HealthPotion affects a player
- test_itemOnPlayer() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests how an Item affects a player
- test_monster4arg() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Monster with 10 hp 20 att and 30points
- test_MonsterSetter() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a monster with 1 hp 2 att and 3points
- test_PirateSetter() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Pirate with 22 hp 19 att and 16 points
- test_PoisonOnPlayer() - Method in class edu.ucsb.cs56.projects.games.roguelike.ItemTest
-
this tests how a Poison affects a player
- test_SnakeSetter() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Snake with 3 hp 7 att and 12 points
- test_TrollSetter() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Troll with 1 hp 2 att and 3points
- test_ZombieSetter() - Method in class edu.ucsb.cs56.projects.games.roguelike.SubMonsterTest
-
tests for a Zombie with 16 hp 4 att and 11 points
- testMonsterStatus() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngineTest
-
test for a monster that is dead
- testMonsterStatus2() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngineTest
-
test for a monster that isnt dead
- testMovable() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngineTest
-
test to see if a player can move to a spot with a monster
- testMovable2() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngineTest
-
test to see if a monster can move to a spot with a player
- testMovable3() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngineTest
-
test to see if a monster/player can move to a spot that is empty
- testMovable4() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngineTest
-
test to see if a monster/player can move to a spot that is out of bound
- testMovable5() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngineTest
-
test to see if a monster/player can move to a spot that is out of bound
- testMovable6() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngineTest
-
test to see if a monster/player can move to a spot that is out of bound
- testMovable7() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngineTest
-
test to see if a monster/player can move to a spot that is out of bound
- testPlayerStatus() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngineTest
-
test for a dead player
- testPlayerStatus2() - Method in class edu.ucsb.cs56.projects.games.roguelike.LogicEngineTest
-
test for a player that isnt dead
- trackDiscovery() - Method in class edu.ucsb.cs56.projects.games.roguelike.RogueController
-
Records the areas where the player has revealed
- Troll - Class in edu.ucsb.cs56.projects.games.roguelike
-
This class represents a monster called a troll that is a medium damaged melee creature.
- Troll() - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Troll
-
creates a troll with 10 hitPoints and 3 attack with no random movement
with icon T
- Troll(int) - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Troll
-
creates a troll with 10 HP and 3 attack with icon T
- Troll(int, int, int) - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Troll
-
creates a troll with hit points, attack, and random movement with icon T
- Troll(int, int, int, int) - Constructor for class edu.ucsb.cs56.projects.games.roguelike.Troll
-
creates a Troll to the parameters given to it


|
|
|||||||||
| CH CPI (YoY%) | |||||||||
| Release Date | For Month | Market Expectation | Kshitij Expectation | Previous | Released | Revised | |||
| 8-Jan-18 | Dec-17 | - | - | 0.80 | 0.80 | 0.83 | |||
| 8-Feb-18 | Jan-18 | 0.8 | 0.83 | 0.83 | 0.70 | - | |||
| 8-Mar-18 | Feb-18 | 0.7 | - | 0.70 | 0.67 | - | |||
| 6-Apr-17 | Mar-18 | - | - | 0.67 | - | - | |||
| Copyright: Kshitij Consultancy Services |


The language:
Hints:
Any program must begin with the label
program
followed by the name of the program.
After any instruction the
;
character must be inserted.
In a souce file can contain several programs.
Instructions:
Name
Description
read
read [variable name];
write, writeln
write [variable name];
write ["text"];
writeln [variable name];
writeln ["text"];
if
if [condition] begin
[instructions]
end;
if [condition] begin
[instructions]
else begin [instructions]
end;


Logout
Search By Room Name
Filter
Building
Select Building
Floor
Select Floor
Capacity
Select Capacity
Amenities
{{amenity.name}}
Room(s) Available at ({{interfaceStartTime}} - {{interfaceEndTime}})
{{room.roomName}}
Building : {{room.buildingName}}
Floor : {{room.floor}}
Capacity : {{room.roomCapacity}} People
Amenities :
{{element}}


OrgBook BC is a searchable public directory of open verifiable data about organizations legally registered in BC.
This new service uses cutting-edge blockchain-based technology, which provides the foundation to help BC move to a digital economy.
OrgBook BC supports our goal to streamline and modernize services for British Columbians as part of our broader Digital Government Strategy.
Right now, you can use OrgBook BC to quickly verify if an organization is legally registered to do business in BC as a corporation. You can also find "Doing Business as" names registered by corporations.
In the future, verifiable data about other organizations types such as sole proprietors and societies will be added. As well, other important verifable data such as the permits, licenses, and other accreditations these organizations hold will be added to OrgBook BC.


Katie Price and Kris Boyson’s relationship ‘on the rocks’ again
Katie Price and Kris Boyson are apparently on the rocks again, as the former glamour model suffers another terrible week.
It comes after her iconic pink Range Rover was repossessed due to her unpaid debts, and was put up for sale at a car dealership in Chelmsford.
A source told The Sun: ‘They want to make it work but no-one would be surprised if they went their separate ways soon.
‘Katie’s had a terrible week and it has spilled over to rows with Kris.’
The pair were also photographed appearing to have an argument in the street during date night, where Kris was seen walking away from Katie as she followed on behind.
The tension in their relationship is said to be caused by her mounting money worries, as her £75,000 car was taken away to cover some of her debts.
Advertisement Advertisement
It’s also claimed that she didn’t have a chance to take her CDs out of the car or clean the vehicle before it was repossessed and sold at a car auction, before appearing on the forecourt of Saxton 4×4 in Chelmsford.
The source added: ‘Katie’s had a terrible week and it has spilled over to rows with Kris. Losing her car absolutely hit her for six.
‘She knew it could happen but was hoping the people she is paying to try and sort out her debts would stop it.
‘So she was blindsided when it was taken away and didn’t expect it. She didn’t have a chance to clean it or get any of the stuff like her CDs and other keepsakes in there out of it. She has been asking for all the stuff back.’
Katie is also in the middle of renovating her ‘mucky mansion’, including building another house in the grounds of her property, and is said to be staying with Kris in his home in Kent as well as crashing with family and friends while the works are underway.
Kris, 31, and Katie, 41, are said to be in a ‘make or break’ stage of their relationship after he ended up on the end of her frustrations over the loss of her car.
The source added: ‘Katie’s money problems have always been there but she seems to be getting a lot more stressed about it all at the moment and it has led to rows with Kris.
Advertisement Advertisement
‘They both desperately want to try and make it work but the next couple of weeks look like make or break for them. No would be surprised if they’d broken up by Christmas.’
Here’s hoping they can work it out.
Got a showbiz story?
If you've got a story, video or pictures get in touch with the Metro.co.uk Entertainment team by emailing us<EMAIL_ADDRESS>calling 020 3615 2145 or by visiting our Submit Stuff page - we'd love to hear from you.


November 7, 2014
Introducing Bass
A new app by the creators of Shutterbugg that lets you enjoy your favorite music everywhere you go.
November 7, 2014
A new app by the creators of Shutterbugg that lets you enjoy your favorite music everywhere you go.
November 5, 2014
November 4, 2014
November 2, 2014
November 8-12, 2014
November 21, 2014
December 5, 2014


Wednesday, July 11th
====================
AGENDA
=======
9.15 Morning
------------
Preliminaries. Getting wired up, scribe hit list, making the projector work etc.
9.30 Status. Timeline planning and firm commitments.
1. Charter and status. Briefly go over our charter success criteria and deliverables.
Get status on all of the work that has been done relative to the charter.
9.45 Required Charter Exit Functionalities (*Greg*, 45 mins)
Proposal for how to present the deliverables at charter end in September/the next EPICS meeting:
A list of small use cases and functionalities should be shown, and how you would do those with EPICS V4.
10.30 Status of Core PV* modules, Java and C++, with respect to the charter.
Objective is to be definitive about charter exit objectives *for each Deliverable individually*, and
timeline to charter exit. That is, what must be in late BETA by September, as a finer level of detail
than the Charter deliverables list.
3.1 *Marty* status report, 15 mins.
pvDataJava, pvIOCJava, pvDataC++, pvIOCC++.
In particular, pvIOC C++ on embedded IOC, for mediating V3 I/O ("Dirk's Use Case")
What will this take, is it possible by September? Should it form basis for next year?
easyPVA. Will this include RPC and PVStructure?
3.2 *Matej*, status report, 15 mins.
pvAccessJava,
pvAccessCPP
eget - will this include channelRPC? Confirm only waiting on Normative Types?
3.3 *David*, status of unsigned and report on the status of RPC in both Java and C++ support, 20 mins.
3.4 Ralph (although won't be there)
Will the Charter DS deliverables be met?
1.30 Afternoon
--------------
1.30 Data Services, Programming Clients, and High Level Data Types
* Status and demos of applications and services.
PSI orbit acquisition, (*Timo* 10 mins)
PSI modelling (*Greg*, 30 mins)
EasyPVA review (*Greg*, 30 mins)
First review, what's still required, plus lessons for architecture of EPICS V4 w.r.t. the Directory
Service and its relation to services and clients from writing a practical orbit correction application
in matlab using EPICS V4.
BNL physics status and demos (*Guobao*, 20 mins)
3.30 pm Normative Types.
Return to the matter of self identification of Normative Types, and their programming interface
(*Greg*, 60 mins)
MINUTES
=======
Present: DH, Mark Heron (MH) subject to availability), BD, GS, MK, Philip Taylor (PT), Michael Abbot (MA), JR, TK, Daniel Meyer (DM), Markus Janousch (MJ), MS, Daron Chabot (DC)
Scribes: DH, BD, GS
********
NEW TOPIC: Status. Timeline planning and firm commitments.
********
GW: Review charter deliverables with 3 months to go.
1. pvAccess spec - in hand..
2. normative doc pvData protocol.
3. Norrmative doc EV4 IOC processing pipeline. IOC overview document will do for this. Java and C++ v versions different. No record processing in C++.
4-.6 Mostly done. Using this.
7. Normative types at draft stage. Waiting on input from Michael Davidsaver. Various people (BNL) want this.
8. Directory service. Ralph hopes to have this done. Full implentation dependent on fully async RPC.
9. Services API.
GW:Part of pvacess/pvdata done.
MK: Does Services API depend on normative types?
GW: No. They're independent. Possible to do services without NT
MJ: Can [the list of] normative types be added to?
GW: No (unless you're the WG). NTs are well defined and stable data types defined in terms of PVStructures, for common physics operations. Of course, individual users or labs can define their own PVStructures for their own applications.]
MJ: If get widely used new type can it be added.
GW/BD: Yes, by the working group.
10. V3/V4 Interop doc. Not really started. Only requires a rreport. Nice if actually works.
11. Performance report. Report not done but services exist. Have to retest everything [following the changes made for beta 2].
***********
AI on MS by <not defined>: write performance report. Required date is subject to when a stable release can be measured.
***********
12. Getting startarted doc done. Can add to it when new features donone.
13. Done.
14. eget. 60% done. Framework done. not linked to interoperable types. Technical issue service api to be utnderstood by eget
15-16. RL working on this. When he gets going on this "it will be don real quick"
********
NEW TOPIC: Required Charter Exit Functionalities
********
<GW: Goes through eget interface and output. - see end of these minutes.>
**********
ISSUE: If add accessing V3 PVs through eget this is dependent on determing provider.
**********
Usual discussion on alternatives (one at a time, broadcast on both, what if two respond, use directory service, dependent on service knowing PV names.)
Discussion on "Dirk requirement." GW: Just requires embededded gather. "Just go to pv and get values and put in vector".
Just has to handle V3 types (scalar, waveform).
BD: Shouldn't return Multichannel array [since that NT is for a homogenous set of PVs, not for a mixed bag of PVs as is the Dirk Requirement].
GW: 2 types of multichannel arrays. The new kind is for the Dirk Requirement
BD: Can you confirm want you want Dirk to do.
(GW adds to his doc.)
GW: Should be able for BD to standup at net next EPICS meeting at demo everything in doc.
***********
NEW TOPIC: Marty reports on status of pvData, pvIOC java and C++.
***********
pvData
-no documentation has been changed to reflect the changes most recently made.
Documentation is to be started in August and completed by the end of August. This is a revision of the overview documents to reflect the changes.
Unsigned conversion is the only test that did not pass. David will fix this issue.
pvIOC
caV3 is up to Matej to inform Marty on this connection.
pvAccess is not connecting propoerly. Requires working with Matej
pvService
On rpc and gather code should remain
*********
AI GS by ????: to remove the remaining application packages out of pvService repository, so that pvService
contains only RPC and gather.
*********
C++ status
pvData - ready for testing with pvAccessXCPP and pvIOCCPP
Needs more tests on array types such as image
pvIOCCPP
example Service RPC is working. - except the exit is throwing an exception.
testV3Channel
PVGet to get data is crashing.
V3 channel access does not support unsigned - but the records do support it.
The V4 service to the V3 records is capable of handling the unsigned values.....
pvServiceCPP
Only supports of client side of gather.
Will support unsigned from the V3 database through the V4 service.
PVAccess - unsigned, structure provides the name of a field - not the field.
Test server is not up, as the server is not up.
C++ - compiles, works, but it needs more testing. It is not codek(sp) based.
Specification is not aligned with the implementation. These will be slowly added, but not included in the release.
What is needed for completion of pvCore beta 2:
AI GW: provide headers for copyright
AI MK: V3 Channel needs unsigned support, (PVAccess C++)
AI MK: and MS Remote PV Access is failing
AI MS: make changes to PVAccess to make the tests compatible with Marty's changes.
AI MK: and MS - make documentation at the beginning
AI MK: and MS - internal use of Beta 2 ready July 31st.
****************
NEW TOPIC: status of unsigned and report on the status of RPC in both Java and C++ support (David)
****************
*******
AI on DH by July 31: Finish implementation & bug fixed unsigned types in Java.
Complete Unsigned request on both Server and Client sides in Java
*******
Create helper header in Java for channel archiver rpc server [??]
AI on DH by July 31: implement C++ interface of pvService RPC client, symmentric with Java client side interface As Much As Possible
ChannelRPC in java is in pvServiceJava client
Channel RPC presently is implemented as a pvIOC. channelRPC and should be decoupled from record proocessing,
since record processing is not implemented in CPP. In this way, channelRPC can be implemented symmetrically
and completely on server side in both java and CPP.
AI on MS by July 31: decouple rpc server side from java ioc record processing, and put it into pvAccess. Move channel RPC from pvIOCCPP to pvAccessCPP.
ISSUE: Multi-threading will not be implemented in CPP for now
GW: where is C++ implementation?
MK: current, at pvIOCCPP, can be moved into pvAccessCPP
MS: interface implementation will not be symmentric
BD: Does James have time to look at server side in C++?
JS: need a good design first.
BD: may be next cycle. Sometime Oct. 1
BD says DS by Ralph will be done by July 31.
GW: RH said he needs mullti-threading
****************
NEW TOPIC: Demo of PSI model system (greg)
****************
In Matlab:
--------------
modelconstants
status = modelrun(ARAMIS, DONT_INCLUDE_GUN, DESIGN_MODELTYPE, OPTICS_NOMINAL, Q_NOMINAL, P0_NOMINAL);
status = modelrun(0, 0, 1, [48.09 0.36 48.08 .36], 2.0e-10, 274.28);
status = modelrun(ATHOS, DONT_INCLUDE_GUN, DESIGN_MODELTYPE, OPTICS_NOMINAL, Q_NOMINAL, P0_NOMINAL);
modelplot
status = modelupload('Aramis with nominal initial conditions');
modelsetgold
also
modelplot_given(ARAMIS);
status = modelupload_given(ARAMIS,DONT_INCLUDE_GUN,DESIGN_MODELTYPE,...
OPTICS_NOMINAL, Q_NOMINAL, P0_NOMINAL, Lastmodelrun_lattice, ...
'Aramis with nominal initial conditions, 2nd upload to BD database');
modelsetgold_given(11) - sets runid 12 to gold.
Get model data from rdbService:
Start a EPICS V4 server:
cd Development/epicsV4/workspace_hg/exampleJava/src/rdbService/
./rdbServerRunner
Get model data:
-----------------------
getmodel model:beampaths
getmodel model:runs
getmodel swissfelmodel:nominal_initial_conditions
getmodel model:aramis:design:gold
getmodel model:aramis:extant:gold
****************
NEW TOPIC: orbit service: TK
****************
TK: Aims to create synchronous BPM orbit service using gather and PSI/SLAC synchronous acq pattern.
Add to easyPVA unsign to document through giving helper method Java implementation (a hint how to do it)
AI on MS by middle of AUG(???): add support for structure to eazyPVA & add RPC to eazyPVA Java
DH will go through previous AI to support RPC in pvService C++
API should be symmetric
MS to create eazy channel RPC binding
List of Technical Issues and Requirements outstanding for Charter exit:
-------------------------------------------------------------------------------------------------------
The following list was added to intermittently through the meeting:
1. Add the following to EasyPVA
a. request for PVStructure
b. arguments as part of request for data (that is support for channelRPC).
2. Module on V3 IOC to aggregate V3 IOC data and return v4 structure (Dirk Request).
MS priorities:
-------------------
1. Complete changes for introspection and unsigned + tests (beta 2)
2. Add pvStructure and RPC to EasyPVA Java implementation
3. Add NTs to CSS
4. Add async to channelRPC
5. Add support for NTs to eget
6. Performance report
Also MS will be figuring out technical issues for switching ca/pvAccess provider. Note that this may be complicated when a V3 PV is accessible through either CA or pvAccess.
EPICS V4 CHARTER EXIT FUNCTIONALITIES USE CASE OBJECTIVES PROPOSAL
This is a proposal for the objectives of the EPICS V4 charter exit (what should be finished
at the end of our charter period). The list is expressed as a list of examples, from
the perspective of a command line user.
Basic Get and Put
=================
* Get the value of an V3 PV
> eget QUAD:34:ELECTRICCURRENT
- Get the values of all the V3 CA standard fields (-r is pvAccess request string)
- > eget QUAD:34:FIELD -r 'field()'
* Get the value of an UNSIGNED V3 record
[Can't think of a sensible large number, but can think of many that would only be +ve]
> eget BEAM:RATE
60
* Get the value of a V4 scalar pv
> eget XCOR:LI:34:IACT
23.3
* Get the value of a V4 array pv to the command line
> eget QAUD:LI:18:POLYOMIALS
34.6
19.5
29.3
* Put the value of a V4 scalar pv
> eput -v 34.4 XCOR:LI:34:IDES
* Put the value of a V4 array PV
> eput -v 34.4 19.6 29.3 XCOR:LI:34:IDES
* Put the value of a V3 waveform
> eput -v 34.4 19.6 29.3 QUAD:34:POLY
* Monitor the value of a simple type PV
> emon BPMS:LI34:X
* Get a NTMarix and print as a matrix
$ eget -a TYPE=DESIGN -a POS=MID -a RUN=LATEST QUAD:LI21:271/R
0.23 0.1234 0.0 0.0 0.067562 0.001167
-0.34520 0.0923 0.0 0.0 0.046981 0.001514
0.0 0.0 1.881007 4.857304 0.0 0.0
0.0 0.0 -1.50064 -3.862346 0.0 0.0
-0.00132 -0.001129 0.0 0.0 0.224701 0.003894
0.162595 0.10285 0.0 0.0 -19.603 -0.233109
* Get a NTTable and print as a table
$ eget -a start="3 minutes ago" -a end="now" -a p=12 QUAD34_Bfield
TimePastEpoch(s) Value Date Alarm
496169397.856321000 7.355487346649e-02 Wed Jun 21 17:49:57 2012 NO ALARM
496169401.996447000 1.682446300983e-01 Wed Jun 21 17:50:01 2012 NO ALARM
496169410.052636000 2.558367252350e-01 Wed Jun 21 17:50:10 2012 NO ALARM
496169420.109690000 3.173123300076e-01 Wed Jun 21 17:50:20 2012 NO ALARM
...
* Get values according to arguments in a consistent way from any RPC service
See examples eget -a above.
Use Cases of Directory Service
------------------------------
* Get the names of a number of PVs, where their names match a string, using the Directory Service. Ideally, sort by a tag or option. E.g.:
> eget -s DirectoryService -a pattern 'XCOR:*:BDES' -a options "sortbyz"
XCOR:1:BDES
XCOR:20:BDES
XCOR:44:BDES
XCOR:68:BDES
XCOR:89:BDES
...
Extra credit: ideally not just * but regular expression.
Eg. Print the value of BDES from all correctors whose PV name matches the pattern XCOR:LI:*:BDES
> eget -s DirectoryService -a pattern=XCOR:*:BDES -a options="sortbyz" -a beampath=0 | eget -t
XCOR:1:BDES 23.5
XCOR:20:BDES 34.5
XCOR:44:BDES 15.5
XCOR:68:BDES 13.7
XCOR:89:BDES 34.5
...
* Get the value of a number of PVs, where the names match the conjunction (AND) of Directory Service tags
E.g.: Print the value of the desired B field (BDES) from all correctors in the (SwissFEL) section SINBC01
> eget -s DirectoryService -a property='section=SINBC01' -a property='type=COR' tag='BDES' -options="sortbyz" | eget -t
sinbc01.cor01:B 23.34345
sinbc01.cor02:B 43.47543
Use Cases of gather service
===========================
* Use of an ad hoc Gather to get the field value (V3 PVs) of many magnets or BPMs.
Show use of gather service to simply give LATEST gathered values from a Gather record defined by the client:
So this is something probably done in Matlab
Use gather API to watch and gather data from named magnets:
TODO, show pseudocode
<include python example from BNL>
* Get synchronous BPM orbit data from a BPM service, that is using the gather service in combination with a SLAC/PSI
like BPM synchronous data system. Data form is NTTable.
> eget -a Npulses=3 SwissFELTI:sync:bpmorbit
pulse_Id bpm_name X Y TMIT Status
31330 sinlh01.diag01.bpm 0.331939 -0.20821595 9.2273582E9 OK
31690 sinlh01.diag01.bpm 0.343939 -0.21321534 9.3973582E9 OK
32056 sinlh01.diag01.bpm 0.343939 -0.21321534 9.3973582E9 OK
31330 sinlh02.diag01.bpm 0.430091 -0.19211863 9.4554767E9 OK
31690 sinlh02.diag01.bpm 0.429820 -0.18054654 9.3577114E9 OK
32056 sinlh02.diag01.bpm 0.476549 -0.23452345 9.3245235E9 OK
... snipped many more
Total number of rows printed would be M bpms in the gather record named SwissFELTI:sync:bpmorbit, times
N pulses
* Get the values of a number of V3 PVs from one V3 IOC, through a V4 record on V3 IOC PVA
[ie, "The Dirk Requirement" ].
Ideally a heterogenous structure of V3 scalar and waveforms.
E.g. Get a summary of the PVs relating to a QUAD from an IOC. In this example the V4 PV
is QUAD:35:SUMMARY, showing that one might use the "physics" name for such summary
PVs, and their values might be composed of a structure of V3 PVs named with engineering names and their values:
> eget QUAD:35:SUMMARY
QUAD:SECT02:13:B.VAL 23.5
QUAD:SECT02:13:B.EGU KG-m
QUAD:SECT02:13:POLY.VAL 23234.2342 5435.34 753.3 4.34234 5.32E-23
QUAD:SECT02:13:E.VAL 4.454
QUAD:SECT02:13:E.EGU GeV
EasyPVA from Matlab.
-------------------
* Example of orbit correction from Matlab, done using easyPVA
Illustrates requirements for:
1. EasyPVA understanding request for PVStructure
2. EasyPVA understanding arguments as part of request for data
3. EasyPVA understanding that an argument TO a service may be an array
(in the example a table of magnet names and B field values)
Also assumes the Directory Service requirement articulated above to get Corrector and BPM names
-------------------------------
% SwissFEL orbit correction in 1/2 page of matlab
%
import org.epics.ca.easyPVA.*;
easyPVA = EasyPVAFactory.get();
% Get the names of all the Correctors and BPMs from the Directory Service
corrNamesChan = easyPVA.createChannel('DS:SwissFEL:GUN_to_ARAMIS');
corrNamesChan.addArgument('DEVICETYPETAG','XCOR');
corrNames = corrNamesChan.createGet().getStringArray();
bpmNamesChan = easyPVA.createChannel('DS:SwissFEL:GUN_to_ARAMIS');
bpmNamesChan.addArgument('DEVICETYPETAG','BPMS');
bpmNames = bpmNamesChan.createGet().getStringArray();
Ncor = length(corrNames);
Mbpm = length(bpmNames);
% Get BPM x orbit from the BPM service.
b = easyPVA.createChannel(...
'BPMORBIT:SwissFEL:GUN_to_ARAMIS').createGet().getDoubleArray();
% Form the Ax-b problem getting Rmats from the Model Service
modelmatrixChan = easyPVA.createChannel('model:aramis:gold:extant:R');
for bpmi = 1:Mbpm;
modelmatrixChan.addArgument('to',bpmNames(bpmi));
for corj = 1:Ncor;
modelmatrixChan.addArgument('from',corrNames(corj));
rmatAtoB_pvStruct = modelmatrixChan.createGet().getPVStructure();
RmatCorToBpm = toMatrix(rmatAtoB_pvStruct);
A(bpmi, corj) = RmatCorToBpm(1,2);
end
end
% 2 lines of actual physics
x = inv(A)*b; % Solve Ax-b
newBDESes = -KtoB(x); % new B field values from K to B
% Deploy the new magnet settings.
magSetChan = easyPVA.createChannel('MAGNETSET');
magSetChan.addArgument('magnetlist',corrNames);
magSetChan.createPut().putDoubleArray(newBDESes,length(newBDESes));
-----------------------------
* EasyPVA to "put" a PVStructure to a service or PV
add example.


Note: Research master branch /docs folder
Navigate to the github repository that you want to add to your gitpages.
Example: github.com/repository_to_add_to_gitpagesSelect the menu item settings to open the settings pages
Scroll down to the section for GitHub Pages and Select Your Source of Master
Note: Research master branch /docs folderThat's it, your done! Navigate to your gitpage of this repo.
Example: kshep425.github.io/portfolio-kds