Making a puzzle

Good Day,
Is there way to do this in InDesign:
Have a single background image (jpg or PDF) which you draw a puzzle pieces on top of using the Pen Tool (properly closing each of the pieces).
Then, embed that bottom image as positioned in _each_ of the puzzle pieces so that it can be 'broken up' as individual pieces, but retain the image, as positioned?
This would save LOT of work
Currently using CS3
Thanks!

It's not really any strength of ID's. If I were to try what you suggest, I'd use a more graphically oriented program like Illustrator.

Similar Messages

  • Making Chess puzzle in Flash

    Hi guys!
    I'm pretty new to Flash, but I love chess and would like to
    make chess puzzles in Flash to get more familiar with the program.
    I've looked in my CS3 book and browsed google for tutorials, but
    didn't find any on chess. Then I figured that maybe some nice
    people at these forums would help me out!
    I have a board and my pieces, and I imagine it like, say, 4
    squares will be highlighted, and then the user can drag a chess
    piece onto any of them, but only one will be right (the others
    produce failure messages). Then when they find the right square, I
    make the game make a move, and then they have to find the next
    move, then the game moves, and then they have to find the mating
    move.
    Frankly, I don't know what to type in my actionscript for
    this to happen.
    Help me out a bit?
    Thanks, Carina
    www.carlinart.net (<-- home to my other chess art
    ;))

    Hi Carina,
    just something to get you going, this could be a way to set
    it up.
    It assumes there's a number of movieClips on the stage with
    instancenames like in the array.
    it assumes you actually guide the player through a set of
    moves like
    replaying a done game, possible position of other pieces are
    not taken
    into account
    Watch for wrapping...
    // these are the square movieClipt that make up the board,
    not a
    complete board,
    // nor the smartest way to set it up, but for a small POC
    it's OK
    var board:Array = new Array();
    board.push( new Array( sq_00_mc, sq_01_mc, sq_02_mc,
    sq_03_mc, sq_04_mc ) );
    board.push( new Array( sq_10_mc, sq_11_mc, sq_12_mc,
    sq_13_mc, sq_14_mc ) );
    board.push( new Array( sq_20_mc, sq_21_mc, sq_22_mc,
    sq_23_mc, sq_24_mc ) );
    board.push( new Array( sq_30_mc, sq_31_mc, sq_32_mc,
    sq_33_mc, sq_34_mc ) );
    board.push( new Array( sq_40_mc, sq_41_mc, sq_42_mc,
    sq_43_mc, sq_44_mc ) );
    // possible moves this game
    var moves:Array = new Array();
    // first move of game, each move should contain a
    startposition,
    possible moves (and possible a 'solution-position'?)
    moves.push( { startpos: {x: 3, y: 2}, possiblemoves: new
    Array( {x: 3,
    y: 1}, {x: 2, y: 2}, {x: 3, y: 3} ) } );
    // etc. for other moves
    // set move to 0, the first
    var currentMove:uint = 0;
    // load move into game
    loadMove( moves[ currentMove ] );
    function loadMove( aMove:Object )
    // get square of current moveable piece
    var currSquare:MovieClip = board[ aMove.startpos.y ][
    aMove.startpos.x ];
    // hilight startpos of currentMove
    currSquare.transform.colorTransform = new ColorTransform( 1,
    1, 1, 1,
    0, 0, 128, 0 );
    for ( var i:uint = 0; i < aMove.possiblemoves.length; i++
    currSquare = board[ aMove.possiblemoves
    .y ][
    aMove.possiblemoves.x ];
    trace( currSquare.name );
    currSquare.transform.colorTransform = new ColorTransform( 1,
    1, 1, 1,
    0, 0, 128, 0 );
    Manno Bult
    http://www.aloft.nl

  • Puzzle problem

    Hi there,
    I'm making a puzzle-type game that has the ability to solve itself. I want to put a small delay before each move so I placed a
    try{Thread.sleep(sleeptime);}
    catch(InterruptedException e) {}
    before the repaint call. The problem is that this is only delaying the re-paint not the other computations so that when it does repaint, after the specified delay, it could have made over a hundred moves instead of one. Any help would be hugely appreciated as this is the final piece of the program and I just want it finished.
    Thanks
    Mark

    May be, in this way:
    //in thread where you perform calculations
    //calculations finished
    try
        sleep(sleepTime);
    catch ....
    synchronized(yourGUIpanel)
              notify();
    //other thread
    while(true)
       synchronized(yourGUIpanel)
           try{
              wait();
              yourGUIpanel.repaint();
    }

  • Checking for an updated variable value in symbol timeline

    I'm making a puzzle which involves moving crates in a specific order to get a character from one side to the other. Take a look at http://tinyurl.com/c4vwcj9 to get the gist of it.
    Each crate is a symbol with it's own timeline. A crate may only move a pre-determined direction and distance once clicked. No more than 2 crates can be pulled out of the grid at any one time.
    The timeline of each symbol has three states: "Original", "Moved" and "Returned".
    If you have a play around with the puzzle as it stands so far, you will see most of the logic arguments work ok. However, the problem I have is when you pull a crate out of the grid and it needs to check if it can move back into place.
    To see what I mean:
    - Pull out the bottom left corner crate
    - Move the crate to the immediate right, thereby blocking the previous crate
    - Try to move the bottom left corner crate again (you should get an error message and it shouldn't move - this is fine)
    - Move the other crate back to it's original position to unblock the previous crate
    - Try to move the bottom left corner crate a final time (you still get the error message and it doesn't move - this is not fine!)
    A quick debug has revealed the second mouse click doesn't fetch the updated variable AFTER the symbol timeline begins to play, but the same methodology works just fine for crates that check for impeded movement BEFORE a symbol timeline is played (try one of the inner crates). Why isn't it getting the updated value and what can I do to solve it?
    Below is a sample of the code specific to the bottom left crate. I've highlighted the variable and arguments specific to the problem. Please excuse what is no doubt poor Javascript coding conventions - I only started learning this last week!
    //-- Get needed variables
    // Check to see if other crate is impeding movement and define value as a variable
    var myCrateCheck = sym.getComposition().getStage().getSymbol("_b_2x1crate_h").getVariable("Crate2");
    // Check to see what this crate's status is and define value as a variable
    var mySelfCheck = sym.getComposition().getStage().getSymbol("_bl_3x1crate_h").getVariable("Crate1");
    // Check to see if other crates have been moved out of the main grid. Parse value as an integer in base 10.
    var myGridCheck1 = parseInt(sym.getComposition().getStage().getSymbol("_br_2x1crate_v").getVariable("Crate3_ grid"),10);
    var myGridCheck2 = parseInt(sym.getComposition().getStage().getSymbol("_bl_4x1crate").getVariable("Crate4_gr id"),10);
    var myGridCheck3 = parseInt(sym.getComposition().getStage().getSymbol("_bl_2x2crate").getVariable("Crate5_gr id"),10);
    var myGridCheck4 = parseInt(sym.getComposition().getStage().getSymbol("_cl_2x1crate_h").getVariable("Crate9_ grid"),10);
    var myGridCheck5 = parseInt(sym.getComposition().getStage().getSymbol("_cl_1x1crate_1").getVariable("Crate13 _grid"),10);
    var myGridCheck6 = parseInt(sym.getComposition().getStage().getSymbol("_cr_3x1crate_h").getVariable("Crate16 _grid"),10);
    var myGridCheck7 = parseInt(sym.getComposition().getStage().getSymbol("_tl_2x1crate_h").getVariable("Crate17 _grid"),10);
    var myGridCheck8 = parseInt(sym.getComposition().getStage().getSymbol("_tc_2x2crate").getVariable("Crate18_g rid"),10);
    var myGridCheck9 = parseInt(sym.getComposition().getStage().getSymbol("_tr_2x1crate_h_1").getVariable("Crate 19_grid"),10);
    var myGridCheck10 = parseInt(sym.getComposition().getStage().getSymbol("_tl_3x1crate_h").getVariable("Crate20 _grid"),10);
    var myGridCheck11 = parseInt(sym.getComposition().getStage().getSymbol("_tr_2x1crate_h_2").getVariable("Crate 21_grid"),10);
    // Create a variable called myGridCheckSum, make sure it's a number and sum the above
    var myGridCheckSum = 0;
    myGridCheckSum = myGridCheck1 + myGridCheck2 + myGridCheck3 + myGridCheck4 + myGridCheck5 + myGridCheck6 + myGridCheck7 + myGridCheck8 + myGridCheck9 + myGridCheck10 + myGridCheck11;
    //-- Logic & Conditional Statements
    // If this crate is in any position other than "Moved", and more than 1 box is already out of grid zone - prevent move and alert
    if ((mySelfCheck != "Moved") && (myGridCheckSum >1)){
    alert('Too many boxes outside of grid zone');
    sym.stop();
    // Or else, if this crate is in any position other than "Moved", but less than 2 boxes are out of grid zone - allow move
    else if ((mySelfCheck != "Moved") && (myGridCheckSum <2)){
    sym.play();
    // If this crate has moved but the other crate hasn't moved, play remainder of symbol timeline
    else if ((mySelfCheck == "Moved") && (myCrateCheck != "Moved")){
    sym.play(3001)
    // If this crate has moved and the other crate is also moved, alert and loop back on timeline
    else if (myCrateCheck == "Moved"){
    // Alert user to say crate cannot be moved
    alert('This box is being blocked by another!');
    sym.play(2999);

    Resolved. Silly little syntax error on a variable rewrite on another symbol!

  • Sudoku-Generator

    Does anybody know PL/SQL-code for generating Sudoku-puzzles?
    Cheers,
    Nuerni

    Thanks for above links. But all seem to be solvers not generators - it's obvious that making sudoku puzzles is more complex than solving.
    Another starting point would be migration from other code to PL/SQL...?! Any further ideas?

  • Really need help with a loading screen

    Ok, here's my problem, I'm making a puzzle game and I can't seem to make my loading screen work with my main menu. The loading screen is represented by an image filling up with colour where the colouring takes place by means of a thread (and there's a string as well that paints the %) . Now the loading screen is supposed to appear after i click the start button from the main menu and after completely filling up (or when the tread dies) the game panel is suppposed to be show on screen. Between the loading I initialize all the components for the game. Now, when I press the start button, the whole screen freezes (for the duration of the loading thread) after which the game screen appears. What puzzles me more is that if i don't add the game screen the loading screen works like a charm.
    Here's some of the code:
    public void actionPerformed(ActionEvent e){
    if(e.getActionCommand().compareTo("Start")==0){
    //initializing the panel for the loading
    ds=new Load();
    //initializing the thread that makes the panel rainbow dream
    anm=new Ompy();
    x.remove(pent); //pent is the jpanel containing the main menu with the customised buttons, and x is the reference to the current JFrame's content pane
    x.add(ds);
    pack();
    /* MediaTracker tracker=new MediaTracker(this);
    tracker.addImage(ds.pic.im,2); //i tried using a media tracker to wait for the image of the loading jpanel
    tracker.addImage(ds.fill.im,2);
    try{tracker.waitForID(2);}
    catch(InterruptedException ie){} */
    anm.start(); //i start the thread
    //without the folowing code the loading screen works perfectly
    some code
    Winx gs=new Winx(); //the panel containing the game interface
    some code
    while(anm.isAlive()){}
    x.remove(ds); // i remove the loading screen
    x.add(gs); //i add the game screen
    anm=null;
    ds=null;
    setVisible(true);
    gigaslave.requestFocusInWindow();
    pack();
    //here ends the code that shadows my loading screen :((
    else {System.exit(0);}}
    }I appreciate your help.

    Thanks for all your help ...this is what i have so far and am working with:
    import javax.swing.JOptionPane;
    public class TVRemote{
         int volume = 5;
         int channel = 5;
         public void channelUp(){
              if(channel < 25){
                   channel++;
         public void channelDown(){
              if(channel > 1){
                   channel--;
         public void volumeUp(){
              if(volume < 10){
                   volume++;
         public void volumeDown(){
              if(volume > 1){
                   volume--;
    public class VCRemote extends TVRemote{
         String tape = null;
         String mode = "Stop";
         public void insertTape(String t){
              tape = t;
         public void ejectTape(){
              tape = null;
         public void setMode(String m){
              mode = m;
         public String getMode(){
              return mode;
    public String getMode(){
              if(tape == null){
                   System.out.println("There is no tape");
              return mode;
    I know it does have to be set as 2 files....I still need to put in a rewind and fast forward option would that be done the same way that public void insetTape is done? also I was wondering how i will interface it with the user? Cause the only output i see is a display message that there isn't any tape in the vcr.
    Thankgs again for everyones help.

  • Disable Auto Align in Photomerge

    Good day.
    So far I got good reply.
    For now I wonder, can "Auto Align Selected Layers Based on Contents" be disabled during photomerge?
    Why do I want that?
    => First, most of times the auto align result is not good
    => it takes time to wait for window to appear, sometimes hangs
    => When all images are jumbled together, it is like making jigsaw puzzle.
    Actually I got used to Photoshop CS2 where I disable auto align check box...
    And I manually create the "mosaic" (not just a flat panorama) from images taken from microscope.
    Thanks in advance.

    r_vinoya wrote:
    However, even if I use interactive layout in PSE11 (trial version)...
    The software still attempts to "Auto Align''
    I don't know of a way to turn that off.
    r_vinoya wrote:
    is it possible to photomerge first without blending... then blend it later when you already fixed the image position?
    You can turn the blending off, but I don't think that automated blending later can be done.
    As it seems that you want to do most of the work manually, have you considered just creating a new blank image of the anticipated width and height of your final composite (plus a contingency) and dragging your source files to it to put each one on a layer where you can individually move them into place?
    There is a workaround to restore the interactive layout to PSE12 - http://forums.adobe.com/message/5741182. If you don't have access to PSE11 (you need to copy some of the PSE11 files) you can download its trial from http://prodesigntools.com/photoshop-elements-11-direct-download-links-pse-premiere-pre.htm l. Follow their very important instructions EXACTLY or you will likely encounter authorisation errors or download the latest version instead.
    Cheers,
    Neale
    Insanity is hereditary, you get it from your children
    If this post or another user's post resolves the original issue, please mark the posts as correct and/or helpful accordingly. This helps other users with similar trouble get answers to their questions quicker. Thanks.

  • Agent on 11g-puzlled

    Solaris 10 --i86
    An exploration of a newly acquired database;
    Somehow the agent installation details are making me puzzled:
    ORACLE_HOME=/opt/oracle/11g/oracle/product/11.2.0/db_1
    ps -ef |grep emagent
    /opt/oracle/11g/oracle/product/11.2.0/db_1/bin/emagent
    Agent Version : 10.2.0.4.2
    OMS Version : 10.2.0.4.2
    Protocol Version : 10.2.0.4.2
    Agent Home : /opt/oracle/11g/oracle/product/11.2.0/db_1/dbs2
    Agent binaries : /opt/oracle/11g/oracle/product/11.2.0/db_1
    Usually I'd make AGENT_HOME AS /opt/oracle/11g/oracle/product/11.2.0/agent
    and will never mix the bin if the db and the bin of the agent.
    Is the installation as described some kind of smart design or is a om?
    What do you think ?

    You did a
    emctl status agentOracle Enterprise Manager 11g Database Control Release 11.2.0.3.0
    Copyright (c) 1996, 2011 Oracle Corporation. All rights reserved.
    Agent Version : 10.2.0.4.4
    OMS Version : 10.2.0.4.4
    Protocol Version : 10.2.0.4.4
    10.2.0.x.x is the normal version for a agent. Even with oracle 11.2.0.3.
    Nothing to worry about :-)

  • Hard Drive is making a loud noise on my laptop! Help!

    Hello,
    I have owned my hp envy 17 laptop for almost 2 years now. Recently my computer has been making a really loud noise and it seems it is working a lot harder than it needs to be. I suspect the fan or the hard drive is the culprit but I have convinced myself it is the hard drive. 
    When I start up my computer the loud noise begins almost immediately after startup. This noise sounds like the computer is working as hard as it possibly can, almost making a grinding noise. Even after the computer has booted up, this noise continues for another minute or two before it stops, then my laptop becomes quiet. What puzzles me, and leads me to believe it is the hard drive, is the fact my computer get unreasonably hot when the noise occurs; it never used to do this before. 
    This is not what confuses and annoys me the most, it is the sound reoccurring again. This situation is something I have never heard of before. My laptop for some reason ,when it is moved or bumped, even the slightest, start to "rev" and the hard drive roars; it does this for five minutes or so. It also does this when the laptop is closed, and in "sleep mode"; the slightest bump lets it off like a baby. I suspect that there is a switch, flap or wire that is not attached properly and when moved it triggers the hard drive. 
    I have found a few small solutions to this problem. The main thing I do when the sound occurs is I close the laptop lid which puts it in sleep mode and turns off the hard drive, silencing it for the time being. This solution I came across by accident; I turned my laptop sideways when the sound occurs and the sound stops until I put the laptop upright again(Laptop is open). 
    I would like to hear your thoughts on this, a solution you might of have encountered or any explanation of the cause; also explain any costs. I have partially opened up my laptop and it looks in order to me with the dust at a minimum. I'd rather check online for a solution first before bringing it to a computer repair shop which, i'm willing to do as a last resort.
    Sincerely,
    Greg
    This question was solved.
    View Solution.

    Without hearing the sound it is hard to judge but it does not sound like a hard drive from your description. Hard drive noise is usually a rhythmic "click" not a sustained "whirr". That kind of noise comes from a cooling fan. We can test the hard drive in the BIOS. Tap F2 as you power up to enter UEFI diagnostics and look for the hard drive test. If you do not have UEFI diagnostics (i.e. your laptop came with Windows 7 not Windows 8) then tap F10 and look for a hard drive diagnostic in the old-school BIOS interface. 
    The Envy 17 series tends to run hot and cooling fan issues are not uncommon. Sometimes it can be fixed by self-help such as blowing out the fan with compressed air. If it is the fan, the replacement fan is not too expensive but labor might run $80-150 for replacing the fan. Post back with any questions. 
    If you are going to post back please give us your full model number found on the bottom of the laptop or in the battery bay. 

  • Here's a layout puzzle looking for a good solution

    Does anyone have ideas what the best way to do this might be?
    I am writing a long book text (several hundred pages) which should be in a single continuous column. I want to have occasional brief notes placed outside the text and alongside, in the margin, as it were. I also want the margin notes to be tied to specific points in the text. (I.e. if I edit the main text body, so that the text shifts up or down, I naturally want the margin notes to move along with the text they are going with.)
    I've thought of various possible ways of doing this, but none of them seems very elegant, and Pages is nothing if not elegant and simple, so I'm sure there must be a way....
    (1) one way theoretically is to set up the page with two columns, making one of them for the main text and occupying most of the width of the page, say 5", then have a narrow column alongside, say 2", to hold the side-notes (which presumably could be done by lots of small textboxes. But I can't see how to stop Pages from treating the two columns as both being receptacles for the main text and flowing the text from the 5" column into the adjacent 2" column. Am I missing something? (Probably!)
    (2) So maybe I should have have just one column, 5" for the main text. Then can I still put text-holders occasionally alongside it (i.e. for the side-notes)?
    (3) If Yes to (2), is there a way to anchor the text-holders with the side-notes to specific points in the main text? so that if/when I rewrite the main text, and add or subtract parts of it, the text-holders with the side-notes will move appropriately and stay adjacent to the part of the main text they are supposed to be keyed to?
    (4) Or maybe tables is the way to go? I can't see putting the main text (several hundred pages) into tables, but perhaps have a single column for the text (5" or so), and then a table alongside, with lots of cells, most of which will stay blank (and invisible), but some of which will hold the 'margin notes'? Then the anchor question arises again: is there a way to tie in a specific cell so it is always adjacent to a particular part of the main text?
    OK - there's the layout puzzle. What's the tidiest solution? I'm sure I'm missing lots of things...
    Anthony

    I would agree that the two columns are going to be nothing but tricky.
    but of course, there is a different way.
    I assume you want to have a wider than normal margin for your document? Something which wil be able to handle the different text boxes that will be set up?
    Okay. I tried this with one document rather quickly, so here it goes. First of all, start with a normal blank document. In this document set your margins so there is space for your extra margin information. (you do this in the page setup box. Don't use the whole sheet, though, since not all printers go edge to edge)
    Now, using the text inspector go to tabs. We will be wanting to have two different things here. A body paragraph style which goes to the left edge of the margin, and one which starts where the edge of the info box will be. Say 4 cm in.
    The idea is that for those spots where you have the text box, the line starts at the very edge of the margin. This is so you have enough space for the box, which will be set to flow with the text. For those paragraphs where you do not have an info box the margin is set using the indent tab spacings.
    Aw heck, I can't even figure out what I'm saying. You will find a document here: pagesuser.com/images/Infobox_testdocument.zip Clicking the link will possibly download it, could very well uncompress it and quite likely open the Pages document within, or soemthing.
    I know it probably isn't exactly what you need, but it may point you in the right direction.
    Gerry

  • Problem with slide block puzzle

    Hello:
    I am doing a project that solve slide-block puzzles. My program take two common line arguments. One is a file specifying the initial configuration while the other specify goal configuration. My idea is to use an arrayList<block > to represent a configuration with each element being a block, for each block, I stores all possible configurations after moving the block in a Hashset and Stack. I check if the goal has been reached after each move, if not, go moving next one. If the configuration has been seen before, which indicates a dead end, I pop the stack to backtrack the most recent the branch and take another path.
    Unfortunately, the algorithm I came up does not work.
    Can anyone propose a psudocode for me?
    Also, my program should print out all moves directly towards the goal but I can not figure out how to only print out the moves directly towards the goal and avoid printing those leading to dead end.
    You can see specification http://nifty.stanford.edu/2007/clancy-slidingblocks/proj3.html.
    I will be really really appreciated.

    Well, that was harder than I thought!
    Anyway, the algorithm can be quite simple: a BFS finds a solution pretty fast. Here's some pseudo code:
    public class Solver {
        private Set<Integer> alreadyFormedTrays; // A set of already formed trays
        private List<Block> goalList;            // The final goal(s)
        private boolean foundSolution  = false;  // A flag flipped to true once we find a solution
        private Tray startTray;                  // The initial tray
        public Solver(String[] tray, String[] goals) {
            alreadyFormedTrays = new HashSet<Integer>();
            goalList = new ArrayList<Block>();
            buildTray(tray);
            buildGoals(goals);
        private void buildGoals(String[] goalsData) {
            // Fill the 'goalList'.
        private void buildTray(String[] trayData) {
            // Create the first tray: 'startTray'.
        private boolean goalsReached(Tray aTray) {
            // Check wether we have reached our goal(s).
        public void solve() {
            alreadyFormedTrays.add(startTray.hashCode());
            System.out.println("START=\n"+startTray);
            solve(startTray);
        private void solve(Tray aTray) {
            IF we found a solution, stop looping END IF
            IF 'aTray' reached our goal(s)
                foundSolution <- true
                print the path 'aTray' has taken
                stop looping
            END IF
            'nextTrays' <- all next trays that can be formed from 'aTray'
            FOR every Tray 'T' in 'nextTrays' DO
                'hash' <- a hash of 'T'
                IF 'hash' is not yet present in 'alreadyFormedTrays'
                    add 'hash' in 'alreadyFormedTrays'
                    make a recursively call with 'T' as a parameter
                ENDIF
            ENDFOR
        public static void main(String[] args) {
            String[] trayFile = {
                    "5 4",
                    "2 1 0 0",
                    "2 1 0 3",
                    "2 1 2 0",
                    "2 1 2 3",
                    "2 2 1 1",
                    "1 2 3 1",
                    "1 1 4 0",
                    "1 1 4 1",
                    "1 1 4 2",
                    "1 1 4 3"
            String[] goalFile = {
                    "2 2 3 1"
            Solver s = new Solver(trayFile, goalFile);
            s.solve();
    }As I said: the algorithm isn't that hard, the tricky part comes in finding all possible Trays from a given Tray X and making copies based on X.
    Here are some UML diagrams of the classes I used:
    |                                      |
    | + Tray                               |
    |______________________________________|
    |                                      |
    | ROWS: int                            |
    | COLUMNS: int                         |
    | - freeSpaces: byte[][]               |
    | blocks: List<Block>                  |
    | path: List<Atom[]>                   |
    |______________________________________|
    |                                      |
    | + Tray(r: int, c: int): << constr >> |
    | + Tray(tray: Tray): << constr >>     |
    | + addBlock(b: Block): boolean        |
    | + generateNextTrays(): List<Tray>    |
    | + removeBlock(b: Block): void        |
    |______________________________________|
    |                                                                                          |
    | + Block                                                                                  |
    |__________________________________________________________________________________________|
    |                                                                                          |
    | HEIGHT: int                                                                              |
    | WIDTH: int                                                                               |
    | name: char                                                                               |
    | atoms: List<Atom>                                                                        |
    |__________________________________________________________________________________________|
    |                                                                                          |
    | + Block(n: char, height: int, width: int, startRow: int, startColumn: int): << constr >> |
    | + Block(b: Block): << constr >>                                                          |
    | - buildAtoms(startRow: int, startColumn: int): void                                      |
    | + getUpperLeft(): Atom                                                                   |
    | + move(m: Move): void                                                                    |
    |__________________________________________________________________________________________|
    |                                      |
    | + Atom                               |
    |______________________________________|
    |                                      |
    | row: int                             |
    | column: int                          |
    |______________________________________|
    |                                      |
    | + Atom(r: int, c: int): << constr >> |
    | + Atom(a: Atom): << constr >>        |
    | + move(m: Move): void                |
    |______________________________________|I removed the equals(...), hashCode() and toString() methods for clarity, you should implement them, of course.
    The Move class you see in there is an enum, and looks like this:
    public enum Move {
        UP    (-1,  0),
        RIGHT ( 0,  1),
        DOWN  ( 1,  0),
        LEFT  ( 0, -1);
        final int deltaRow, deltaColumn;
        private Move(int dr, int dc) {
            deltaRow = dr;
            deltaColumn = dc;
    }If you have any questions about the methods/variables in the class diagrams, feel free to post back.
    Good luck.

  • Making a button appear on a track

    I've searched here and in the manual but I'm not sure I'm searching for the right thing. How can I make a button appear within a stream so the user can link back to a menu?
    puzzled.....
    Thanks

    It's done in DVDSP by using 'buttons over video'. Basically, you use the subtitle stream to add the text that you want for the button (or graphic, if you import one as a subtitle).
    Once you have set the markers for the start and end point of where the button will appear, click in between them in a spare subtitle stream, type the word you want and then click on the editor window to see it appear. From here on in you can use the window as you would when making buttons on a menu - drag out a button rectangle, set the target and so on.
    Make sure that you force the sub to view...
    On playback, the button will appear as a part of the subtitle. You need only press the 'enter' key on your remote control to activate it, unless you have created more than one button... in which case you need to use the arrow keys to get to where you want to be before you activate the button.

  • Help making a "button" that appears mid-track

    So... I have a client who's making a French version of a program that has already been made once in English. The English version was not made by me so i'm starting from scratch with some brand new assets.
    The English version has a feature I've not seen before so I'm unsure how to recreate it exactly. Basically, the main program of the disc comes in 2 flavors. the first is just your basic video program with chapter markers for each segment and an end jump to the main menu. the second is whats puzzling me. the program itself is the same video however at certain points during the program a "button" pops up which allows for a jump to another menu. i say "button" in quotes because i'm not sure its the right word.
    what happens is a translucent gray box pops up in the lower left hand corner of the screen that has some text in it with instructions to press the enter button on your remote if you'd like to see a related video. when one presses enter on the remote the DVD then jumps to a sub menu which corresponds to the appropriate supplemental program. the button comes up during the end of one chapter and visually is gone within a few second but the functionality of that button is still available for the first 20 or so seconds of the following chapter and then is disabled until the next instance.
    my question is: what is that gray box button thing? is it scripting or something? i've never seen this before. any suggestions would be greatly appreciated.

    Stolen from DVD Studio Pro Tutorials

  • I need to insert Pages text file at end of a file; i.e., making one long document from several files. insert 'file' is not option in toolbar. how do i do this?

    i need to insert a Pages text file at end of another file; in other words, i'm making one long file from several files.  "insert file" is not an option in the toolbar, so how do i do this?

    cass516 wrote:
    this method sounds like a PAIN but of course i have no choice but to try it.  Why would Pages make such a simple thing so troublesome?  in other programs, you simply click 'insert file'.
    The only thing odd about Pages' Insert file is that it doesn't do its own format.
    You obviously think that MsWord is "The Norm" but I found really odd things that it won't do. To the point I, like others here, can't be bothered trying to drive the Word square peg into the Mac round hole.
    Mostly Pages works by drag and drop, I'm puzzled why that doesn't work with the thumbnails. But then there are quite a few oddities in every program. Pages is far from an exception.
    Peter

  • Making this change would require code that is locked by a template or a translator. The change will be discarded.

    I apologize if this has been answered before, but I can't
    seem to find a solution in the forum archive. The error message
    below displays in Dreamweaver CS3 when I attempt to edit a
    Fireworks CS3 file using the "Edit" button in Dreamweaver. After
    clicking "Done" in Firworks to update the file and return to my
    HTML page in Dreamweaver, the error message displays. Can someone
    help me troubleshoot the problem? As a side note, I tested it in my
    older version of Dreamweaver and Fireworks (studio 8 versions) to
    see if I would get the same error message and I didn't - everything
    worked fine and no error message displayed.
    DW Error Message: Making this change would require code that
    is locked by a template or a translator. The change will be
    discarded.
    Thanks for your help,
    Donna

    > Murray, what do you mean? My pages validated before the
    switch to DW8.
    Are you sure? Show us one.
    The error you describe is only thrown in one of two cases -
    1. You have actually changed what is being mentioned (sadly
    this is most
    often NOT the case)
    2. You have a coding error somewhere on the page (or in the
    CSS) that is
    causing the template engine to burp this error message even
    though it
    doesn't really apply
    DW4 was nearly totally unaware of 'validation' errors. DW8 is
    MUCH stricter
    about them. When anyone says "this was fine in DW4 and is now
    not fine in
    DW8" this is the first and most likely solution.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    "Inge Grotjahn" <[email protected]> wrote in message
    news:[email protected]..
    > Am 13.09.2007 schrieb Murray *ACE*:
    >
    >> DW4 was much more tolerant of errors in your code
    than DW8 is. Your
    >> symptoms are an absolute diagnostic for such errors.
    >
    > Murray, what do you mean? My pages validated before the
    switch to DW8.
    > I only imported my site from DW4 and used the existing
    templates.
    > After changes of the template I used DW's feature to
    update all
    > relevant pages automatically. Then I wondered, why I
    couldn't make
    > changes on the child-pages within the editable regions.
    Finally I
    > created the template page new in DW8 and applied the new
    template to
    > all my pages. Now it is working fine, although my pages
    still state,
    > that they relate to a DW6 template, which I never had?
    >
    > Best regards:-)
    > Inge Grotjahn, puzzled:-)
    > --
    > CatManiacs World:
    http://www.gwsystems.com/inge

Maybe you are looking for

  • 1 Apple ID and 2 iCloud accounts.

    I want to have 1 Apple ID for 2 iPhone 6's. But I also want to have separate iCloud accounts for each phone. I can't seem to create a new iCloud account without having to create a new apple ID. Any help would be appreciated.

  • Whats the best way to check table before form deletion or update ?

    Hi, I have a func_staff table made up of a composite key - func_no and staff_id. I have a form where the datablock references this table. I need to be able to check that before a func_no and staff_id combination on the form are written to the databas

  • Wraptor DCP export in premiere pro cc

    i was trying to export a one minute sequence with Wraptor DCP format. After clicking export button the encoding progress window hanging with 0%. Can anyone please help to resolve this issue?

  • You can download individual tracks and delete music with itunes match on

    You can delete music with itunes match on: settings - general - use - music - all music in the right corner above you can click on edit and choose delete. You can also download individual tracks: click on the "cloud download" icon in an album. It dis

  • 5760 Mobility

    Hi All I'm using a Cisco 5760 with 3.3 code with a Cisco 2504 acting as an anchor. The 2504 is running 7.5 code and has 'New Mobility' (Converged Access) enabled. I can't fine any reference to what ports are now used between the controllers. I'm assu