Connexion
Qui est en ligne ?
Il y a en tout 2 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 2 Invités Aucun
Le record du nombre d'utilisateurs en ligne est de 36 le Lun 23 Sep 2024, 10:15
Sujets les plus vus
Derniers sujets
[AutoIt] Pong
2 participants
Page 1 sur 1
[AutoIt] Pong
Salut !
Voici un Pong où vous jouez tout seul contre le mur à l'aide de votre souris (si vous allez vers le haut la raquette monte et si vous allez vers le bas elle descent)
Passez par le code source si vous voulez modifier les paramètres, j'ai la flemme de faire un menu ou une configuration via un .INI.
Je le ferai plus tard.
ECHAP pour quitter.
Le jeu recommence tout seul au bout de 3 secondes.
Dylan.
Voici un Pong où vous jouez tout seul contre le mur à l'aide de votre souris (si vous allez vers le haut la raquette monte et si vous allez vers le bas elle descent)
Passez par le code source si vous voulez modifier les paramètres, j'ai la flemme de faire un menu ou une configuration via un .INI.
Je le ferai plus tard.
- Code:
#Include <GUIConstants.Au3>
#Include <GUIConstantsEx.Au3>
#Include <WindowsConstants.Au3>
#Include <WinAPI.au3>
HotKeySet("{ESC}", _Quitter)
_WinAPI_ShowCursor(False)
_Game()
Func _Game()
Global $Width = @DesktopWidth
Global $Height = @DesktopHeight
Global $Form1 = GUICreate("AutoIt - Pong", $Width, $Height, 0, 0, $WS_Popup)
GUISetBkColor("0x000000", $Form1)
GUISetState(@SW_SHOW, $Form1)
Global $RacketW = 15 ; // Largeur de la raquette //
Global $RacketH = 80 ; // Hauteur de la raquette //
Global $BallS = 15 ; // Dimension de la balle //
Global $W = 15 ; Taille des murs //
Global $Coordinates = MouseGetPos()
Global $H = $Coordinates[1]
Global $Speed = 10 ; // Vitesse //
Global $X = $Width/2
Global $Y = $Height/2
Global $MoveX = "-3"
Global $MoveY = "6"
For $I = 0 To $Height Step $W*2
GUICtrlCreateLabel("", ($Width-$W)/2, $I, $W, $W)
GUICtrlSetBkColor(-1, "0xFFFFFF")
Next
GUICtrlCreateLabel("", $Width-$W, 0, $W, $Height)
GUICtrlSetBkColor(-1, "0xFFFFFF")
$Racket = GUICtrlCreateLabel("", $W, $H, $RacketW, $RacketH)
GUICtrlSetBkColor($Racket, "0xFFFFFF")
$Ball = GUICtrlCreateLabel("", ($X-($BallS/2)), ($Y-($BallS/2)), $BallS, $BallS)
GUICtrlSetBkColor($Ball, "0xFFFFFF")
While GUIGetMsg() <> $GUI_Event_Close
$Coordinates = MouseGetPos()
$H = $Coordinates[1]
$X = $X+$MoveX
$Y = $Y+$MoveY
$Coordinates = MouseGetPos()
If $H < $W Then $H = $W
If $H > $Height-$RacketH-$W Then $H = $Height-$RacketH-$W
; // Si on est trop à droite et que le déplacement horizontal est positif //
If $X > $Width-$W And $MoveX > 0 Then
$MoveX = (-$MoveX) ; // Inverser la valeur //
EndIf
; // Si on est trop en bas et que le déplacement vertical est positif //
If $Y > $Height-$W And $MoveY > 0 Then
$MoveY = (-$MoveY) ; // Inverser la valeur //
EndIf
; // Si on est trop haut et le déplacement vertical est negatif //
If $X < $W And $MoveX < 0 Then
$MoveX = Abs($MoveX) ; // Rendre positive cette valeur //
EndIf
If $Y < $W And $MoveY < 0 Then
$MoveY = Abs($MoveY) ; // Rendre positive cette valeur //
EndIf
If $X < $W+($RacketW+($BallS/2)) And $Y > $H And $Y < $H+$RacketH Then
$MoveX = (-$MoveX) ; // Inverser la valeur //
EndIf
If $X < $W Then _GameOver()
Sleep($Speed)
While $H = $Coordinates[1]
$Coordinates = MouseGetPos()
$X = $X+$MoveX
$Y = $Y+$MoveY
; // Si on est trop à droite et que le déplacement horizontal est positif //
If $X > $Width-$W And $MoveX > 0 Then
$MoveX = (-$MoveX) ; // Inverser la valeur //
EndIf
; // Si on est trop en bas et que le déplacement vertical est positif //
If $Y > $Height-$W And $MoveY > 0 Then
$MoveY = (-$MoveY) ; // Inverser la valeur //
EndIf
; // Si on est trop haut et le déplacement vertical est negatif //
If $X < $W And $MoveX < 0 Then
$MoveX = Abs($MoveX) ; // Rendre positive cette valeur //
EndIf
If $Y < $W And $MoveY < 0 Then
$MoveY = Abs($MoveY) ; // Rendre positive cette valeur //
EndIf
If $X < $W+($RacketW+($BallS/2)) And $Y > $H And $Y < $H+$RacketH Then
$MoveX = (-$MoveX) ; // Inverser la valeur //
EndIf
If $X < $W Then _GameOver()
GUICtrlDelete($Ball)
$Ball = GUICtrlCreateLabel("", ($X-($BallS/2)), ($Y-($BallS/2)), $BallS, $BallS)
GUICtrlSetBkColor($Ball, "0xFFFFFF")
Sleep($Speed)
WEnd
GUICtrlDelete($Racket)
GUICtrlDelete($Ball)
$Racket = GUICtrlCreateLabel("", $W, $H, $RacketW, $RacketH)
GUICtrlSetBkColor($Racket, "0xFFFFFF")
$Ball = GUICtrlCreateLabel("", ($X-($BallS/2)), ($Y-($BallS/2)), $BallS, $BallS)
GUICtrlSetBkColor($Ball, "0xFFFFFF")
WEnd
EndFunc
Func _GameOver()
GUIDelete($Form1)
$Form2 = GUICreate("", $Width, $Height, 0, 0, $WS_POPUP)
GUISetState(@SW_SHOW, $Form2)
GUICtrlCreateLabel("VOUS AVEZ PERDU !", 0, ($Height-100)/2, $Width, 100, $SS_CENTER)
GUICtrlSetFont(-1, 40, 0, 0, "Fixedsys")
GUISetBkColor("0x000000", $Form2)
GUICtrlSetColor(-1, "0xFFFFFF")
Sleep(3000)
GUIDelete($Form2)
Sleep(100)
_Game()
EndFunc
Func _Quitter()
Exit
EndFunc
ECHAP pour quitter.
Le jeu recommence tout seul au bout de 3 secondes.
Dylan.
Dylan Gadacha- EQUIPE BBAT
- Mensagens : 106
Data de inscrição : 24/10/2013
Idade : 25
Re: [AutoIt] Pong
Version Transparente:
[Vous devez être inscrit et connecté pour voir ce lien]
[Vous devez être inscrit et connecté pour voir ce lien]
- Code:
#Include <GUIConstants.Au3>
#Include <GUIConstantsEx.Au3>
#Include <WindowsConstants.Au3>
#Include <WinAPI.au3>
HotKeySet("{ESC}", _Quitter)
_WinAPI_ShowCursor(False)
_Game()
Func _Game()
Global $Width = @DesktopWidth
Global $Height = @DesktopHeight
Global $RacketW = 10 ; // Largeur de la raquette //
Global $RacketH = 60 ; // Hauteur de la raquette //
Global $BallS = 10 ; // Dimension de la balle //
Global $W = 10 ; Taille des murs //
Global $Coordinates = MouseGetPos()
Global $H = $Coordinates[1]
Global $Speed = 10 ; // Vitesse //
Global $X = $Width/2
Global $Y = $Height/2
Global $MoveX = "-3"
Global $MoveY = "6"
For $I = 0 To $Height Step $W*2
Assign("Form_" & $I, GUICreate("", $W, $W, ($Width-$W)/2, $I, BitOR($WS_POPUP, $DS_MODALFRAME), BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST)), 2)
GUISetBkColor("0x000000", Eval("Form_" & $I))
GUISetState(@SW_SHOW, Eval("Form_" & $I))
Next
Global $Wall = GUICreate("", $W, $Height, $Width-$W, 0, BitOR($WS_POPUP, $DS_MODALFRAME), BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
GUISetBkColor("0x000000", $Wall)
GUISetState(@SW_SHOW, $Wall)
Global $Racket = GUICreate("", $RacketW, $RacketH, $W, $H, BitOR($WS_POPUP, $DS_MODALFRAME), BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
GUISetBkColor("0x000000", $Racket)
GUISetState(@SW_SHOW, $Racket)
Global $Ball = GUICreate("", $BallS, $BallS, ($X-($BallS/2)), ($Y-($BallS/2)), BitOR($WS_POPUP, $DS_MODALFRAME), BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
GUISetBkColor("0x000000", $Ball)
GUISetState(@SW_SHOW, $Ball)
While GUIGetMsg() <> $GUI_Event_Close
$Coordinates = MouseGetPos()
$H = $Coordinates[1]
$X = $X+$MoveX
$Y = $Y+$MoveY
$Coordinates = MouseGetPos()
If $H < $W Then $H = $W
If $H > $Height-$RacketH-$W Then $H = $Height-$RacketH-$W
; // Si on est trop à droite et que le déplacement horizontal est positif //
If $X > $Width-$W And $MoveX > 0 Then
$MoveX = (-$MoveX) ; // Inverser la valeur //
EndIf
; // Si on est trop en bas et que le déplacement vertical est positif //
If $Y > $Height-$W And $MoveY > 0 Then
$MoveY = (-$MoveY) ; // Inverser la valeur //
EndIf
; // Si on est trop haut et le déplacement vertical est negatif //
If $X < $W And $MoveX < 0 Then
$MoveX = Abs($MoveX) ; // Rendre positive cette valeur //
EndIf
If $Y < $W And $MoveY < 0 Then
$MoveY = Abs($MoveY) ; // Rendre positive cette valeur //
EndIf
If $X < $W+($RacketW+($BallS/2)) And $Y > $H And $Y < $H+$RacketH Then
$MoveX = (-$MoveX) ; // Inverser la valeur //
EndIf
If $X < $W Then _GameOver()
Sleep($Speed)
While $H = $Coordinates[1]
$Coordinates = MouseGetPos()
$X = $X+$MoveX
$Y = $Y+$MoveY
; // Si on est trop à droite et que le déplacement horizontal est positif //
If $X > $Width-$W And $MoveX > 0 Then
$MoveX = (-$MoveX) ; // Inverser la valeur //
EndIf
; // Si on est trop en bas et que le déplacement vertical est positif //
If $Y > $Height-$W And $MoveY > 0 Then
$MoveY = (-$MoveY) ; // Inverser la valeur //
EndIf
; // Si on est trop haut et le déplacement vertical est negatif //
If $X < $W And $MoveX < 0 Then
$MoveX = Abs($MoveX) ; // Rendre positive cette valeur //
EndIf
If $Y < $W And $MoveY < 0 Then
$MoveY = Abs($MoveY) ; // Rendre positive cette valeur //
EndIf
If $X < $W+($RacketW+($BallS/2)) And $Y > $H And $Y < $H+$RacketH Then
$MoveX = (-$MoveX) ; // Inverser la valeur //
EndIf
If $X < $W Then _GameOver()
GUIDelete($Ball)
$Ball = GUICreate("", $BallS, $BallS, ($X-($BallS/2)), ($Y-($BallS/2)), BitOR($WS_POPUP, $DS_MODALFRAME), BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
GUISetBkColor("0x000000", $Ball)
GUISetState(@SW_SHOW, $Ball)
Sleep($Speed)
WEnd
GUIDelete($Racket)
GUIDelete($Ball)
$Racket = GUICreate("", $RacketW, $RacketH, $W, $H, BitOR($WS_POPUP, $DS_MODALFRAME), BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
GUISetBkColor("0x000000", $Racket)
GUISetState(@SW_SHOW, $Racket)
$Ball = GUICreate("", $BallS, $BallS, ($X-($BallS/2)), ($Y-($BallS/2)), BitOR($WS_POPUP, $DS_MODALFRAME), BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
GUISetBkColor("0x000000", $Ball)
GUISetState(@SW_SHOW, $Ball)
WEnd
EndFunc
Func _GameOver()
GUIDelete($Racket)
GUIDelete($Ball)
For $I = 0 To $Height Step $W*2
GUIDelete(Eval("Form_" & $I))
Next
GUIDelete($Wall)
_Game()
EndFunc
Func _Quitter()
Exit
EndFunc
Dylan Gadacha- EQUIPE BBAT
- Mensagens : 106
Data de inscrição : 24/10/2013
Idade : 25
Re: [AutoIt] Pong
Oh, je dois t'avouer que j'avais les formules sous les yeux
(Ou du moins, le cahier des charges) :
(Ou du moins, le cahier des charges) :
Nous voulons que si la balle touche le bord droit, elle rebondisse. Pour ça, nous allons décréter que si x (l'abscisse de la balle, l'axe horizontal) est supérieur à la largeur de la fenêtre et que le déplacement est positif, c'est à dire de la gauche vers la droite, deplacementX est inversé.
Nous voulons que si la balle touche le bas de la fenêtre, elle rebondisse. Pour ça, nous allons décréter que si y (l'ordonnée de la balle, l'axe vertical) est supérieur à la hauteur de la fenêtre et que le déplacement est positif, c'est à dire du haut vers le bas, deplacementY est inversé.
Nous voulons que si la balle touche le haut de la fenêtre, elle rebondisse. Pour ça, nous allons décréter que si y (l'ordonnée de la balle, l'axe vertical) est inférieur à la hauteur de la fenêtre et que le déplacement est négatif, c'est à dire du bas vers le haut, deplacementY est positif.
Nous voulons que si la balle touche le plateau, elle rebondisse. Pour cela, nous allons poser comme condition que si x est inférieur à largeur du plateau + la moitié de celle de la balle, que y est supérieur à h et que y est inférieur à h+hauteur du plateau, deplacementX est inversé.
Dylan Gadacha- EQUIPE BBAT
- Mensagens : 106
Data de inscrição : 24/10/2013
Idade : 25
Sujets similaires
» [Autoit] Convertisseur VBS vers Autoit VBS2Autoit
» FRED ET AUTOIT
» [Autoit] Téléchargement d'un fichier animé par une barre de progression
» TRON - Le jeu en AutoIt !
» AutoIt & Raspberry Pi compatible ?
» FRED ET AUTOIT
» [Autoit] Téléchargement d'un fichier animé par une barre de progression
» TRON - Le jeu en AutoIt !
» AutoIt & Raspberry Pi compatible ?
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ven 25 Déc 2015, 14:17 par Sachadee
» [devellopez] Formater une date en ligne Dos
Ven 31 Juil 2015, 10:40 par Dylan Gadacha
» Un super Tuto Batch de IniTScreen
Lun 08 Juin 2015, 12:16 par InitScreen
» Un code MATRIX sympa
Dim 12 Avr 2015, 14:27 par Sachadee
» [BAT/EXE] DresolChange changer la sesolution de l´écran
Mar 17 Mar 2015, 09:12 par Sachadee
» [EXE/bat] DpScript Código Delphi interpreter
Jeu 12 Mar 2015, 15:48 par Sachadee
» Externo SaveDlg com 2 kb
Dim 15 Fév 2015, 12:20 par Sachadee
» présentation
Dim 15 Fév 2015, 12:14 par Sachadee
» [developpez.com] Transcodage fichier vidéo si fichier déposé
Mar 03 Fév 2015, 01:02 par Sachadee