Git Product home page Git Product logo

brutes's People

Contributors

rauks avatar thiktak avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

thiktak

brutes's Issues

Character VS SameCharacter

Empêcher qu'un joueur puisse jouer contre lui même

FightEntity::findById
PreparedStatement psql = DatasManager.prepare("SELECT * FROM fights WHERE (brute_id1 = ? OR brute_id2 = ?) AND winner_id IS NULL");

Refactor Character -> Brute

Il existe déjà une class dans Lang.* Character prise par défaut dans l'IDE.
Il faut a chaque fois spécifier le chemin brutes.gama.Character

Il serait envisageable de refactor en Brute

Gagner des Bonus

Chaque combat nous donne une chance de gagner un bonus et/ou de l'upgrader

La Brute ne réapparait pas

Après déconnexion, la brute ne réapparait pas malgré le fait qu'il ait bien les infos (renommer, déco, combats effectifs)

@test Raussin Clément
Bug apparu une fois avec le compte de Bruno.

Se souvenir du serveur utilisé

Lors de la déconnexion, l'application cliente remet par défaut le serveur "localhost".

Il pourrait être agréable que l'application cliente se souvienne du serveur indiqué pour la session :)

Micro tutoriel

Signaler ou au moins aider à la création de la première brute.

Flèche qui pointe vers le menu si aucune brute n'est associée au compte ?
Textes ?

Définir une règle d'obtention d'un bonus

Afin de répartir équitablement le gain d'un bonus, nous devons spécifier plusieurs choses :

  • Définir un level ? Vraiment utile ?
  • Ne peut-on pas plutôt se servir du level ... comme rareté ?
  • Le level doit-il intervenir dans la puissance de l'objet ? Si oui, par quel moyen ? (calcul lors de la création ou coefficient sur les compétences ?)

Gestion des images

Gérer l'envoie et l'utilisation d'images pour les Characters & Bonus

Impossible de démarrer le serveur depuis l'ajout des images.

Branche dev, au démarrage :

janv. 28, 2013 1:18:47 PM brutes.server.ServerThread$1 run SEVERE: null java.sql.SQLException: no such column: 'image_id' at org.sqlite.RS.findColumn(RS.java:121) at org.sqlite.RS.getInt(RS.java:293) at brutes.server.db.entity.UserEntity.create(UserEntity.java:20) at brutes.server.db.entity.UserEntity.findById(UserEntity.java:38) at brutes.server.db.entity.UserEntity.findOneById(UserEntity.java:44) at brutes.server.db.entity.UserEntity.updateToken(UserEntity.java:82) at brutes.server.net.NetworkLocalTestServer.readLogin(NetworkLocalTestServer.java:316) at brutes.server.net.NetworkLocalTestServer.read(NetworkLocalTestServer.java:98) at brutes.server.ServerThread$1.run(ServerThread.java:46)

BDD - Modifier les requêtes avec des noms standard

Dans les requêtes SQL, parfois on a un nom en majuscule ou non.

Sur certains serveurs, ou par exemple avec MySQL, les machines sont sensibles à la case ...

Il faut donc se fixer une norme. Par défaut j'ai adopté celle de java : CamelCase

Retourner un combatatn a chaque combat

Il faut appeler la méthode readGetChallengerBruteId avant chaque combat.

Afin de respecter les tests, nous devons pouvoir exécuter une suite de combat.

Inscription

Gérer les inscriptions de nouveaux utilisateurs (CRUD)

  • Fenêtre ?
  • serveur distinct (ex: web) ?
  • readCreateUser
  • readDeleteUser
  • readGetUser
  • readUpdateUser

Gagné ou perdu ?

Afficher si le combat est gagné ou perdu après un combat et non simplement que le combat est terminé.

Leveling des bots

Retirer les bots dont l'user_id est 4, en cas de victoire de l'adversaire, le faire lvl up (Le gagnant lvl up à chaque fois, que se soit sa brute ou le challenger).
Retirer la pioche par tranche (Les pioches de sont plus assez aléatoires, voir plus du tout avec :/)

Intégrer les calculs des combats dans Fight

Les méthodes setWinner & getWinner de Fight ne devrais plus être utilisée.

A remplacer par 4 méthodes pour les 4 types de combats (les 3 cheats et le regular) qui détermine le gagnant et le renvoie.

Navigation au clavier

Dans la situation où l'on ne pourrait pas utiliser une souris, pourquoi pas ajouter une navigation par clavier, voire des raccourcis ?
Par exemple "C" pour lancer un combat loyal...

Entities - Server

Mettre en place les différents éléments de la BDD dans le code :

  • ObjectEntity avec leurs propres save(), update() et insert() et find*()
  • Ajouter une table Shop brute.id = shop.brute_id AND shop.bonus_id = bonus.id
  • Modifier le code en conséquence

Ajouter des messages d'erreurs

Ajouter des messages d'erreurs en cas de :

  • Brute name already used
  • User name already used
  • Invalid input datas (ex: empty name)

Définir une trame combats

Définir une trame de combat pour désigner un gagnant équitable

Ne pas oublier de prendre en compte les bonus

Connexion avec le compte User

Le compte n'a pas de brute et doit en créer une avant de jouer. Problème dès la connexion :

Une erreur CHARACTER_NOT_FOUND devrait être reçue, à la place on a un crash serveur :

`INFO: SEND{4d}
janv. 30, 2013 1:51:57 PM brutes.client.user.Session$1 run
SEVERE: null
brutes.client.net.InvalidResponseException: Erreur du serveur
at brutes.client.net.NetworkClient.sendGetBruteId(NetworkClient.java:120)
at brutes.client.net.NetworkClient.sendGetMyBruteId(NetworkClient.java:124)
at brutes.client.user.Session$1.run(Session.java:53)

janv. 30, 2013 1:51:57 PM brutes.client.user.Session$2 run
SEVERE: null
brutes.client.net.InvalidResponseException: Erreur du serveur
at brutes.client.net.NetworkClient.sendGetBruteId(NetworkClient.java:120)
at brutes.client.net.NetworkClient.sendGetChallengerBruteId(NetworkClient.java:127)
at brutes.client.user.Session$2.run(Session.java:82)`

Affichage fin des erreurs de login

Quelque soit l'erreur rencontrée au moment du login, une erreur "bad login s'affiche"
Prévoir un affichage dynamique avec les cas "host not found", "unknow login" et "wrong password"

Fenetre combat terminée affichée en cas de socket timeout.

An cas de coupure de serveur ou de non réponse à un combat, une fenêtre "Combat terminé" est quand même affichée après le timeout.
Aucune fenêtre ne devrait apparaitre mais la possibilité de faire un combat doit toujours être rendue.

Stats négatives (Bonus)

En cas de stats négatives, le texte vert qui donne les stats apportées par les bonus reste vert et l'interface affiche +-

Il faudrait que les stats soient en rouges si négatives et corriger la gestion du +/-

Combats fantomes

Lorsque l'on fait un combat à la loyal, deux combats sont effectués.

Voir ce commit : 286b96f

Ce est dû au fait que l'on appelait les fonctions WIn et Lose qui procédaient elles même à un combat ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.