Advertisement
Guest User

Untitled

a guest
Nov 21st, 2012
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.89 KB | None | 0 0
  1. pad=pad_trigger(); /* shared */
  2.  
  3. /* old movement code */
  4. if(pad&PAD_A){
  5.     // swap block at current cursor position
  6.     r=0;
  7.     game_swapTile();
  8. }
  9. if(pad&PAD_B){
  10.     // mark block/change mark at current position
  11.     r=0;
  12.     game_markTile();
  13. }
  14.  
  15. // now handle anything that can be held
  16. pad = pad_state(0);
  17.  
  18. if(pad&PAD_LEFT && !(frameCount&3)){
  19.     if(cursorX>0) --cursorX;
  20.     if(pad&PAD_A){ r=1; game_swapTile(); }
  21.     //if(pad&PAD_B){ r=1; game_markTile(); }
  22. }
  23. if(pad&PAD_RIGHT && !(frameCount&3)){
  24.     if(cursorX<(puzzleW-1)) ++cursorX;
  25.     if(pad&PAD_A){ r=1; game_swapTile(); }
  26.     //if(pad&PAD_B){ r=1; game_markTile(); }
  27. }
  28. if(pad&PAD_UP && !(frameCount&3)){
  29.     if(cursorY>0) --cursorY;
  30.     if(pad&PAD_A){ r=1; game_swapTile(); }
  31.     //if(pad&PAD_B){ r=1; game_markTile(); }
  32. }
  33. if(pad&PAD_DOWN && !(frameCount&3)){
  34.     if(cursorY<(puzzleH-1)) ++cursorY;
  35.     if(pad&PAD_A){ r=1; game_swapTile(); }
  36.     //if(pad&PAD_B){ r=1; game_markTile(); }
  37. }
  38.  
  39. /* new movement code */
  40. if(pad&PAD_UP){ h=0; if(cursorY>0) --cursorY; }
  41. if(pad&PAD_DOWN){ h=0; if(cursorY<(puzzleH-1)) ++cursorY; }
  42. if(pad&PAD_LEFT){ h=0; if(cursorX>0) --cursorX; }
  43. if(pad&PAD_RIGHT){ h=0; if(cursorX<(puzzleW-1)) ++cursorX; }
  44.  
  45. // A button: swap block at current cursor position
  46. if(pad&PAD_A){
  47.     r=0;
  48.     game_swapTile();
  49. }
  50. // B button: mark block/change mark at current position
  51. if(pad&PAD_B){
  52.     r=0;
  53.     game_markTile();
  54. }
  55.  
  56. // relying on HOLD_TIME feels like a temporary solution...
  57. #define HOLD_TIME 3
  58.  
  59. // movement/input code (hold button(s))
  60. pad = pad_state(0);
  61.  
  62. if(pad&PAD_UP){
  63.     if(h<HOLD_TIME){ ++h; }
  64.     else{
  65.         if(cursorY>0){ --cursorY; h=0; }
  66.     }
  67. }
  68. if(pad&PAD_DOWN){
  69.     if(h<HOLD_TIME){ ++h; }
  70.     else{
  71.         if(cursorY<(puzzleH-1)){ ++cursorY; h=0; }
  72.     }
  73. }
  74. if(pad&PAD_LEFT){
  75.     if(h<HOLD_TIME){ ++h; }
  76.     else{
  77.         if(cursorX>0){ --cursorX; h=0; }
  78.     }
  79. }
  80. if(pad&PAD_RIGHT){
  81.     if(h<HOLD_TIME){ ++h; }
  82.     else{
  83.         if(cursorX<(puzzleW-1)){ ++cursorX; h=0; }
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement