Casino
REPORT ZTCASINO.
*======================================================================*
*Program : ZTCASINO *
*Description : CASIONO GAME *
* *
*----------------------------------------------------------------------*
* Created and Designed by Abhishek Kumar in April 2003. *
* Realeased on 30 April 2003. *
* *
*----------------------------------------------------------------------*
* Abhishek is not responsible for any damages caused by the use or *
* misuse of this program and cannot provide any warranty with this *
* program. Use it entirely at your own risk. *
* *
* *
*----------------------------------------------------------------------*
* CHANGE LOG *
*=========== *
* Date Ver Description *
*========== ======== ======== =========== *
*30.04.2003 VER 1.02 ABHISHEK Created *
* *
*======================================================================*
*&===== DATA =====
DATA: V_NO TYPE I,
V_BAL TYPE I,
V_WAIT(4),
V_FLAG,
V_WR1(5) TYPE C,
V_WR2(5) TYPE C,
V_WR3(5) TYPE C.
*&===== INITIALIZATION =====
INITIALIZATION.
V_WAIT = '0.0'.
V_BAL = 110.
*&===== SELCTION SCREEN =====
START-OF-SELECTION.
PERFORM SET_PF_STATUS.
PERFORM SUB_STRATING.
*&===== AT USER COMMAND =====
AT USER-COMMAND.
PERFORM SUB_NUMBER.
PERFORM SUB_PLAY_TEXT.
PERFORM SUB_NOTE.
IF SY-UCOMM = 'BACK'.
LEAVE PROGRAM.
ENDIF.
PERFORM SUB_RFC_CON.
*&===== PERFORMS =====
*---------------------------------------------------------------------*
* FORM START_REFRESH *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> TASKNAME *
*---------------------------------------------------------------------*
FORM START_REFRESH USING TASKNAME.
SET USER-COMMAND 'REF'.
CLEAR V_FLAG.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form get_number
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_WR1 text
*----------------------------------------------------------------------*
FORM GET_NUMBER USING P_WR.
DATA: L_NUMBER TYPE I.
DATA: L_NUMB TYPE C.
CALL FUNCTION 'QF05_RANDOM_INTEGER'
EXPORTING
RAN_INT_MAX = 9
RAN_INT_MIN = 0
IMPORTING
RAN_INT = L_NUMBER
EXCEPTIONS
INVALID_INPUT = 1
OTHERS = 2.
L_NUMB = L_NUMBER.
CONCATENATE '@0' L_NUMB '@' INTO P_WR.
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " get_number
*&---------------------------------------------------------------------*
*& Form sub_strating
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM SUB_STRATING.
SET PF-STATUS 'GAME'.
CALL FUNCTION 'RFC_PING_AND_WAIT'
STARTING NEW TASK 'IF'
PERFORMING START_REFRESH ON END OF TASK
EXPORTING
SECONDS = 0
BUSY_WAITING = SPACE.
WRITE:/21 'Starting.........Please Wait.......'.
ENDFORM. " sub_strating
*&---------------------------------------------------------------------*
*& Form set_PF_STATUS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM SET_PF_STATUS.
DATA::
TRKEY LIKE TRKEY,
EUDB_KEY LIKE RSEU1_KEY,
C_PROG LIKE TRDIR-NAME,
STA LIKE RSMPE_STAT OCCURS 0 WITH HEADER LINE,
ADM LIKE RSMPE_ADM,
FUN LIKE RSMPE_FUNT OCCURS 0 WITH HEADER LINE,
MEN LIKE RSMPE_MEN OCCURS 0 WITH HEADER LINE,
MTX LIKE RSMPE_MNLT OCCURS 0 WITH HEADER LINE,
ACT LIKE RSMPE_ACT OCCURS 0 WITH HEADER LINE,
BUT LIKE RSMPE_BUT OCCURS 0 WITH HEADER LINE,
PFK LIKE RSMPE_PFK OCCURS 0 WITH HEADER LINE,
SET LIKE RSMPE_STAF OCCURS 0 WITH HEADER LINE,
DOC LIKE RSMPE_ATRT OCCURS 0 WITH HEADER LINE,
TIT LIKE RSMPE_TITT OCCURS 0 WITH HEADER LINE,
* BIV LIKE RSMPE_BUTS OCCURS 0 WITH HEADER LINE.
BIV LIKE RSMPE_TITT OCCURS 0 WITH HEADER LINE.
EUDB_KEY-NAME = SY-REPID.
EUDB_KEY-SPRSL = 'D'.
C_PROG = SY-REPID.
DEFINE APP.
WRITE &2 TO &1.
APPEND &1.
CLEAR &1.
END-OF-DEFINITION.
APP:
STA
'GAME D000001 000001 0001 ',
FUN
'BACK 001 S ',
FUN
'PLAY 001 SICON_CONVERT ',
DOC
'A000001 D',
DOC
'P000001 D',
DOC
'B000001 0001D',
BUT
'000001 00010105 ',
PFK
'000001 03BACK 001',
PFK
'000001 05PLAY 001',
SET
'GAME BACK',
SET
'GAME PLAY'.
ADM =
'000001 000001 '.
READ TABLE FUN WITH KEY CODE = 'PLAY'.
FUN-FUN_TEXT = 'Play to Win'.
FUN-ICON_ID = '@3H@'.
FUN-ICON_TEXT = 'Play to Win'.
MODIFY FUN INDEX SY-TABIX.
CALL FUNCTION 'RS_ACCESS_PERMISSION'
EXPORTING
MODE = 'SHOW'
OBJECT = C_PROG
OBJECT_CLASS = 'SCUA'
IMPORTING
TRANSPORT_KEY = TRKEY
EXCEPTIONS
CANCELED_IN_CORR = 1
ENQUEUED_BY_USER = 2
ENQUEUE_SYSTEM_FAILURE = 3
ILLEGAL_PARAMETER_VALUES = 4
LOCKED_BY_AUTHOR = 5
NO_MODIFY_PERMISSION = 6
NO_SHOW_PERMISSION = 7
PERMISSION_FAILURE = 8
REQUEST_LANGUAGE_DENIED = 9
OTHERS = 10.
IF SY-SUBRC = 0.
CALL FUNCTION 'RS_CUA_INTERNAL_WRITE'
EXPORTING
PROGRAM = C_PROG
LANGUAGE = SY-LANGU
TR_KEY = TRKEY
ADM = ADM
STATE = 'A'
TABLES
STA = STA
FUN = FUN
MEN = MEN
MTX = MTX
ACT = ACT
BUT = BUT
PFK = PFK
SET = SET
DOC = DOC
TIT = TIT
BIV = BIV
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ENDIF.
ENDIF.
ENDFORM. " set_PF_STATUS
*&---------------------------------------------------------------------*
*& Form sub_number
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM SUB_NUMBER.
IF V_BAL = 0.
LEAVE PROGRAM.
ENDIF.
WAIT UP TO V_WAIT SECONDS.
SY-LSIND = 0.
V_NO = V_NO + 1.
IF V_NO < 30.
PERFORM GET_NUMBER USING V_WR1.
ENDIF.
IF V_NO < 70.
PERFORM GET_NUMBER USING V_WR2.
ENDIF.
IF V_NO < 102.
PERFORM GET_NUMBER USING V_WR3.
ENDIF.
ENDFORM. " sub_number
*&---------------------------------------------------------------------*
*& Form sub_Play_text
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM SUB_PLAY_TEXT.
SKIP 4.
WRITE:/20 SY-ULINE+(50), 70 SY-VLINE.
WRITE:/20 SY-VLINE, 70 SY-VLINE.
IF V_WR1 = V_WR2 AND V_WR1 = V_WR3 AND V_NO = 101.
WRITE:/20 SY-VLINE,
25 'Congartulation, You got 100 Points' COLOR 5 INTENSIFIED OFF,
70 SY-VLINE.
V_BAL = V_BAL + 100.
ELSEIF V_WR1 = V_WR2 AND V_NO = 101.
V_BAL = V_BAL + 30.
WRITE:/20 SY-VLINE,
25 'Congartulation, You got 30 Points' COLOR 3 INTENSIFIED OFF,
70 SY-VLINE
.
ELSEIF V_NO = 101.
WRITE:/20 SY-VLINE,
25 'Bad Luck, You lost 10 Points' COLOR 6 INTENSIFIED ON,
70 SY-VLINE.
V_BAL = V_BAL - 10.
ELSE.
WRITE:/20 SY-VLINE,
21 'WAIT' COLOR 4 INTENSIFIED OFF,
70 SY-VLINE.
ENDIF.
WRITE:/20 SY-VLINE, 70 SY-VLINE.
WRITE:/20 SY-VLINE, 70 SY-VLINE.
WRITE:/20 SY-VLINE, 35 SY-ULINE+(15), 50 SY-VLINE, 70 SY-VLINE.
WRITE:/20 SY-VLINE, 35 SY-VLINE, 36 V_WR1,
40 SY-VLINE, 41 V_WR2,
45 SY-VLINE, 46 V_WR3,
50 SY-VLINE, 70 SY-VLINE.
WRITE:/20 SY-VLINE, 35 SY-ULINE+(15), 50 SY-VLINE, 70 SY-VLINE.
WRITE:/20 SY-VLINE, 70 SY-VLINE.
WRITE:/20 SY-VLINE, 70 SY-VLINE.
WRITE:/20 SY-VLINE, 70 SY-VLINE.
WRITE:/20 SY-VLINE, 70 SY-VLINE.
IF V_BAL = 0.
WRITE:/20 SY-VLINE,
25 'Your Balance=', V_BAL COLOR 2 INTENSIFIED OFF, 'YOU TOTALY LOST'
COLOR 6,
70 SY-VLINE.
ELSE.
WRITE:/20 SY-VLINE,
25 'Your Balance=', V_BAL COLOR 2 INTENSIFIED OFF,
70 SY-VLINE.
ENDIF.
WRITE:/20 SY-VLINE, 70 SY-VLINE.
WRITE:/20 SY-ULINE+(50), 70 SY-VLINE.
ENDFORM. " sub_Play_text
*&---------------------------------------------------------------------*
*& Form sub_note
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM SUB_NOTE.
SKIP 2.
WRITE:/5 SY-ULINE+(80), 85 SY-VLINE.
WRITE:/5 SY-VLINE, 6 'RULES:-' COLOR 6 INVERSE ON INTENSIFIED ON,
85 SY-VLINE.
FORMAT COLOR 5 INVERSE ON INTENSIFIED ON.
WRITE:/5 SY-VLINE,
8 '1.> All three matches than you will get 10 times',
85 SY-VLINE.
WRITE:/5 SY-VLINE,
8 '2.> Starting two matches than you will get 3 times',
85 SY-VLINE.
WRITE:/5 SY-VLINE,
8 '3.> Else you will loose 10 points' ,
85 SY-VLINE.
WRITE:/5 SY-VLINE, 85 SY-VLINE.
WRITE:/5 SY-VLINE, 85 SY-VLINE.
WRITE:/5 SY-VLINE,
10 'Created and Designed by Abhishek Kumar(
Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
) ',
85 SY-VLINE.
WRITE:/5 SY-VLINE, 85 SY-VLINE.
WRITE:/5 SY-ULINE+(80), 85 SY-VLINE.
ENDFORM. " sub_note
*&---------------------------------------------------------------------*
*& Form sub_rfc_con
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM SUB_RFC_CON.
IF V_NO > 100.
CLEAR V_NO.
ELSE.
V_WAIT = V_NO / 200.
IF V_WAIT = '0.5'.
V_WAIT = '0.40'.
ENDIF.
IF V_FLAG = SPACE.
V_FLAG = 'X'.
CALL FUNCTION 'RFC_PING_AND_WAIT'
STARTING NEW TASK 'IF'
PERFORMING START_REFRESH ON END OF TASK
EXPORTING
SECONDS = 0
BUSY_WAITING = SPACE.
ENDIF.
ENDIF.
ENDFORM. " sub_rfc_con
|