*&---------------------------------------------------------------------* *& Report ZZ_Bubble_La_Bap *&---------------------------------------------------------------------* REPORT zz_bubble_la_bap. *** Spielfeld *** SELECTION-SCREEN BEGIN OF BLOCK sfeld WITH FRAME TITLE text-fld. PARAMETERS: x_max(2) TYPE n DEFAULT 11, y_max(2) TYPE n DEFAULT 11, p_farben(1) TYPE n DEFAULT 5. SELECTION-SCREEN END OF BLOCK sfeld. *** Spielmodus *** SELECTION-SCREEN BEGIN OF BLOCK modus WITH FRAME TITLE text-mod. PARAMETERS: p_norm RADIOBUTTON GROUP mod DEFAULT 'X', p_fort RADIOBUTTON GROUP mod. SELECTION-SCREEN END OF BLOCK modus. AT SELECTION-SCREEN. IF p_farben > 7. p_farben = 7. MESSAGE e000(oo) WITH 'Nur 7 Farben möglich!'. ELSEIF p_farben < 3. p_farben = 3. MESSAGE e000(oo) WITH 'Mindestens 3 Farben!'. ENDIF. IF x_max > 20. x_max = 20. ELSEIF x_max < 5. x_max = 5. ENDIF. IF y_max > 20. y_max = 20. ELSEIF y_max < 5. y_max = 5. ENDIF. *----------------------------------------------------------------------* * CLASS cl_my_grid DEFINITION *----------------------------------------------------------------------* CLASS: cl_my_grid DEFINITION INHERITING FROM cl_gui_alv_grid. PUBLIC SECTION. METHODS my_resize IMPORTING i_resize TYPE integer. ENDCLASS. "cl_my_grid DEFINITION *----------------------------------------------------------------------* * CLASS cl_my_grid IMPLEMENTATION *----------------------------------------------------------------------* CLASS: cl_my_grid IMPLEMENTATION. * normalen Constructor aufrufen METHOD my_resize. * Spaltenbreitenänderung verbieten CALL METHOD me->set_resize_cols EXPORTING enable = i_resize EXCEPTIONS error = 1 OTHERS = 2. ENDMETHOD. "constructor ENDCLASS. "cl_my_grid IMPLEMENTATION TYPE-POOLS wrfac. TYPES: BEGIN OF ty_colour, icon(4), END OF ty_colour. TYPES: BEGIN OF ty_field, x TYPE i, y TYPE i, farbe TYPE i, mark TYPE c, END OF ty_field, ty_field_t TYPE STANDARD TABLE OF ty_field WITH DEFAULT KEY. TYPES: BEGIN OF ty_field2, 01 TYPE icon_d, 02 TYPE icon_d, 03 TYPE icon_d, 04 TYPE icon_d, 05 TYPE icon_d, 06 TYPE icon_d, 07 TYPE icon_d, 08 TYPE icon_d, 09 TYPE icon_d, 10 TYPE icon_d, 11 TYPE icon_d, 12 TYPE icon_d, 13 TYPE icon_d, 14 TYPE icon_d, 15 TYPE icon_d, 16 TYPE icon_d, 17 TYPE icon_d, 18 TYPE icon_d, 19 TYPE icon_d, 20 TYPE icon_d, handle_style TYPE lvc_t_styl, END OF ty_field2. DATA gref_grid TYPE REF TO cl_my_grid. DATA gref_cont TYPE REF TO cl_gui_custom_container. DATA gt_fcat TYPE lvc_t_fcat. DATA gs_fcat TYPE lvc_s_fcat. DATA gs_layout TYPE lvc_s_layo. DATA gv_style_fname TYPE lvc_fname VALUE 'HANDLE_STYLE'. DATA gt_cell TYPE lvc_t_styl. DATA gs_cell TYPE lvc_s_styl. DATA x TYPE i. DATA y TYPE i. DATA colour_max TYPE i. DATA gt_colour TYPE STANDARD TABLE OF ty_colour. DATA gs_colour TYPE ty_colour. DATA gv_dummy_icon TYPE char4. DATA gv_continue TYPE c. DATA punkte TYPE i. DATA punkte1 TYPE i. DATA punktec(10) TYPE c. DATA punktec1(10) TYPE c. DATA l_line TYPE i. DATA l_feld(20) TYPE c. DATA l_tabix TYPE i. DATA l_anzahl TYPE i. DATA l_farbe TYPE i. DATA l_spalte(2) TYPE n. DATA t_spalte TYPE STANDARD TABLE OF i. DATA field TYPE STANDARD TABLE OF ty_field. DATA field2 TYPE STANDARD TABLE OF ty_field. DATA field_undo TYPE STANDARD TABLE OF ty_field_t. DATA punkte_undo TYPE STANDARD TABLE OF i. DATA gt_field TYPE STANDARD TABLE OF ty_field2. FIELD-SYMBOLS TYPE ty_field. FIELD-SYMBOLS TYPE table. FIELD-SYMBOLS TYPE ty_field2. FIELD-SYMBOLS TYPE ANY. FIELD-SYMBOLS