IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

x86 32-bits / 64-bits Assembleur Discussion :

Tetris help assembleur x86 help


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 52
    Points : 36
    Points
    36
    Par défaut Tetris help assembleur x86 help
    Bonjour /bonsoir

    D'abord je tiens a m'excuser pour mon ortographe je n'ai jamais etudier en français.

    Pour un de mes cours a la fac je dois crée un jeu en assembleur j'ai choissi de crée tetris mais je ne sais pas du tous par quoi commencer ou qu'elle sont les etape que je dois suivre pouriez vous maider?

    on simule dans dosbox un proccesuer intel 80386 32 bit

    merci d'avance

  2. #2
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Hello,

    Pour un premier programme t'as visé bien haut je trouve

    Comme dans tout boulot, il te faut un cahier des charges bien défini.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 52
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Forthman Voir le message
    Hello,

    Pour un premier programme t'as visé bien haut je trouve

    Comme dans tout boulot, il te faut un cahier des charges bien défini.
    Ce n'est pas mon premier programme mais voila pas le choi on dois fair un jeu.
    et que metterai tu dans le cahier de charge?

  4. #4
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    Citation Envoyé par denzi Voir le message
    Ce n'est pas mon premier programme mais voila pas le choi on dois fair un jeu.
    le fait est qu'il y en avait des plus simples, comme Pong par exemple ou le Jeu de la Vie etc. Tetris c'est déjà un jeu très abouti et donc complexe

    et que metterai tu dans le cahier de charge?
    tu prends le problème à l'envers, qu'est-ce que toi tu mettrais dans le cahier des charges, on pourra te dire si c'est juste ou non

  5. #5
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Comme l'a dit BufferBob, c'est à toi de définir le cahier des charges.

    - nombre de lignes et de colonnes
    - forme des pièces (tu n'es pas obligé de copier le Tetris originel)
    - possibilité ou non d'effectuer une rotation des pièces

    Tu dois aussi définir quel type d'affichage tu vas utiliser : graphique ou texte
    Sachant que si tu optes pour le mode graphique, il faudra aussi créer les sprites
    ou du moins charger des image... et dans ce cas, choisir un format d'image...

    Quand j'ai un projet, je note toutes les idées qui me passent par la tête, et ensuite je les classe

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 52
    Points : 36
    Points
    36
    Par défaut
    bonsoir / bonjour

    J'ai proposer pong il ont refussé par ce qeu trop facil :p

    et pour ca oui je suis obliger de passer par un mode graphique et le rest je vous avoue j'y ai pas trop reflechi des que je mis mes serieusement je vous dis quoi merci beaucoup

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Citation Envoyé par denzi Voir le message
    bonsoir / bonjour
    J'ai proposer pong il ont refussé par ce qeu trop facil :p
    « PONG » en assembleur quand on débute totalement, c'est pourtant approprié, et en plus ça suit le courant de l'histoire. Ton professeur doit probablement avoir oublié qu'il a lui-même été débutant.

    Reste l'intermédiaire entre ces deux projets : le casse-brique.

    Intemporel, c'est un cas bien concret qui t'occupera un moment sans t'imposer les contraintes qu'un Tétris pourrait comporter (spécialement au niveau de la rotation des pièces et de la place pour les y glisser, ce qui est plus subtil que cela en a l'air). J'en avais moi-même écrit un 100 % assembleur sur un 486DX33, pour DOS (mode 13h) en 1990. J'en ai ensuite réécrit un autre en C courant 2002 lors d'une formation diplômante au cours de laquelle on travaillait sur l'API C de Windows.

  8. #8
    Invité
    Invité(e)
    Par défaut en langage de plus haut niveau puis traduction
    Citation Envoyé par denzi Voir le message
    Bonjour /bonsoir

    D'abord je tiens a m'excuser pour mon ortographe je n'ai jamais etudier en français.

    Pour un de mes cours a la fac je dois crée un jeu en assembleur j'ai choissi de crée tetris mais je ne sais pas du tous par quoi commencer ou qu'elle sont les etape que je dois suivre pouriez vous maider?

    on simule dans dosbox un proccesuer intel 80386 32 bit

    merci d'avance
    Au pire comme je l'ai dit dans l'intitulé, tu écris le jeu en langage de plus haut niveau ( avec des instructions assez simple) ou en langage naturel puis traduire le tout en asm à la main comme le ferait un compilateur ce n'est probablement pas la meilleure solution mais bon c'est ce que je ferais personnellement ( Une pierre Deux coups).

  9. #9
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Bonjour,

    Citation Envoyé par Ratator Voir le message
    Au pire comme je l'ai dit dans l'intitulé, tu écris le jeu en langage de plus haut niveau ( avec des instructions assez simple) ou en langage naturel puis traduire le tout en asm à la main comme le ferait un compilateur ce n'est probablement pas la meilleure solution mais bon c'est ce que je ferais personnellement ( Une pierre Deux coups).
    Ce n'est pas un bon conseil : il y sera encore l'an prochain à ce compte-là et surtout, il sera incapable de le débuguer si le problème vient du code de plus haut niveau. En plus, pendant relativement longtemps, même sur PC, programmer en assembleur était un art à part entière, et c'était même très passionnant. Cela implique des schémas de pensée qu'on ne retrouve avec aucun langage de plus haut niveau.

    C'est un peu tout l'intérêt de faire des exercices en assembleur, surtout si c'est pour développer des applications ambitieuses. Faire le travail du compilateur sans écrire réellement un compilateur, c'est s'éloigner encore plus de la raison d'être de la chose, qui devient déjà bien floue aux développeurs les plus récents…

  10. #10
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 446
    Points : 43 088
    Points
    43 088
    Par défaut
    En plus si c'est un exercice, ça se verra.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  11. #11
    Invité
    Invité(e)
    Par défaut j'avoue
    Citation Envoyé par Obsidian Voir le message
    Bonjour,



    Ce n'est pas un bon conseil : il y sera encore l'an prochain à ce compte-là et surtout, il sera incapable de le débuguer si le problème vient du code de plus haut niveau. En plus, pendant relativement longtemps, même sur PC, programmer en assembleur était un art à part entière, et c'était même très passionnant. Cela implique des schémas de pensée qu'on ne retrouve avec aucun langage de plus haut niveau.

    C'est un peu tout l'intérêt de faire des exercices en assembleur, surtout si c'est pour développer des applications ambitieuses. Faire le travail du compilateur sans écrire réellement un compilateur, c'est s'éloigner encore plus de la raison d'être de la chose, qui devient déjà bien floue aux développeurs les plus récents…
    Je sais que c'est vraiment passionnant cette sensation de liberté et de légerté quand on code en asm mais bon ça l'est quand on aime ce qu'on est entrain de faire mais d'après ce que j'ai compris je ne suis pas sûr qu'il aime trop son projet faut pas que sa ai l'air d'une corvet.
    Moi j'avais fait un petit snake en asm avec des instructions 8086/8088 il y-a un an, j'avais copier le jeu depuis un vieux nokia (copié a l'identique, enfin presque) et ce n'étais pas noté (d'ailleurs on n'a jamais noté ce que je fait) c'était juste pour la passion (C'était presque de la POO).

  12. #12
    Invité
    Invité(e)
    Par défaut copier turbo c++ 3.0
    Citation Envoyé par chrtophe Voir le message
    En plus si c'est un exercice, ça se verra.
    Mes derniers codes en asm, je les écrivais a la manière du compilateur turbo c++ 3.0.
    Pendant un moment j'ai étudié des sources asm généraient par son compilateur et je l'imitait tout le temps mes codes étaient bien structurées et je pouvaient mélanger le tout avec du C (je ne vous apprend rien) sous TASM.
    (Sauver BP en début des fonction, ... pour créer les variables globales et prendre les paramètres donnée a la fonction).

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 52
    Points : 36
    Points
    36
    Par défaut
    voila deja sur papier a quoi mon tetris va resemblé avec les pixel les 1 partie d'un block fera 5*5 donc un carré par exemple sera 10*10 pour la ligne blanche autoure ca sera la taille de la ou on jour plus 1Nom : 12209480_10206747812350543_406306134_o.jpg
Affichages : 555
Taille : 118,3 Ko

  14. #14
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    c'est ça pour toi t'y mettre sérieusement ? en 4 jours t'as fait un gribouillage ???
    Et bien T'as pas fini

    Perso, j'aurais d'abord imaginé la méthode pour coder et afficher tes blocs avant de définir arbitrairement
    ce que tu veux voir à l'écran.
    un pavé de 10x10 pourquoi pas, mais avec un 8x8 ou un 16x16 (voire 12x12) il sera plus facile de traiter
    tes tableaux avec des décalages (multiples de 8)

  15. #15
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Pour faire un jeu la première chose que je regarde c'est :
    -Comment afficher des pixels a l'écran.
    -Comment gerer les evenement clavier/souris/manette ect
    -Comment gerer les FPS (Frame par secondes).

    Si tu sais ça le reste n'est que de l'algorithme.

    Ensuite je doute vraiment de la faisabilité d'un tel projet deja que faire un tetris en C n'est pas simple alors en assembleur si on est pas passionner par par la prog asm ça reste d’être coton.

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 52
    Points : 36
    Points
    36
    Par défaut
    je vais clarifier certains point

    Fortman j'ai tres mal pris ton commentaire jai jusque janvier pour fair se projet et jai dautre projet pour dautre cours ainsi qu'un travaille de fin d'étude

    et j'ai jamais dis que je netais pas passioné mais on dois travaillé a deux deçu donc voila je suis venue demander conseille et ce que je reçois ne sont que des critique

    merci a tous ceux qui me donne des super reponse quand meme et je continurai a montré levolution du projet

  17. #17
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    Citation Envoyé par denzi Voir le message
    je suis venue demander conseille et ce que je reçois ne sont que des critique
    naann mais faut pas l'prendre comme ça, il est très joli ton dessin

  18. #18
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    C'est bien dommage pour toi car moi j'étais mort de rire en écrivant "gribouillage"

    Et si je comprends bien tu ne trouves pas mes réponses "super" ???
    Pourtant je t'assure que ton projet m'intéresse (et je ne suis pas le seul visiblement)

    Donc pour l'instant nous avons dans le cahier des charges :
    - Affichage en mode VGA 320x200
    - taille d'un élément de base : 5x5 pixels
    - espace de jeu : 10 colonnes x 30 lignes (50x150 pixels)
    - affichage de la pièce suivante
    - affichage du score

    mes questions de l'instant :
    - possibilité de rotation des pièces : ???
    - musique ou bruitages ? (avec le buzzer uniquement sinon c'est mission impossible)
    - affichage d'un écran d’accueil ?

    Sinon ton boulot est à rendre dans 2 mois ? sérieux ?

    à+ François

    PS: BufferBob, t'es vraiment un lèche-cul car son dessin est tout moisi ! même pas un trait à la règle, et en plus la photo est à 90°

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 52
    Points : 36
    Points
    36
    Par défaut
    salut tous le monde

    deja mon dessin il dechire meme geluk aurai pas fais mieux ahahah

    pour te repondre Forthman tu as bien raison apres pour tes quesiton la possibilité de rotation etais logique a mes yeux sinon pas un vrai tetris donc je l'ai pas mis dedans mais jaurai du, pour la musique je croi qu'on va pas en mettre et pour l'écran d’accueil j'y ai pas penser mais je vais d'abbord fair en sorte que ca fonctionne sans si apres jai encore le temps (j'en doute je metterai un ecran d’accueil )

    et je dois tous remettre avant le 9 janvier , mais jai d'autre projet donc pas evident

    ps: j'y boss pour le moment pas trop mais je vous fair par a chaque avancé.

    merci

  20. #20
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Citation Envoyé par denzi Voir le message
    et je dois tous remettre avant le 9 janvier , mais jai d'autre projet donc pas evident

    ps: j'y boss pour le moment pas trop mais je vous fair par a chaque avancé.
    Tu as donc deux mois, jour pour jour, pour rendre ton travail : considère que tu es déjà en retard.

    Nulle critique dans cette remarque mais sache qu'un Tétris est relativement difficile à mettre au point et qu'en étant totalement novice en assembleur, c'est un projet que tu pourrais à la limite boucler si tu y travaillais sept heures par jour et que tu n'avais rien d'autre à faire à côté. Or, j'imagine que tu as des partiels à préparer et d'autres cours à réviser (peut-être même un job à côté).

    Médite déjà sur les les six étapes de la procrastination. Sache qu'elles restent vrai à toutes les étapes de la vie, y compris lorsque l'on reprend des études étant adulte (c'est d'ailleurs étonnant de s'entendre sortir soi-même des excuses de collégien à ce stade…). Tu n'as pas besoin d'écrire les grandes lignes de ton projet, ou de faire un cahier des charges détaillé dans la mesure où tout le monde sait déjà ce qu'est un Tétris et qu'il y en a pléthore sur le Net. La difficulté est de savoir comment le faire. Si globalement tu as une idée de ce à quoi le tout devrait ressembler mais que tu ne sais pas par quoi commencer, c'est que le plus gros reste à faire.

    Ne te fixe pas une grande deadline à deux mois pour le projet complet mais plusieurs échéances à court terme pour les différentes étapes de ton projet : par exemple, essaie d'ici mercredi soir d'initialiser le bon mode graphique et de tracer des pixels à l'écran. Si ça marche et que tu es motivé, essaie d'intégrer une image fixe simple directement au code source de ton programme et de la faire afficher par celui-co dans le mode en question.

    Ensuite, essaie pour vendredi soir (ou éventuellement pour le vendredi soir suivant selon ton avancement et ta capacité à t'approprier le langage) de dessiner à l'écran les sept pièces manipulées par un Tétris. Il ne s'agit pas de les intégrer au jeu, ni de dessiner tout le décor (cadre, tableau des scores, etc.) mais juste d'écrire un petit programme initialisant le mode graphique et dessinant les pièces à l'écran (avec une temporisation avant de restaurer le mode initial et de revenir au DOS). Rien d'autre.

    Essaie déjà de faire ces deux choses-là d'ici la semaine prochaine car tu en auras de toutes façons besoin pour ton programme final. En fonction du temps que tu vas mettre pour réaliser quelque chose qui marche de ce côté-là, tu vas pouvoir estimer ensuite le temps qu'il te faudra pour réaliser l'application entière.

Discussions similaires

  1. [Débutante] Analyser un code Assembleur x86 simple
    Par élodie69 dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 21/05/2008, 11h54
  2. integrer du code Assembleur (x86) dans python
    Par nephhh dans le forum Général Python
    Réponses: 2
    Dernier message: 11/02/2007, 11h50
  3. Conversion instructions assembleur X86 -> PPC
    Par bencall dans le forum Assembleur
    Réponses: 4
    Dernier message: 28/09/2006, 22h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo