HAM INVADER -> SPACE INVADER VERSION HAMTARO [VIOLENT]

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 - 22 déc. 2005 à 08:12
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 - 26 déc. 2005 à 18:42
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35136-ham-invader-space-invader-version-hamtaro-violent

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
26 déc. 2005 à 18:42
Salut,

Non, l'assembleur de Borland n'est pas gratuit mais effectivement telechargeable gratuitement. Ce qui est loin d'etre la meme chose.

Maintenant, avec Masm et Nasm qui eux sont des freeware, je ne vois pas l'interet d'utiliser un logiciel pirate qui de plus, n'apporte rien de specifique.

@++
Choumoumou Messages postés 162 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 17 novembre 2010
26 déc. 2005 à 10:20
Salut Patatalo,

Merci pour ton commentaire, je dois reconnaître que tu as raison... Ça devient très difficile et très lourd de faire des paysages entiers avec ma technique... Je me disais bien qu'il y avait une manière de faire des sprites sous forme de tableaux, avec une routine qui affiche des pixels suivant ce tableau. Mais je n'ai pas la chance d'avoir "La bible du PC 6" avec les 500 balles qui vont avec ! (Même s'il est évident qu'il a baissé de prix depuis). J'ai appris l'assembleur tout seul, en regardant les sources de ce site, et avant que je pose celle ci, personne n'était là pour me dire que je merdait ici ou là. J'ai donc continué à faire des jeux de 50 Mo pour des paysages immenses... qui font ramer mon PC comme pas possible.

Merci beaucoup pour ce bout de code, il me sera extrêmement utile à l'avenir :D

BruNews> Je reconnais qu'il y a plus de "mov cx,... call PIXEL" que de véritable code. Mais rassure-toi, le code n'est pas dans les fichiers sprites, mais bien dans sou.asm.

les programmes Tasm et Tlink étant des freewares (donc en téléchargement libre et gratuit), je ne pense pas qu'il nécessite un accord pour les redistribuer, non ? Dans le doute, je préfère les enlever.

Bonnes Fêtes à tous
@+ !
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
22 déc. 2005 à 13:10
re,

voilà qui va permettre d'eliminer pas mal de fichier source,
de mettre tes sprites dans un fichier bin,
de faire faire un clin d'oeil a ton hamster quand on le rate sans recreer un autre fichier source,...

SPRITE STRUCT
tailleX WORD ?
tailleY WORD ?
bitmap DB 1 DUP(?)
SPRITE ENDS

VAISSO_SPRITE:
dw 12,5
db 00,00,00,00,00,07,07,00,00,00,00,00
db 00,00,00,00,07,15,15,07,00,00,00,00
db 00,00,00,07,15,15,15,15,07,00,00,00
db 00,00,07,15,15,15,15,15,15,07,00,00
db 00,00,07,15,07,00,00,07,15,07,00,00

OutSprite:;(x,y,SPRITE*)
push bp
mov bp,sp

push si ; bp-2
push di ; bp-4
push bx ; bp-6
cld ; direction +

mov cx,[bp+4] ; cx = x
mov dx,[bp+6] ; dx = y
mov si,[bp+8] ; si = sprite ptr

lodsw
push ax ; bp-8 = width
lodsw
push ax ; bp-10 = heigth

@1:
mov di,[bp-8] ; =width
@2:
lodsb
mov ah,0Ch
xor bx,bx
int 10h
inc cx
dec di
jne @2

inc dx
dec word ptr[bp-10]
mov cx,[bp+4]
jne @1

mov si,[bp-2]
mov di,[bp-4]
mov bx,[bp-6]

mov sp,bp
pop bp
ret 3*2


Main:
push offset VAISSO_SPRITE
push vaisseauY
push vaisseauX
call OutSprite
...

dans tout les cas, ce n'est pas la bonne maniere de gerer des sprites.

Meme si je n'apprecie pas ce bouquin, ( contient trop d'erreurs, rien sur le mode protégé ou presque bien qu'il date de 1996, ...) il a l'avantage de contenir un chapitre sur les sprites en mode reel:

La bible du PC 6( 500 balles quand meme a l'epoque fallait pas avoir le net )

@++
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
22 déc. 2005 à 09:04
re,

ca y est j'ai trouvé, tout est dans sou.asm

La fonction 0Bh de l'int 21h n'est pas a utiliser car elle garde en memoire toutes les repetitions di on maintient la touche enfoncée, ce qui fait que ton programme ne réagit au changement d'une touche que quand toutes les repetitions ont été traitées.

Ca devient donc assez injouable et j'ai vu le hamster me passer 3 fois devant le nez avant de pouvoir lancer ne serait-ce qu'un petit missile.

Pour le reste, je dois t'avouer que le graphisme en asm 16 bits par des suite de "call SetPixel" n'as pas pour moi un interêt visible.

@++
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 déc. 2005 à 08:52
MOV AH,0ch
INT 10h

Un zip entier de binaires pour n'y trouver qu'une série d'appels à ces 2 lignes asm... je ne vois pas l'intérêt pédagogique de cette source.
CS n'a pas d'accord Borland pour redistribuer TASM, faudra remettre un zip sans TASM.
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
22 déc. 2005 à 08:12
salut,

a part:
mov al,XXh
call PIXEL ; C

on peut trouver quoi et ou ?

@++
Rejoignez-nous