begin process at 2012 05 25 12:42:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Divers

 > 

Général

 > 

Projet Casse-briques


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Projet Casse-briques

jeudi 29 mars 2007 à 22:49:03 | Projet Casse-briques

psgkiki

Bonjour à tous,

Je suis nouveau sur le site. Je me suis inscrit car je viens de recevoir mon projet en assembleur à faire.

J'ai commencé l'assembleur depuis 2 mois et notre prof et tout jeune et donc explique pas très bien. On a eu qu'un seul cours d'assembleur traitant du graphisme (affichage d'une palette de couleurs) et là il nous demande de faire un casse-brique (Arkanoid). Tout le monde connaît le jeu.

Voila mon probleme, je n'ai aucune idée pour commencer ce projet. Je ne vois pas comment diriger avec la souris la barre, comment faire rebondir la balle, comment casser les briques...

J'ai absolument besoin d'aide svp.

Si vous avez un cours bien expliqué sur le graphisme en assembleur 8086, je suis prenant car je n'en ai pas trouvé ou si quelqu'un l'a deja fait et peut m'aider.

Merci beaucoup

Julien
samedi 31 mars 2007 à 07:33:18 | Re : Projet Casse-briques

patatalo

Membre Club Administrateur CodeS-SourceS
salut,


la premiere question a se poser c'est sous quel systeme d'exploitation tu va le creer.
ensuite, tu te documente sur les api fournies par ce systeme d'exploitation.

pour faire rebondir ta balle, tu dois connaitre sa direction et la projeter a l'angle opposé de la perpendiculaire a son point de contact.

      \    |    /
ping  \  |  / pong
_____\|/______


@++
samedi 31 mars 2007 à 11:28:04 | Re : Projet Casse-briques

psgkiki

Bonjour,

Je développe sur Windows grâce à MASM ( ce que l'on utilise en cours).

Je ne vois vraiment pas comment coder les rebonds de la balle. Faire le rectangle c'est bon je sais; deplacer la barre à l'aide de la souris cela devrait aller mais les rebonds de la balle et quand elle touche une brique, la supprimer, ça je ne sais pas.

Personne ne l'a deja fait ou a quelques petits bouts de codes concernant un sujet qui ressemble aux casse-briques ?

Merci
lundi 2 avril 2007 à 16:31:37 | Re : Projet Casse-briques

psgkiki

Bonjour

Voila, on a deja reussi à afficher le rectangle plus la "raquette". Mais maintenant, j'aimerais savoir comment gérer la raquette avec la souris.

Voici mon programme qui affiche le rectangle et la "raquette" :

Data segment

data ends

Code segment
Assume CS : Code , DS : data

Deb :

MOV AX, data
MOV DS, AX

MOV AH, 0 ;mode VGA
MOV AL, 13h
INT 10h

MOV AX, 0A000h ;Segment écran
MOV ES, AX


MOV AX, 30
MOV BX, 50
MOV CX, 100
mov dx,0
call droite

MOV AX, 30
MOV BX, 50
MOV cX, 120
mov dx,1
call droite

;MOV AX, 30
;MOV BX, 170
;MOV cX, 101
;mov dx,0
;call droite

MOV AX, 130
MOV BX, 50
MOV cX, 120
mov dx,1
call droite

mov AX, 85
mov BX, 165
mov CX, 20
mov dx, 0
call droite

MOV AH,8
INT 21h

MOV AH, 0
MOV AL, 3
INT 10h

MOV AH, 4Ch
INT 21h

droite proc

mov si,bx
mov di,ax
mov ax,320
push dx
mul bx
add di,ax
pop dx
cmp dx,0
je boucle2
boucle:
inc si
mov es:byte ptr[di],95
add di , 320
cmp si,200
jge fin
loop boucle

jmp fin
boucle2:
inc si
mov es:byte ptr[di],95
inc di
cmp si , 320
jge fin
loop boucle2

fin:
ret
droite endp

efface_ecran PROC

MOV DI, 0
MOV CX,320
bigboucle2:
PUSH CX
MOV CX,200
boucle3:
MOV AL, 0
MOV ES:[DI], AL
INC DI
LOOP boucle3
POP CX
LOOP bigboucle2
RET
efface_ecran ENDP

Code ends
END deb



Merci pour votre aide
lundi 2 avril 2007 à 23:02:21 | Re : Projet Casse-briques

Guilou34

Salut

Le  tracé du billard  et de la palette est assez maladroit et le manque de commentaire manifeste.

   

Il te  faut d'abord écrire une  procédure qui trace une ligne horizontale  partant d'un point x ,y et d'une longueur L. Cette procédure sera utilisée non seulement pour le bord supérieur et la palette mais aussi pour toutes les briques.

Note que pour tracer une ligne horizontale, si DI contient l'origine, CX la taille  et AL la couleur, il suffit d'écrire :


Boucle : Stosb

Loop boucle     

 

Parce que : Stosb= Mov  ES: byte ptr  [DI],AL  suivi de inc DI.

 

Pour rester fidèle au modèle original, il faut utiliser les flèches horizontales du clavier et non pas la souris. Pour cela l'int 16h avec ah=1 est l'idéal

Dans le segment Data il te faudra loger les constantes : taille de la raquette, hauteur et largeur des briques, hauteur et largeur de la balle ( = pavé) et comme variable l'origine de la  raquette.

Quand tu auras réalisé tout ça, il ne restera plus qu'à programmer le mouvement de la balle.

Une piste : la balle progresse par  pas de  dx et dy. Quand elle rencontre un bord vertical on change le signe de dx et quand elle rencontre une ligne horizontale c'est dy qui doit changer de signe. Elle ne pourra tracer que des parallélogrammes, il faut donc modifier dx et dy en fonction de l'endroit où elle touche la raquette       

Bonne chance et n'oublie pas de prévoir des boucles de délais: on est loin d'un  8080.

mardi 3 avril 2007 à 14:43:54 | Re : Projet Casse-briques

patatalo

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
salut,


ton OS n'est pas Windows mais DOS.
ils n'ont pas internet tes profs pour encore apprendre le 16 bits aux élèves ou c'est qu'ils ont peut etre des bibles du PC à refourguer ? ;-)


@++
mardi 3 avril 2007 à 16:40:28 | Re : Projet Casse-briques

psgkiki

Ah désolé pour l'erreur !!!

En fait, c'est un prof qui débute donc ses cours ne sont pas clairs. Donc je ne vois pas trop comment faire le projet enfin toute la classe est dans mon cas. En fait, on a appris vaguement les boucles (suites de fibonacci) affichage de phrases ... mais en ce qui concerne le graphique on n'a rien fait à part l'affichage d'une palette de couleurs.

Donc, la je suis entrain de me prendre la tête avec les conseils de Guilou34le résultat ne suit pas. J'ai quand meme reussi a faire le cadre avec la raquette mais maintenant pour diriger la raquette avec la souris et gérer les rebonds de la balle, c'est mission impossible pour un débutant comme moi.

Je compte vraiment sur votre aide.

Merci beaucoup
lundi 9 avril 2007 à 06:02:14 | Re : Projet Casse-briques

patatalo

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
salut,




tu as de la chance, quelqu'un vient de poster un code qui pourrait t'interesser.
http://www.asmfr.com/infomsg_BOOT-PONG_917733.aspx

@++
vendredi 13 avril 2007 à 11:55:26 | Re : Projet Casse-briques

psgkiki

Le lien ne marche plus. Est-ce que quelqu'un l'a pris le code, ou le pseudo du membre du forum qui l'a posté, cela m'interesserait car là je galère de trop.

Merci beaucoup
vendredi 13 avril 2007 à 23:06:23 | Re : Projet Casse-briques

Guilou34

Le code est  sur  http://www.asmfr.com/codes/BOOT-PONG_32086.aspx, il s'assemble avec Tasm.
et fonctionne très bien
Patatalo a raison: je ne vois pas l'intérêt d'un tel projet, d'autant plus qu'étant en mode graphique, il est difficile de le tracer avec debug.
Il te reste  à comprendre boot-pong   et à l'adapter à ton travail
Bonne chance

1 2

Cette discussion est classée dans : projet, cours, assembleur, casse, briques


Répondre à ce message

Sujets en rapport avec ce message

projet assembleur [ par zipposou ] Salut a tousj'ai un enorme probleme, j'ai un projet à rendre en assembleur 68000, c en fait le jeu du serpent.Le probleme c que je ne connais pas gran projet assembleur [ par zipposou ] Salut a tousj'ai un enorme probleme, j'ai un projet à rendre en assembleur 68000, c en fait le jeu du serpent.Le probleme c que je ne connais pas gran cours assembleur 68000 [ par ofthechurch ] Bonjours, je cherche des tuoriels, des cours ou des livres portant sur la prorammation en assembleur sur 68000, j'ai trouvé quelque vague trucs sur go horloge numerique [ par taao ] Bonjour, j'ai un cours de microcontroleurs et j dois programmer une horloge numerique en assembleur sur pic16f676, et je ne sais pas par ou commencer remote controle [ par youssef_sympas ] je félécite ce forum et je le souhaite la bonne continut. Je suis très stréssé car il ne me réste que 3 jours pour valider mon projet assembleur. Je c Dur dur de compiler le code des autres... [ par sirehanack ] Bonjour à toutes et à tous!Je suis tout nouveau ici et dans le monde de l'assembleur. En fait je suis aussi nouveau dans l'informatique, je n'ai pour cours d'assembleur 8086 et cours sur le logiciel d'assemblage [ par boulema ] veuillez m'envouyer un bon cours de 8086 et 6809 et leurs logiciels d'assemblage pour ingénieur 1ère année Utiliser un ActiveX dans un projet assembleur [ par vulpes87 ] BonjourDepuis un bout de temps je recherche des informations, si c'est possible d'utiliser un ActiveX dans un projet assembleur. J'ai utilié des resso mini projet en assembleur [ par chercheurzaza ] bonsoir à tout le monde,je suis débutante en langage assembleur et je doit réaliser cette semestre un mini projet à base de micro-controleur je serais programation d'assembleur [ par meriemjab ] 'bonsoir je suis une étudiante et je suis en triant de faire mon projet j


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,435 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales