Metadata-Version: 2.1
Name: pyqt-gameboard
Version: 0.2.6
Summary: A gameboard widget for pyqt gui's package
Home-page: https://github.com/Michael-Yongshi/PyQtGameBoard
Author: Michael-Yongshi
Author-email: 4registration@outlook.com
License: UNKNOWN
Description: # PyQtGameBoard
        PyQt5 widget that draws a board on the screen to include in games or map drawing application.
        
        ## Version
        ### 0.2
        0.2.6   Created QGameboard parent class for optimization and customization
        0.2.5   Added optional size parameter for the size of the tiles
                Added a rectangle board
                changed pip name to pyqt-gameboard
        0.2.4   removed some prints
        0.2.3   fixed selection deleting previous overlays
                split mousepress method so its easier to subclass
                adding line of sight line
                return list of tiles touched by line of sight
        
        0.2.2   Redone building board, zooming in / out and added selection of tile with drawing adjacent tiles
        
        ## Install
        ```
        pip install pyqt-gameboard
        ```
        
        ## Import
        ### Directly usable
        import the directly usable boards
        ```
        from pyqtgameboards.gameboards import QRectangleboard
        from pyqtgameboards.gameboards import QHexagonboard
        ```
        
        ### Generic parent class for custom shape grids
        or import the parent class QGameboard to create a different style map than the defaults
        
        ```
        from pyqtgameboards.gameboard import QGameboard
        ```
        
        make sure to super the methods that need specific shape implementation
        ```
        add_shape_to_scene # logic for adding a shape to a grid
        get_adjacent_tiles # logic for determining the adjacent tiles
        ```
        
        ## How to
        to try out, copying the following to open a widget with a hexagon board
        This is a gameboard of 20 rows and 10 columns (feels like 20, as it only counts tiles at the same height)
        This example creates designated tiles that receive a green fill with a thick green line
        
        ```
        import sys
        
        from PyQt5 import QtWidgets, QtGui, QtCore
        
        from pyqtgameboards.gameboard import QHexagonboard
        
        if __name__ == '__main__':
        
            overlays = []
        
            overlay1brush = QtGui.QBrush(QtGui.QColor(0,255,0,150))
            overlay1pen = QtGui.QPen(QtGui.QColor(0,255,0), 3, QSolidLine)
        
            overlay1dict = {
                "Brush": overlay1brush,
                "Pen": overlay1pen,
                "Positions": [
                    [1, 1], 
                    [2, 1],
                    [1, 2],
                    [3, 3],
                    ],
                }
                
            overlays.append(overlay1dict)
        
            global app
            app = QtWidgets.QApplication(sys.argv)
            global main
            main = QtWidgets.QMainWindow()
        
            main.setCentralWidget(QHexagonboard(
                horizontal = True, 
                rows = 20, 
                columns = 10,
                overlays = overlays,
                ))
        
            main.showMaximized()
            sys.exit(app.exec_())
        ```
        
        ## Licence
        
        Licensed under GPL-3.0-or-later, see LICENSE file for details.
        
        Copyright Â© 2020 Michael-Yongshi.
        
        This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
        
        This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
        
        You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.5
Description-Content-Type: text/markdown
