dipzza / qtparchis Goto Github PK
View Code? Open in Web Editor NEWFinal project for User Interface Programming course in Faculty of Informatics of Brno University of Technology
License: GNU Affero General Public License v3.0
Final project for User Interface Programming course in Faculty of Informatics of Brno University of Technology
License: GNU Affero General Public License v3.0
When one player wins end the game and show a different screen, an animation or anything that indicate who won.
Then it could reset to main menu after some player input or maybe give the option to play again.
Make on the token class a function to know to which cell can a token move with a dice roll, and another function to actually move the token.
It should check for:
Before starting the game we need to know the number of players and optionally their names.
So we should make a screen (a different qml file) with buttons to select from 1 to 4 players, and with text boxes to write the names of the players (the number of text boxes depends on the number of players).
Normally scaling works fine, but when the window is resize horizontally too small the board get smaller and doesn't have the same height as the window as in all other cases. When this happens it appears the formulas to calculate the positions of the tokens are not correct.
Maybe we can force the window to at least have certain proportion so it doesn't have to make the board height smaller than the window size or fix the formulas.
Visual feedback to know what was the last roll of the dice, ideally with some animation of the dice spinning
This could be useful so the user finds intuitive to put the mouse on top of the token
Needed for checking if there is a bridge when moving or if two tokens are on the same cell
Needs at least a partial implementation of #7. It could show a obscured version of the image of the token in the place where it would move
The tokens that are not used by any player (cos there is less than 4 player on the game) are declared dynamically in main, and are not freed when game ends because main return app.exec() to start the GUI.
They could be encapsulated in some class (maybe maing a list of all token pointers used or not in the board class) that deletes on their destructor, but maybe there is an easier solution.
Implement eating tokens, after eating it should try to give another turn to the current player with a false value of the dice to 20.
Cells should also have a new attribute that indicates if they are safe (can not eat in this cell) or not.
This is not mandatory for the game to work, but is easy to do and gives some easy interaction.
The main screen of the game maybe with some logo or cool letters that says "Super Parchís Ultimate" or something like that xD
And the buttons to start a game or quit the game
Right now one occludes the other. Depends on #9
Some visual feedback to know which player has to play
Right now i think QtCreator expect all files to be in the root folder, but is quite a mess with so many files.
We should change the configuration / move the files so they are more organized but QtCreator still detects them and build the app correctly.
I propose something like this:
root - Project configuration files
src/ - C++ application headers and source files
qml/ - UI related, .qml and .js files
images/ - Image resources
translations/ - Placeholder for translation files if we end up translating the menu from english to our native languages
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.