Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation C » Aide pour commencer (49 réponse(s))
./REPRISE DU POST PRECEDENT (post n°19)   Marquer comme non lu.
hubert_b Ecrit le: Mercredi 16 juin 2004 à 12:38 Déconnecté(e)    Voir le profil de hubert_b Envoyer un email à hubert_b Envoyer un message privé à hubert_b  

Poste ton code s'il te plait :)
Hubert_B aKa nEUrOO
    
./Post n°20   Marquer comme non lu.
Benjy Ecrit le: Mercredi 16 juin 2004 à 12:59 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


ok
#include <tigcclib.h>

unsigned char balle[] =
{0x3C,0x7E,0xFF,0xFF,0xFF,0xFF,0x7E,0x3C};

unsigned short raquette[] =
{0x7FFE,0xFFFF,0xFFFF,0x7FFE,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000};

void draw(int x, int y) {
  Sprite8(x, y, 8, balle, LCD_MEM, SPRT_XOR);
}
void erase(int x, int y) {
  Sprite8(x, y, 8, balle, LCD_MEM, SPRT_OR);
}
short ran(void)
{
  short r=random (2);
  if (r==0) r=-1;
  return r;
}
void _main(void)
{
  int x=(LCD_WIDTH-1)/2,y=(LCD_HEIGHT-1)/2,F=0,rposx=55;
  short var_hor = ran(), var_ver = ran(),i=0,t=10000;
  INT_HANDLER Intrs [AUTO_INT_COUNT];
  for (F = FIRST_AUTO_INT; F <= LAST_AUTO_INT; F++)
  {
    Intrs [F - FIRST_AUTO_INT] = GetIntVec (AUTO_INT (F));
    SetIntVec (AUTO_INT (F), DUMMY_HANDLER);
  }
  ClrScr ();
  draw(x, y);
  erase(x ,y);
  while (!_keytest (RR_ESC))
  {
    draw(x, y);
    Sprite16(rposx, 96, 16, raquette, LCD_MEM, SPRT_XOR);
    x+=var_hor ; y+=var_ver;

    if(x+8 > LCD_WIDTH-1)
    var_hor = -1;
    else if(y+8 > LCD_HEIGHT-1)
    goto fin;
    else if(x < 0)
    var_hor = 1;
    if(y < 0)
    var_ver = 1;

    if(_keytest (RR_UP))
    t-=100;
    else if(_keytest (RR_DOWN))
    t+=100;

    else if(_keytest (RR_LEFT))
    rposx-=2;
    else if(_keytest (RR_RIGHT))
    rposx+=2;

    if(rposx > LCD_WIDTH-16)
    rposx=LCD_WIDTH-16;
    else if(rposx <0)
    rposx=0;

    if(y+8 > 96 && y+8< 100 && x+8 >= rposx && x+8 <= rposx+20)
    var_ver = -1;

    erase(x ,y);
    Sprite16(rposx, 96, 16, raquette, LCD_MEM, SPRT_OR);
    for (i=0; i<t; i++);
  }
fin:
for (F = FIRST_AUTO_INT; F <= LAST_AUTO_INT; F++)
SetIntVec (AUTO_INT (F), Intrs [F - FIRST_AUTO_INT]);
}

enfin la g virer pour les collision vu que ca marchai pa mai dans le code plus hau ya
Le langage C y'a pas mieux!!!
    
./Post n°21   Marquer comme non lu.
Sasume Ecrit le: Mercredi 16 juin 2004 à 17:35 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Non, tu n'as pas limité les fonctions d'affichage à la taille de l'écran.
Surtout que les fonctions de Sprite de tigcclib ne sont pas clippées du tout.
    
./Post n°22   Marquer comme non lu.
hubert_b Ecrit le: Mercredi 16 juin 2004 à 17:42 Déconnecté(e)    Voir le profil de hubert_b Envoyer un email à hubert_b Envoyer un message privé à hubert_b  

De plus, ta boucle d'attente est surement effacée par gcc (comme j'ai dis plus haut)
Hubert_B aKa nEUrOO
    
./Post n°23   Marquer comme non lu.
bobti89 Ecrit le: Mercredi 16 juin 2004 à 17:50 Déconnecté(e)    Voir le profil de bobti89 Envoyer un email à bobti89 Visiter le site WEB de bobti89 Envoyer un message privé à bobti89  

En fait je crois que avec ce programme, la balle ira plus vite en diagonale que en ligne droite.
Mais ce n'est pas pour te décourager, c'est juste que je me suis fait chier dans grav pour que ca ne le fasse pas et que ce soit fluide, quelle que soit la vitesse. Ce que je veux dire c'est qu'il faudrait que ta balle se déplace au maxi de 1 pixel par 1 pixel, quelle que soit la vitesse choisit au début (ou si elle change en cours de route...)
bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici
    
./Post n°24   Marquer comme non lu.
geogeo Ecrit le: Mercredi 16 juin 2004 à 17:56 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Autant réaliser une table de cosinus et sinus et de gérer la bille comme ça et ce en 'Fixed Point' mais là c'est bien plus compliqué. :( D'ailleur j'utilise ça dans Arkanoid. :)
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°25   Marquer comme non lu.
hubert_b Ecrit le: Mercredi 16 juin 2004 à 17:58 Déconnecté(e)    Voir le profil de hubert_b Envoyer un email à hubert_b Envoyer un message privé à hubert_b  

Pour ce qu'il veut faire, une approximation au second ordre des sin/cos devrait même suffir ...
Hubert_B aKa nEUrOO
    
