Topic de JamereBurvelle :

[PROJET] Apprenons à programmer en JAVA !

non mais stop, le java c'est pas un langage contraignant go apprendre le c, si tu veux devenir polyvalent

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 [[sticker:p/1lmb]] .

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 [[sticker:p/1kkn]]

Au lieu de décaler toutes les cases, on déplace la dernière case de la queue vers la tête [[sticker:p/1kkn]]

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 [[sticker:p/1kkn]]

Au lieu de décaler toutes les cases, on déplace la dernière case de la queue vers la tête [[sticker:p/1kkn]]

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 ?

la guerre entre python et java ne date pas d'aujourd'hui mais java, tu peux dev des application android et tu peux te faire de l'argent de poche facilement avec une petite application ;)

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 [[sticker:p/1kkn]]

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 :oui:

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 :rire:

il faut apprendre le HTML avant le JAVA non ?

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. :hap:

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 :bave:

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 :bave:

Déjà aux classes, je comptait pas faire de cour dessus avant un petit moment [[sticker:p/1jnh]]

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 [[sticker:p/1jnf]]

Ce topic m'intéresse ! Je le FAV [[sticker:p/1kki]]

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 :hap:

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 :hap:
(Si t'as des exos pour voir où on en est, je suis preneur :bave:)
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.

Pourquoi on met pas tout en public alors ? On se ferait moins chier :(

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.

Mmmh ok c'est vraiment pour programmer sur un gros projet à plusieurs quoi, seul c'est pas forcément utile puisqu'on sait (normalement https://image.noelshack.com/fichiers/2017/21/1495823687-risitas197.png ) comment fonctionne notre code ?

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 https://image.noelshack.com/fichiers/2017/21/1495823687-risitas197.png ) 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 :hap:

Ok, merci ! Ca me semblait vraiment vague à la base, je continuerai à utiliser tout ça alors !

POO=caca

Vive le procédural [[sticker:p/1kki]]

Données du topic

Auteur
JamereBurvelle
Date de création
22 novembre 2017 à 23:04:59
Nb. messages archivés
412
Nb. messages JVC
410
Voir le topic sur JVC

Afficher uniquement les messages de l'auteur du topic

En ligne sur JvArchive

JvArchive compagnon

Découvrez JvArchive compagnon , l'userscript combattant la censure abusive sur le 18-25 !