ABAP游戏:俄罗斯方块(代码部分2)_SAP刘梦_新浪博客

*---------------------------------------------------------------------*
* FORM F_TASK_END
*---------------------------------------------------------------------*
FORM f_task_end USING u_taskname.

  DATA lv_mssg(80).                                         "#EC NEEDED

* RECEIVING TASK RESULTS
* YOU NEED TO CREATE FUNCTIONAL MODULE "Z_NBCSH_DELAY"
* TO TRY DELAY LESS THEN 1 SECOND
  RECEIVE RESULTS FROM FUNCTION 'RFC_PING_AND_WAIT' "接受RFC返回值
* RECEIVE RESULTS FROM FUNCTION "Z_NBCSH_DELAY"
  EXCEPTIONS
  resource_failure = 1
  communication_failure = 2 message lv_mssg
  system_failure = 3 message lv_mssg
  OTHERS = 4.

  CHECK sy-subrc EQ 0."接受成功,则
  SET USER-COMMAND 'PF26'. "方块自动下落,到底后行检查,出现下个方块,这步【关键】

ENDFORM. " F_TASK_END
*************** END OF PROGRAM ZNBCSH_TETRIS *********************
*&---------------------------------------------------------------------*
*& MODULE STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* TEXT
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
* SET PF-STATUS "STATUS_0".
*CALL METHOD CL_GUI_CFW=>SET_NEW_OK_CODE
* EXPORTING NEW_CODE = "PF21".
* WRITE "PRESS TO BEGIN".
  PERFORM out."屏幕输出
  LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 100.
  LEAVE SCREEN."离开屏幕

* LEAVE SCREEN.
* SET TITLEBAR "XXX".
* DATA LV_MSSG(80). "#EC NEEDED

ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& MODULE USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* TEXT
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
  CASE sy-ucomm.
    WHEN 'BACK' OR 'UP' OR'EXIT'."退出
      LEAVE PROGRAM.
  ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT


*---------------------------------------------------------------------*
* MODULE EXX INPUT *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
MODULE exx INPUT.
  LEAVE PROGRAM."退出程序
ENDMODULE. " EXX INPUT

*---------------------------------------------------------------------*
* FORM INIT_FIGURES *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM init_figures."初始化方块
  DATA s TYPE i.
  DATA w TYPE i.
  w = st_width. "
  s = w DIV 2. "
  square-name = 'SQUARE'."方块田
  square-body1 = s.
  square-body2 = s   1.
  square-body3 = s   w.
  square-body4 = s   w   1.
  square-width = 2.
  square-height = 2.

  line1-name = 'LINE1'."横长条
  line1-body1 = s - 2.
  line1-body2 = s - 1.
  line1-body3 = s .
  line1-body4 = s   1.
  line1-width = 4.
  line1-height = 1.

  line2-name = 'LINE2'."竖长条
  line2-body1 = s .
  line2-body2 = s   w.
  line2-body3 = s   w   w.
  line2-body4 = s   w   w   w.
  line2-width = 1.
  line2-height = 4.

  lzz1-name = 'LZZ1'.
  lzz1-body1 = s .
  lzz1-body2 = s   w.
  lzz1-body3 = s   1   w.
  lzz1-body4 = s   1   w   w.
  lzz1-width = 2.
  lzz1-height = 3.

  lzz2-name = 'LZZ2'.
  lzz2-body1 = s .
  lzz2-body2 = s   1.
  lzz2-body3 = s   w - 1.
  lzz2-body4 = s   w.
  lzz2-width = 3.
  lzz2-height = 2.

  rzz1-name = 'RZZ1'.
  rzz1-body1 = s   1.
  rzz1-body2 = s   w .
  rzz1-body3 = s   w   1.
  rzz1-body4 = s   w   w.
  rzz1-width = 2.
  rzz1-height 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值