./Post n°26   Marquer comme non lu.
bobti89 Ecrit le: Mercredi 16 juin 2004 à 18:01 Déconnecté(e)    Voir le profil de bobti89 Envoyer un email à bobti89 Visiter le site WEB de bobti89 Envoyer un message privé à bobti89  

non moi j'ai fait ca sans cos, juste division et multiplication d'entiers...
bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici
    
./Post n°27   Marquer comme non lu.
hubert_b Ecrit le: Mercredi 16 juin 2004 à 18:03 Déconnecté(e)    Voir le profil de hubert_b Envoyer un email à hubert_b Envoyer un message privé à hubert_b  

Mais la division est couteuse... (surtout sur TI)
Hubert_B aKa nEUrOO
    
./Post n°28   Marquer comme non lu.
bobti89 Ecrit le: Mercredi 16 juin 2004 à 18:04 Déconnecté(e)    Voir le profil de bobti89 Envoyer un email à bobti89 Visiter le site WEB de bobti89 Envoyer un message privé à bobti89  

bah les divisions par des puissances de 2 est assez rapide...
bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici
    
./Post n°29   Marquer comme non lu.
geogeo Ecrit le: Mercredi 16 juin 2004 à 18:06 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Oui décalage binaire. :)
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°30   Marquer comme non lu.
hubert_b Ecrit le: Mercredi 16 juin 2004 à 18:08 Déconnecté(e)    Voir le profil de hubert_b Envoyer un email à hubert_b Envoyer un message privé à hubert_b  

Oui, tout à fait :)
Hubert_B aKa nEUrOO
    
./Post n°31   Marquer comme non lu.
Benjy Ecrit le: Mercredi 16 juin 2004 à 19:22 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


oula ca decourage votre truc la pfffff
Le langage C y'a pas mieux!!!
    
./Post n°32   Marquer comme non lu.
bobti89 Ecrit le: Mercredi 16 juin 2004 à 21:48 Déconnecté(e)    Voir le profil de bobti89 Envoyer un email à bobti89 Visiter le site WEB de bobti89 Envoyer un message privé à bobti89  

Mais non, continue, je ne veux pas te décourager :)
bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici
    
./Post n°33   Marquer comme non lu.
Benjy Ecrit le: Mercredi 16 juin 2004 à 21:51 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


ouai enfin pour presicer ma baller est aussi rapide en verticale ken horizaontale et sinon j'aurai besion d'un coup de maine pour l'IA j'arrive pas la requette cpu
suit la balle et par consequent la rattrape toujour comment je peut faire merci!!
Le langage C y'a pas mieux!!!
    
./Post n°34   Marquer comme non lu.
Sasume Ecrit le: Jeudi 17 juin 2004 à 08:03 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Ben tu regardes si la balle est à gauche ou à droite de la raquette (ou si ton jeu est horizontal, tu regardes si la balle est en haut ou en bas de la raquette), et en fonctionde ça, tu déplaces ta raquette pour qu'elle se rapproche de la balle...
Elle est où, la difficulté ? Ou alors j'ai mal compris ta question...
    
./Post n°35   Marquer comme non lu.
Thor Ecrit le: Jeudi 17 juin 2004 à 09:06 Déconnecté(e)    Voir le profil de Thor Envoyer un email à Thor Visiter le site WEB de Thor Envoyer un message privé à Thor  


Oui c'est pas une IA difficile!
Cyril MOTTIER aka {==Thor==}
Modérateur général du forum de Tigen
[Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
    
./Post n°36   Marquer comme non lu.
bobti89 Ecrit le: Jeudi 17 juin 2004 à 09:47 Déconnecté(e)    Voir le profil de bobti89 Envoyer un email à bobti89 Visiter le site WEB de bobti89 Envoyer un message privé à bobti89  

Ben tu regardes si la balle est à gauche ou à droite de la raquette (ou si ton jeu est horizontal, tu regardes si la balle est en haut ou en bas de la raquette), et en fonctionde ça, tu déplaces ta raquette pour qu'elle se rapproche de la balle...

C'est ce qu'il doit faire mais ca fait que l'ordi rattrappe toujours la balle (si j'ai compris ce qu'il dit).
Il faut que la raquette bouge moins vite que la balle, ou faire en sorte qu'elle est du mal à suivre la balle, enfin bon, je dois pas vraiment l'avancer là...
bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici
    
./Post n°37   Marquer comme non lu.
Thor Ecrit le: Jeudi 17 juin 2004 à 09:51 Déconnecté(e)    Voir le profil de Thor Envoyer un email à Thor Visiter le site WEB de Thor Envoyer un message privé à Thor  


Tu veux faire une IA qui peut se faire battre #confus# Le but de l'IA c'est d'être imbattable non?
Cyril MOTTIER aka {==Thor==}
Modérateur général du forum de Tigen
[Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
    
./Post n°38   Marquer comme non lu.
bobti89 Ecrit le: Jeudi 17 juin 2004 à 09:54 Déconnecté(e)    Voir le profil de bobti89 Envoyer un email à bobti89 Visiter le site WEB de bobti89 Envoyer un message privé à bobti89  

Bah sinon c'est pas drôle de se battre contre si on peut pas gagner.
(Ex : va jouer à un jeu de voiture alors que tu est obligé de perdre #couic# )
bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici
    
  :: Index » Forum Ti68K » Programmation C » Aide pour commencer (49 réponse(s))
Pages : 2/3     « 1 [2] 3 » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 56.1ms avec 18 requetes