Le 24 novembre 2017 à 23:29:49 Zangdar92 a écrit :
non mais stop, le java c'est pas un langage contraignant
Si c'est contraignant dans le sens ou quand tu code java, tu est quasi-obligé de respecté le paradigme objet. Dans d'autres langage comme python, c'est la fête, tu peut faire tout et son contraire .
go apprendre le c, si tu veux devenir polyvalent
Ou pas.
Le 24 novembre 2017 à 23:27:39 inkhey a écrit :
Tiens je vous propose un défi d'algorithmique. Comment vous représenter et gérer un serpent pour un jeu de type snake ? Je vous le propose parce que c'est un truc qui m'avais bien turlupiné quand j'était en DUT info et c'est via ce serpent que j'ai débuté python (alors que je faisait plutôt du java à la base).Il faut considérer que le serpent de déplace dans un espace d'un certain nombre de cases et qu'il peut grandir.
À vos cerveau, partez
Au lieu de décaler toutes les cases, on déplace la dernière case de la queue vers la tête
Le 24 novembre 2017 à 23:34:46 Cielmorne a écrit :
Le 24 novembre 2017 à 23:27:39 inkhey a écrit :
Tiens je vous propose un défi d'algorithmique. Comment vous représenter et gérer un serpent pour un jeu de type snake ? Je vous le propose parce que c'est un truc qui m'avais bien turlupiné quand j'était en DUT info et c'est via ce serpent que j'ai débuté python (alors que je faisait plutôt du java à la base).Il faut considérer que le serpent de déplace dans un espace d'un certain nombre de cases et qu'il peut grandir.
À vos cerveau, partez
Au lieu de décaler toutes les cases, on déplace la dernière case de la queue vers la tête
Intéressant j'avais pas pensé à ça comme ça.
Deux questions supplémentaires :
- Tu gère l'agrandissement comment ?
- Comment tu représenterais informatiquement le serpent ?
Le 24 novembre 2017 à 23:27:39 inkhey a écrit :
Tiens je vous propose un défi d'algorithmique. Comment vous représenter et gérer un serpent pour un jeu de type snake ? Je vous le propose parce que c'est un truc qui m'avais bien turlupiné quand j'était en DUT info et c'est via ce serpent que j'ai débuté python (alors que je faisait plutôt du java à la base).Il faut considérer que le serpent de déplace dans un espace d'un certain nombre de cases et qu'il peut grandir.
À vos cerveau, partez
Pour l'agrandissement, il me semble que dans le jeu tu ajoutes une case au serpent à partir du moment ou tu as "digéré" la nourriture, donc quand elle arrive à la queue 
Sinon pour la représentation je vois pas ce que tu veux dire
J'imagine que ce serait un tableau avec une taille modulable ? Mais je sais pas tout à fait comment faire ça encore 
Le 25 novembre 2017 à 09:16:35 PSVITADEMEEGO a écrit :
il faut apprendre le HTML avant le JAVA non ?
Ça n'a rien à voir 
Je sais pas si des gens ont fait l'exercice que j'ai mis à la page précédente, mais j'ai envie de faire un petit cour sur l'affichage, je reprend donc mon projet FirstProject avec le code du fichier FirstClass.java :
https://pastebin.com/bBM9qz95
Ce qui va nous intéresser, c'est surtout la fonction System.out.print()
On a vu que cette fonction permettait d'afficher un texte mis entre guillement.
Parlons à présent un peu des caractère d'échappement:
Il s'agit d'utiliser le caractère '\' pour effectuer certaines opération du type tabulation ou retour à la ligne :
tabulation : '\t'
retour à la ligne : '\n'
cette fonction permet aussi d'échapper certains caractères qu'ont veut juste afficher mais qui peuvent être interprété comme du code, par exemple la chaine : "Je suppose que vous voyez le "probleme" dont je parle".
Effectivement, placer un mot entre guillemet fait qu'on ferme la chaine puis qu'on en rouvre une autre derrière elle, ce qui va nous provoquer une jolie erreur. 
Il faut alors échapper cette chaine avec le caractère '\' :
"Je suppose que vous voyez le \"probleme\" dont je parle"
Une dernière petite chose, on va se servir de deux fonction pour écrire :
System.out.print() : elle écrit simplement dans la console à la suite de ce qui a été écrit
System.out.println() : elle écrit à la suite de ce qui a été écrit PUIS passe à la ligne suivante.
Vous pouvez vous amuser à écrire ce genre de texte :
"Aujourd'hui nous allons tester le retour chariot
ainsi que les tabulation sans oublier les "guillemets" bien entendu!"
Ah j'avais jamais essayé de mettre des guillemets dans du texte, mais c'est vrai que j'aurais pas pensé au '\' haha, merci !
Perso j'suis à l'exercice 73 du MOOC là, j'ai démarré les classes 
Le 25 novembre 2017 à 11:50:24 JamereBurvelle a écrit :
Ah j'avais jamais essayé de mettre des guillemets dans du texte, mais c'est vrai que j'aurais pas pensé au '\' haha, merci !Perso j'suis à l'exercice 73 du MOOC là, j'ai démarré les classes
Déjà aux classes, je comptait pas faire de cour dessus avant un petit moment
C'est d'ailleurs l'une des difficulté quand on débute ou qu'on enseigne le JAVA, vu qu'il est totalement objet, il faut réussir à faire "abstraction" (rien à voir avec les classes abstraite) des classes au début pour se concentrer sur les bases de la programmations
Ce topic m'intéresse ! Je le FAV
Perso je fais plus du Processing, qui est un dérivé du JAVA
Cool Aesthetic, je connais pas du tout ça par contre, le Processing 
SixBlade, j'ai déjà les "bases" ça fait un petit moment que je suis dessus c'est pour ça que j'en suis aux classes maintenant 
(Si t'as des exos pour voir où on en est, je suis preneur
)
Par contre un truc qui est pas tout à fait clair pour moi c'est les différences entre "public", "private", "static"... Je comprends pas exactement tous ces mots clefs 
Le 25 novembre 2017 à 12:09:21 JamereBurvelle a écrit :
Par contre un truc qui est pas tout à fait clair pour moi c'est les différences entre "public", "private", "static"... Je comprends pas exactement tous ces mots clefs
C'est une question de visibilité.
Un attribut private n'est visible que dans la classe.
Un attribut package (sans mot clé) est visible dans la classe et le package.
Un attribut protected est visible dans la classe, le package de la classe et dans les classes filles.
Un attribut public sera visible de partout.
Pour le static, c'est un mot clé pour définir une portée statique, cad qqc inhérent à la classe dans sa globalité et non à une instance.

Le 25 novembre 2017 à 12:22:44 JamereBurvelle a écrit :
Pourquoi on met pas tout en public alors ? On se ferait moins chier
Parce qu'on ne souhaite pas que d'autres personnes puissent modifier des comportements du programme à cause d'une mauvaise compréhension et utilisation de ces attributs.
Faut vraiment voir la programmation en java comme des blackbox, tu mets à disposition uniquement des méthodes publiques, les attributs restant privés (norme Java Bean)... les autres classes sont pas censées connaître le détail de l'implémentation.
Le 25 novembre 2017 à 12:30:25 JamereBurvelle a écrit :
Mmmh ok c'est vraiment pour programmer sur un gros projet à plusieurs quoi, seul c'est pas forcément utile puisqu'on sait (normalement) comment fonctionne notre code ?
C'est une question de propreté et de conception objet surtout.
Le langage met à disposition ces fonctionnalités, autant les utiliser pour avoir un code propre et sûr, sinon autant partir sur un langage de script à la python/js 
POO=caca
Vive le procédural
JvArchive compagnon