Petit problème pour programmation de Puissance 4
Résolu/Fermé
indianboy33
Messages postés
22
Date d'inscription
dimanche 25 septembre 2011
Statut
Membre
Dernière intervention
5 mai 2014
-
Modifié par indianboy33 le 19/02/2014 à 11:42
Leydorn Messages postés 19 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 26 octobre 2018 - 23 avril 2015 à 18:08
Leydorn Messages postés 19 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 26 octobre 2018 - 23 avril 2015 à 18:08
A voir également:
- Petit problème pour programmation de Puissance 4
- Test puissance pc - Guide
- Application de programmation - Guide
- Puissance wifi - Guide
- Code gta 4 ps4 - Guide
4 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
19 févr. 2014 à 11:58
19 févr. 2014 à 11:58
Salut,
c'est du C++ ça ? final ne fait pas partie des mots clefs C++.
println n'est pas une fonction C++ standard.
Ton programme est mal écrit, il n'est pas évolutif, trop de cas particuliers de conditions de bords etc.
En plus, il n'est pas indenté (utilise les balises de code disponible parmi les styles de mise en forme).
Ton choix de passer par une variable globale "status" est peu judicieux et rend le code difficile à lire. Utilise les retours de fonction, c'est mieux.
Tu vérifies juste si tu as gagné, pas si l'ordi a gagné.
c'est du C++ ça ? final ne fait pas partie des mots clefs C++.
println n'est pas une fonction C++ standard.
Ton programme est mal écrit, il n'est pas évolutif, trop de cas particuliers de conditions de bords etc.
En plus, il n'est pas indenté (utilise les balises de code disponible parmi les styles de mise en forme).
Ton choix de passer par une variable globale "status" est peu judicieux et rend le code difficile à lire. Utilise les retours de fonction, c'est mieux.
Tu vérifies juste si tu as gagné, pas si l'ordi a gagné.
indianboy33
Messages postés
22
Date d'inscription
dimanche 25 septembre 2011
Statut
Membre
Dernière intervention
5 mai 2014
19 févr. 2014 à 12:19
19 févr. 2014 à 12:19
En fait c'est du Java's cool, d'ou la présence des finals et println.
Mais bon, j'ai résolu le problème en utilisant plein de trucs. Bref, merci beaucoup pour la réponse et bien sur je prendrais en compte vos indications pour améliorer le programme.
Mais bon, j'ai résolu le problème en utilisant plein de trucs. Bref, merci beaucoup pour la réponse et bien sur je prendrais en compte vos indications pour améliorer le programme.
ThomasBan
Messages postés
1
Date d'inscription
vendredi 21 mars 2014
Statut
Membre
Dernière intervention
21 mars 2014
21 mars 2014 à 16:38
21 mars 2014 à 16:38
Salut, j'essaye de faire un puissance 4 moi aussi avec javascool et je voulait savoir qu'est ce que vous avez changé pour que le programme soit fonctionnel. Je ne suis pas parti exactement comme vous mais ça pourrait m'aider.
Merci.
Merci.
En fait, j'ai tout modifié, j'ai enlevé presque tout les "status". J'ai optimisé le programme. C'est surtout le status d'arbitrage qui m'a gêné, je l'ai enlevé et je l'ai remplacé par un simple if.
Leydorn
Messages postés
19
Date d'inscription
lundi 22 juin 2009
Statut
Membre
Dernière intervention
26 octobre 2018
23 avril 2015 à 17:42
23 avril 2015 à 17:42
Bonjour,
Toujours en TS/ISS/P4, mais plus court, deux filles :
void grille(String color) {
int x1 = -20;
int x2 = 20;
int y1 = -20;
int y2 = 20;
int nbl = (int)Math.floor(40 / N);
// écartement, nombre de pixels entre deux lignes.
int nbc = (int)Math.floor(40 / N);
// écartement, nombre de pixels entre deux colonnes.
for (int i = 0; i <= N; i = i + 1) {
hline( -20 + nbl * i, color);
}
for (int i = 0; i <= N; i = i + 1) {
vline( -20 + nbc * i, color);
}
}
void vline(int y, String color) { //GRILLE
// Lignes verticales.
for (int i = -20; i <= 20; i = i + 1) {
setPixel(y, i, color);
}
}
void hline(int x, String color) { //GRILLE
for (int i = -20; i <= 20; i = i + 1) {
// Lignes horizontales.
setPixel(i, x, color);
}
}
public static int N =5; // Nombre de lignes et de colonnes. Peut être changé.
void main() {
reset(20, 20);
String svc;
svc = "blue";
grille(svc);
int case_ = (40 / N) * (40 / N);
}
Merci !
Toujours en TS/ISS/P4, mais plus court, deux filles :
void grille(String color) {
int x1 = -20;
int x2 = 20;
int y1 = -20;
int y2 = 20;
int nbl = (int)Math.floor(40 / N);
// écartement, nombre de pixels entre deux lignes.
int nbc = (int)Math.floor(40 / N);
// écartement, nombre de pixels entre deux colonnes.
for (int i = 0; i <= N; i = i + 1) {
hline( -20 + nbl * i, color);
}
for (int i = 0; i <= N; i = i + 1) {
vline( -20 + nbc * i, color);
}
}
void vline(int y, String color) { //GRILLE
// Lignes verticales.
for (int i = -20; i <= 20; i = i + 1) {
setPixel(y, i, color);
}
}
void hline(int x, String color) { //GRILLE
for (int i = -20; i <= 20; i = i + 1) {
// Lignes horizontales.
setPixel(i, x, color);
}
}
public static int N =5; // Nombre de lignes et de colonnes. Peut être changé.
void main() {
reset(20, 20);
String svc;
svc = "blue";
grille(svc);
int case_ = (40 / N) * (40 / N);
}
Merci !
Leydorn
Messages postés
19
Date d'inscription
lundi 22 juin 2009
Statut
Membre
Dernière intervention
26 octobre 2018
23 avril 2015 à 18:08
23 avril 2015 à 18:08
Erreur de syntaxe ligne 1 :
cannot access java.lang.Math
bad class file: java\lang\Math.class(java\lang:Math.class)
class file has wrong version 52.0, should be 50.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
import static java.lang.Math.*;import static org.javascool.macros.Macros.*;import static org.javascool.macros.Stdin.*;import static org.javascool.macros.Stdout.*;import static org.javascool.proglets.javaProg.Functions.*;public class JvsToJavaTranslated1 implements Runnable{ private static final long serialVersionUID = 1L; public void run() { try{ main(); } catch(Throwable e) { if (e.toString().matches(".*Interrupted.*"))println("\n-------------------\nProgramme arrêté !\n-------------------\n"); else println("\n-------------------\nErreur lors de l'exécution de la proglet\n"+org.javascool.core.Jvs2Java.report(e)+"\n-------------------\n");} }public static void main(String[] usage) { new org.javascool.widgets.MainFrame().reset("javaProg démo", 700, 600, org.javascool.core.ProgletEngine.getInstance().setProglet("javaProg").getProgletPane()).setRunnable(new JvsToJavaTranslated1());}
^
cannot access java.lang.Math
bad class file: java\lang\Math.class(java\lang:Math.class)
class file has wrong version 52.0, should be 50.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
import static java.lang.Math.*;import static org.javascool.macros.Macros.*;import static org.javascool.macros.Stdin.*;import static org.javascool.macros.Stdout.*;import static org.javascool.proglets.javaProg.Functions.*;public class JvsToJavaTranslated1 implements Runnable{ private static final long serialVersionUID = 1L; public void run() { try{ main(); } catch(Throwable e) { if (e.toString().matches(".*Interrupted.*"))println("\n-------------------\nProgramme arrêté !\n-------------------\n"); else println("\n-------------------\nErreur lors de l'exécution de la proglet\n"+org.javascool.core.Jvs2Java.report(e)+"\n-------------------\n");} }public static void main(String[] usage) { new org.javascool.widgets.MainFrame().reset("javaProg démo", 700, 600, org.javascool.core.ProgletEngine.getInstance().setProglet("javaProg").getProgletPane()).setRunnable(new JvsToJavaTranslated1());}
^