connect
 

Description:
Thématiques:

dingoo
dev
c
A320
pong
A3é0
AI
autre

Abonnement aux flux
Flux rss
blog de captainsid

11 sep
2009

IA - Essai #1

Voila, j'ai commencer a bosser sur l'implémentation d'une IA, j'ai jamais fait ca avant, donc j'ai pris mon bloc note, et je me suis mis a réfléchir sur comment devrait agir un ordi (fort) a Pong, voila ce que ca donne :

1. Si la balle vien vers nous, on calcule sa position finale
    Pour balleX <= largeurEcran - largeurPad
        balleX += balleVecteurX
        balleY += balleVecteurY
       
        Si la balle touche un des bords haut ou bas
            balleVecteurY = -balleVecteurY
    finPour
2.Si la position finale est devant le pad
    On ne fait rien
3.Si la position finale est au dessus du pad
    On bouge vers le haut
4.Si la position finale est en dessous du pad
    On bouge vers le bas
   
Puis on fait les divers tests de collision.

J'ai implémenté ca de cette facon:
(cpp):
void computerMove(player* p, ball* b)
{
if(p == NULL || b == NULL) return;
 
int32_t bx = b->x;    //Ball X
int32_t by = b->y;  //Ball Y
int32_t bvx = b->vx; //Ball vector X
int32_t bvy = b->vy;  //Ball vector Y
 
if(bvx > 0) //Ball is coming.
{
for(;bx <= gameDisplay->width - 21;) // Calculate ball trajectory
{
bx += bvx;
by += bvy;
 
if(by >= gameDisplay->height || by <= 0) //if ball 'hits' top / bottom, assume it goes other way.
bvy = -bvy;
}

if(by >= p->y || by + b->s <= p->y + p->h) //if ball is in front of pad dont move
{
}
 
if(by <= p->y)
{
p->y -= p->vy;
}
 
if(by + b->s >= p->y + p->h)
{
p->y += p->vy;
}
}

if(p->y < 0) p->y = 0;
 
if((p->y + p->h) > gameDisplay->height) p->y = (gameDisplay->height - p->h);
       //AABB Box
p->box.point[0][0] = p->x;
p->box.point[0][1] = p->y;
p->box.point[1][0] = p->x + p->w;
p->box.point[1][1] = p->y + p->h;
}
Bon après l'ordi est imbattable :)  Si vous avez des commentaires sur ma facon de faire ou sur comment optimiser le code, ca m'interesse, j'ai jamais optimiser mon code donc.. :D

11 sep
2009

0.1.0

Voila j'ai fait une premiere version ! Très basique , on ne peut pas encore jouer contre l'ordinateur, enfin c'est surtout pour m'entrainer, voila quelques screenshots :


Pareil pour le menu x)


J'ai comme un impréssion de déja vu.

C'est assez basique, je suis pas habitué au C, j'ai appris avec le c++ et la poo donc c'est un monde un peu différent pour moi ^^

Voila le binaire + les sources :
http://www.sendspace.com/file/31kscw

10 sep
2009

Au commencement... Pong !

Et voila un premier screenshot de la version 'jouable' :



Dans l'idée il y aura deux modes, Joueur contre Ordinateur, et Joueur contre Joueur.

Pour l'instant j'ai écrit le mode Joueur contre Joueur, avec commes touches:
J1: - Haut -Bas et J2: -A -B, j'aurais bien choisi -X -B mais maintenir la touche X enfoncé ferme l'appli... (sauf pour les émulateur?)

Le coté rétro est un choix, mais je vais aussi travailler une version avec des sprites, histoire de me mettre dans le bain :)

Si vous avez des conseils je prend ! Je suis nouveau en dev de jeu ;)

10 sep
2009

Tout un tas de premieres fois

Tout d'abord une présentation, je m'appelle Paul, j'ai 18 ans, j'entre en graphisme, a Tournai (belgique).
 
La programmation (html php c++ ruby python c#) a été un de mes hobbies depuis quelques années maintenant, mais je n'ai jamais vraiment fait de 'jeu'.
Je compte bien m'y mettre sur la Dingoo A320 que j'ai recu hier :)

Je commence par un Pong deux joueurs, histoire de me roder un peu au c et a la dingoo puis j'entamerait un shoot em up (qui sont mes jeux préférés <3).


<< | 0 | >>
lache tes com dev fr scrutator irc bot
created by Jerome Wax based on LT version 0.3.2 - dev-fr.org 0.4 install