In order to draw a picture on the screen, you should use the following commands in the correct order:
load.pic(vA); draw.pic(vA); discard.pic(vA); .. show.pic();
The interpreter stores two different screens in memory - the visual screen and the priority screen. When you use the first three commands above, you are updating both of these screens in memory. However, you are not updating what is displayed on the actual screen that the player sees. This is only done when the show.pic command is used. You should do this directly after the first three commands, unless you need to also set up some screen objects in between.
The reason the first parameter of load.pic, draw.pic and discard.pic is a variable is because most times these commands are used, the parameter given is v0 (the current room number). Most rooms you see will have the following at the start:
load.pic(v0); draw.pic(v0); discard.pic(v0);
If you want to load a picture other than the current room number, you will need to set the value of a variable to that number and then give the variable as the parameter.