Topic technique : venez parler ici de vos problèmes et questions techniques
Max
- Membre
- 12928 posts
27 novembre 2013, 00:20
yes, j'irais jeter un coup d'oeil, merci
Unifag
- Membre
- 883 posts
27 novembre 2013, 20:41
Commencer à manipuler une bibliothéque comme qt sans avoir vu les pointeurs, drole de chose.
Max
- Membre
- 12928 posts
27 novembre 2013, 21:25
on doit se servir de fonctions basiques de qt pour afficher ce qu'on fait dans une fenetre, c'est plus zoulie blabla
anyway, j'arrive pas à faire mon algorithme de vérification de victoire.
Je pensais faire un truc à partir des coordonnées du dernier jeton joué et vérifier les cases à côté, mais j'arrive pas à m'y prendre
vous avez des pistes ?
anyway, j'arrive pas à faire mon algorithme de vérification de victoire.
Je pensais faire un truc à partir des coordonnées du dernier jeton joué et vérifier les cases à côté, mais j'arrive pas à m'y prendre
vous avez des pistes ?
Max
- Membre
- 12928 posts
27 novembre 2013, 21:54
ça marche mais c'est...très très très rustique, donc si vous avez une meilleure idée, je prend !
sinon sur ce site: http://delphi.developpez.com/defi/puissance4/
j'ai trouvé ça:
ça m'a l'air cohérent, mais je vois pas comment transformer ça en algo
Code: [Sélectionner]
if (grille[ligne][colonne-1]==1 &&//vertical
grille[ligne][colonne-2]==1 &&
grille[ligne][colonne-3]==1 or
grille[ligne][colonne+1]==1 &&
grille[ligne][colonne+2]==1 &&
grille[ligne][colonne+3]==1 or
grille[ligne][colonne-1]==1 &&
grille[ligne][colonne-2]==1 &&
grille[ligne][colonne+1]==1 or
grille[ligne][colonne+1]==1 &&
grille[ligne][colonne-1]==1 &&
grille[ligne][colonne-2]==1 or
grille[ligne][colonne-1]==1 &&
grille[ligne][colonne+1]==1 &&
grille[ligne][colonne+2]==1 or//horizontale
grille[ligne+1][colonne]==1 &&
grille[ligne+2][colonne]==1 &&
grille[ligne+3][colonne]==1 or//diagonales
grille[ligne-1][colonne-1]==1 &&
grille[ligne-2][colonne-2]==1 &&
grille[ligne-3][colonne-3]==1 or
grille[ligne-1][colonne-1]==1 &&
grille[ligne-2][colonne-2]==1 &&
grille[ligne+1][colonne+1]==1 or
grille[ligne-1][colonne-1]==1 &&
grille[ligne+1][colonne+1]==1 &&
grille[ligne+2][colonne+2]==1 or
grille[ligne+1][colonne+1]==1 &&
grille[ligne+2][colonne+2]==1 &&
grille[ligne+3][colonne+3]==1 or
grille[ligne+1][colonne-1]==1 &&
grille[ligne+2][colonne-2]==1 &&
grille[ligne+3][colonne-3]==1 ){
ça marche mais c'est...très très très rustique, donc si vous avez une meilleure idée, je prend !
sinon sur ce site: http://delphi.developpez.com/defi/puissance4/
j'ai trouvé ça:
Citer
Le vocabulaire utilisé est : SENS = axe non orienté, DIRECTION = axe orienté.
L'analyse repose sur le « comptage » des jetons dans les huit directions de cellules identiques au dernier jeton joué.
Puis ensuite au comptage des jetons pour les quatre sens.
Pour effectuer ce comptage dans les quatre sens, la somme des compteurs de directions deux à deux opposées et effectuées + 1 (le jeton central).
Si, pour un des quatre sens, le compteur vaut au moins 4, le joueur correspondant au dernier jeton a gagné.
Voici une présentation un peu plus parlante du fonctionnement de comptage.
Les captures sont prises du programme graphique, mais cela revient strictement au même pour la version non graphique :
ça m'a l'air cohérent, mais je vois pas comment transformer ça en algo
Weby
- Membre
- 56564 posts
27 novembre 2013, 22:20
Oui ce qu'il dit c'est que tu prends un axe, par exemple horizontal, et que tu comptes le nombre de jetons de chaque côté, tu les additionne +1, et si >4=win.
Pour le faire... C'est là toute la question...
Récupère les coordonnées de ton pion dans une variable, genre
coordX=5;
coordY=4;
maintenant fais 5 fonctions : une fonction globale "controleWin", qui appellera les quatre autres (contrôleHorizontal,...) successivement.
Un petit exemple de fonction de contrôle qui POURRAIT s'appliquer :
Pour les autres fonctions, suffit de jouer avec les valeurs de x et y pour le contrôle
Pour le faire... C'est là toute la question...
Récupère les coordonnées de ton pion dans une variable, genre
coordX=5;
coordY=4;
maintenant fais 5 fonctions : une fonction globale "controleWin", qui appellera les quatre autres (contrôleHorizontal,...) successivement.
Un petit exemple de fonction de contrôle qui POURRAIT s'appliquer :
Code: [Sélectionner]
bool controleHorizontal(x,y,couleur,grille)
{
int compteur=1; //initialisation du compteur à 1, pas à zéro, vu qu'on compte le jeton dernièrement posé dans nos calculs
//on commence à partir du jeton, en direction de la gauche, puis de la droite. On s'arrête à la première case qui n'est PAS de la bonne couleur, et
//on se limite à 4 cases vers la droite/gauche, vu qu'on n'a pas besoin de plus
//faudra aussi vérifier si c'est pas "out of range", jte laisse le faire
for(i=x-1;i>x-4;i--) //vers la gauche, on part d'une coordonnée x-1 pour arriver à x-4
{
if(grille[x,y]==couleur) compteur++;
}
for(i=x+1;i<x+4;i++)//vers la droite, same shit over again
{
if(grille[x,y]==couleur) compteur++;
}
if(compteur>=4) return true;
else return false;
}
Pour les autres fonctions, suffit de jouer avec les valeurs de x et y pour le contrôle
Max
- Membre
- 12928 posts
27 novembre 2013, 22:32
ça va être chaud, va sérieusement falloir que je refasse un truc au propre, ça deviens n'imp là, je peux plus rien faire
merci
merci
Weby
- Membre
- 56564 posts
28 novembre 2013, 15:43
Tu as le cpp actuel ? J'suis curieux d'essayer moi aussi.
Max
- Membre
- 12928 posts
28 novembre 2013, 16:57
ouais, je viens de terminer, avec mon vieux système de vérification bourrin et une IA aléatoire.
tu veux le code source complet ou bien ?
tu veux le code source complet ou bien ?
Weby
- Membre
- 56564 posts
28 novembre 2013, 20:05
ouais, et un lien vers la lib graphique thx
Max
- Membre
- 12928 posts
28 novembre 2013, 21:10
je te file ça dès que j'ai rendu le boulot à mon prof, histoire que ça tourne pas.
La biblio graphique c'est QT remanié par le prof (qui fonctionne avec le noyau QT4).
j'te passe ça dès que possible
La biblio graphique c'est QT remanié par le prof (qui fonctionne avec le noyau QT4).
j'te passe ça dès que possible
luciole
- Membre
- 2315 posts
28 novembre 2013, 22:20
Est ce que quelqu'un saurait comment passer en paramètre un sf::renderWindow à un sf::Thread en SFML ?
J'ai chercher plein de trucs sur google mais j'ai toujours pas ma solution :/
:/
J'ai chercher plein de trucs sur google mais j'ai toujours pas ma solution :/
Code: (cpp) [Sélectionner]
Thread aideObjectif(&dispObjectif, objectif, sf::RenderWindow& scene);
//Le thread
void dispObjectif(std::string objectif, sf::RenderWindow& scene);
//Le prototype de la fonction appellée
Le compilateur me retourne "error: excepted primary-expression before '&' token":/
Weby
- Membre
- 56564 posts
29 novembre 2013, 17:42
Tu peux pointer vers une autre fonction en cpp ? savais pas.
luciole
- Membre
- 2315 posts
29 novembre 2013, 18:35
C'est avec les thread. Ça fonctionne en SFML avec l'objet sf::Thread mais je sais pas si ça fonctionne avec les thread du c++ normal j'en ai jamais utilisé :/
Max
- Membre
- 12928 posts
29 novembre 2013, 18:47
je fais comment pour faire ça directement sur la ligne de commande (en même temps que l’exécution du programme ?) (donc en même temps que ./nom_du_programme ? )
parce que c'est imposé« Modifié: 29 novembre 2013, 18:48 par Max »
je fais comment pour faire ça directement sur la ligne de commande (en même temps que l’exécution du programme ?) (donc en même temps que ./nom_du_programme ? )
parce que c'est imposé
Weby
- Membre
- 56564 posts
29 novembre 2013, 19:17
variables argc et argv
google it
google it
Max
- Membre
- 12928 posts
29 novembre 2013, 19:34
ah oui, parfait, merci beaucoup
Madikan
- Membre
- 2738 posts
01 décembre 2013, 14:06
Z'auriez pas un conseil pour un micro pas trop cher, juste pour l'utiliser avec skype ou autres,parce que le mien est vraiment merdique. Ce serait bien aux alentours d'une vingtaine d'euros.
Thanks !
Thanks !
Weby
- Membre
- 56564 posts
Lamelune
- Membre
- 8807 posts
03 décembre 2013, 19:53
Je rencontre un problème avec mon PC. En gros j'ai installé une extension Windows, c'est pas un programme donc je ne peux pas la désinstaller via le panneau de configuration. Dès que vous l'ouvrez, hop c'est activé sur votre PC.
Ca me ralentit énormément et fait provoquer des plantages assez récurrents. J'aimerais éviter la solution radicale qui est tout formater pour tout réinstaller.
Ca me ralentit énormément et fait provoquer des plantages assez récurrents. J'aimerais éviter la solution radicale qui est tout formater pour tout réinstaller.
Weby
- Membre
- 56564 posts
Antvibe
- Membre
- 16880 posts
04 décembre 2013, 19:00
Bravo, tu as activé un virus
Madikan
- Membre
- 2738 posts
05 décembre 2013, 20:36
http://www.materiel.net/webcam/microsoft-lifecam-hd-3000-83837.htmlMerci mais j'ai déjà une cam d'assez bonne qualité et j'aimerais savoir si y aurait pas juste un micro...
Cam + micro décent pour 20€.
Weby
- Membre
- 56564 posts
05 décembre 2013, 20:45
n'importe quelle fnac/magasin d'info standard, t'as des micros à 5€ qui font très bien l'affaire.
Madikan
- Membre
- 2738 posts
05 décembre 2013, 20:49
Ça va merci encore !
Ivy Maital
- Membre
- 13331 posts
07 décembre 2013, 21:59
Yop,
Pour un pote je dois trouver le mdp admin d'un macbook pro. J'ai réussi à créer une autre session, j'ai lancé un truc qui cherche par bibliothèque, mais après 27h et quelques centaines de milliard d'essais il trouve toujours pas. J'ai lu qu'on pouvait le décrypter via le hash, sauf qu'il est censé y avoir des $ dans le hash pour virer des machins avant de lancer un autre prog, mais dans mon cas j'en ai pas.
Quelqu'un a une solution?
Pour un pote je dois trouver le mdp admin d'un macbook pro. J'ai réussi à créer une autre session, j'ai lancé un truc qui cherche par bibliothèque, mais après 27h et quelques centaines de milliard d'essais il trouve toujours pas. J'ai lu qu'on pouvait le décrypter via le hash, sauf qu'il est censé y avoir des $ dans le hash pour virer des machins avant de lancer un autre prog, mais dans mon cas j'en ai pas.
Quelqu'un a une solution?
Weby
- Membre
- 56564 posts
07 décembre 2013, 22:15
Les hash c'est du md5 + salt... Le décryptage ne marchera pas, à moins que t'ais gagné à la loterie 100x d'affilé ou que t'ais 200 ans à disposition pour le calcul...
Meilleur moyen : reset du macbook, point.
Sinon, bah le mot de passe administrateur ça se reset pas avec l'apple ID ?
Meilleur moyen : reset du macbook, point.
Sinon, bah le mot de passe administrateur ça se reset pas avec l'apple ID ?
Antvibe
- Membre
- 16880 posts
07 décembre 2013, 22:24
Dis moi pas que t'as encore trouvé un macbook sauvage dans un sac en cuir dans le métro parisien
Ivy Maital
- Membre
- 13331 posts
07 décembre 2013, 22:26
Même pas.
Non apparemment celui est plus ou moins legit. En tout cas pas considéré comme volé.
Non apparemment celui est plus ou moins legit. En tout cas pas considéré comme volé.
Guitoh
- Membre
- 5981 posts
07 décembre 2013, 23:05
Ben je suis verni alors, vu qu'en bruteforce sur des hash de mot de passe, j'en ai récupéré pas mal
Les hash c'est du md5 + salt... Le décryptage ne marchera pas, à moins que t'ais gagné à la loterie 100x d'affilé ou que t'ais 200 ans à disposition pour le calcul...
Ben je suis verni alors, vu qu'en bruteforce sur des hash de mot de passe, j'en ai récupéré pas mal
Guitoh
- Membre
- 5981 posts
07 décembre 2013, 23:19
7 carac dont un spécial = 1h de calcul avec un i5