[Hollywood] Tennis Cup source

Affichage de 1 message (sur 1 au total)

  • Anonyme

      #8092

      Bonjour,

      Bon, j’avoue, c’est racoleur… Non c’est pas le code source de tennis cup lol…

      Alors, voici un code source pour un pong amélioré, l’intelligence artificielle se gère aléatoirement grâce à la commande RND(x), Random ou RND sous hollywood, laisse le soin au programme de définir de lui même et au hasard le nombre qu’il va affecter au déplacement de la raquette de l’ordinateur. En même temp, la vitesse de déplacement sur l’Axe X est géré également aléatoirement, se qui permet d’avoir un mini jeux sympa et cette fois avec une vrai fin. Noté ami hollywoodien, la disposition, dans le programme du test de fin pour l’affichage du message final, toujours après le FLIP d’écran (très important sinon le message ne s’affiche pas) et le test fin de jeux dans la FUNCTION Principale.

      Franchement, si vous vous débrouillé bien, un shufflepuckCafé peut être facilement réalisable(en utilisant cette méthode, Rnd pour l’IA et la gestion souris) en utilisant la fonction ZOOM sur les brush et la création de zone par tableau (méthode BDD dans scroll et Bustout et Scroll)parallax).

      Assez parler, voici le code…

      @VERSION 4,0

      @DISPLAY {Width=320,Height=200}

      CreateBrush(1,8,40,#BLUE)

      CreateBrush(2,8,40,#GREEN)

      CreateBrush(3,4,4,#RED)

      CreateBrush(4,2,40,#WHITE)

      CreateBrush(5,2,2,#WHITE)

      MixBrush(1,4,128)

      MixBrush(2,4,128)

      MixBrush(3,5,128)

      FlipBrush (1,True)

      Local YBarre1=100

      Local YBarre2=100

      Local XBall=160

      Local YBall=100

      Local Score1=0

      Local Score2=0

      Local XSens=2

      Local Ysens=-2

      Local Renvoie1=False

      Local Renvoie2=False

      Local Fin=False

      Function Ball()

      XBall=XBall+XSens

      YBall=YBall+YSens

      If YBall<10 Then YSens=2

      If YBall>196 Then YSens=-2

      Renvoie1=Collision(#BRUSH,1,10,YBarre1,3,XBall,YBall)

      Renvoie2=Collision(#BRUSH,2,302,YBarre2,3,XBall,YBall)

      If Renvoie1=True Then XSens=Rnd(6)

      If Renvoie2=True Then XSens=-Rnd(6)

      If XBall<0

      XBall=0

      SetFillStyle(#FILLCOLOR)

      Box(0,9,8,200,#RED)

      Score2=Score2+1

      XSens=2

      EndIf

      If XBall>316

      XBall=316

      SetFillStyle(#FILLCOLOR)

      Box(312,9,320,200,#RED)

      Score1=Score1+1

      XSens=-2

      EndIf

      DisplayBrush(3,XBall,YBall)

      EndFunction

      Function Ecran()

      SetFillStyle(#FILLNONE)

      Box(0,9,320,191,#WHITE)

      SetFillStyle(#FILLCOLOR)

      Box(158,10,4,190,#WHITE)

      TextOut(0,0,"Score Player 1 : ")

      TextOut(130,0,Score1)

      TextOut(180,0,"Score Player 2 :")

      TextOut(310,0,Score2)

      EndFunction

      Function Joueur()

      If IsKeyDown("UP")=True Then HAUT()

      If IsKeyDown("DOWN")=True Then BAS()

      DisplayBrush(1,10,YBarre1)

      EndFunction

      Function Ordinateur()

      If YSens=-2 Then YBarre2=YBarre2-Rnd(4)

      If YSens=2 Then YBarre2=YBarre2+Rnd(4)

      If YBarre2<10 Then Ybarre2=10

      If YBarre2>159 Then YBarre2=159

      DisplayBrush(2,302,YBarre2)

      EndFunction

      Function HAUT()

      YBarre1=YBarre1-1

      If YBarre1<10 Then YBarre1=10

      EndFunction

      Function BAS()

      YBarre1=YBarre1+1

      If YBarre1>159 Then YBarre1=159

      EndFunction

      Function PRG()

      If Score1=9

      TextOut(#CENTER,#CENTER,"Vous avez GAGNER!!!")

      TextOut(#CENTER,20," * ARTBLINK IS MEGA LOOSER -")

      Fin=True

      EndIf

      If Score2=9

      TextOut(#CENTER,#CENTER,"Vous avez PERDU!!!")

      TextOut(#CENTER,20,"- ARTBLINK IS THE BEST -")

      Fin=True

      EndIf

      Flip

      If Fin=False

      Cls

      Ecran()

      Joueur()

      Ordinateur()

      Ball()

      EndIf

      EndFunction

      SetInterval(1,PRG,20)

      BeginDoubleBuffer

      Repeat

      WaitEvent

      Forever

      Amusez-vous bien

      @citronsgate

      J’ai trouver la méthode rotozoom

      J’ai laché la méthode RotateBrush (scroll seekanddestroy) pour la méthode readpixel/writepixel, sa peut être sympa pour tes démo, en même temp, si les tests sont concluant avec le scroll seekand destroy, je te filerai la source car elle marchera pour le mapping d’objet… par contre pour la formule 3D, snif, pourrai pas t’aider


      @Tarzin

      J’attend un logiciel du feu de dieu, très connu professionnellement (bon… hum… sur PC, mais sa sert la cause du miga quand même donc pas de lecon ;-) si tu le veu je te le filerai) pour le projet que je t’ai parlé, sous google, c’est non seulement trop long, et en plus le résultat n’as pas de sens, je le reçoit d’ici 3 à 4 jours, valeur du logiciel = 800€00, je pense que c’est pas de l’ETRON, non ETRON n’es pas une adaptation nouvelle du cinéma fantastique, en l’occurence TRON, mais du caca ;-)

      A+ ami(e)s de Stallone et Schwarzy

      Respect

    Affichage de 1 message (sur 1 au total)

    • Vous devez être connecté pour répondre à ce sujet.

    Forums AmigaOS, MorphOS et AROS Développement [Hollywood] Tennis Cup source

    Amiga Impact