bataille navale en console (debutant)
Publié : mar. 23/févr./2010 21:19
bonjour
voici un petit programme pour explorer PB.
; bataille navale en console par Francis13
; pour se famimiariser avec PB
;
#max =80
Dim tableau.b(#max) ;tableau pour les cases de 1 à 80
Dim tentative.b(30) ;non utilisé en reserve pour les stat
Define.b caseBateau,caseChoisie,ligne
;****************************************************************************
;
caseBateau =Random(#max) ;
OpenConsole()
EnableGraphicalConsole(1)
ConsoleTitle("Bataille Navale")
ConsoleColor(14,0)
For i.l =1 To #max
tableau(i) =0
Next i
tableau(caseBateau) =1
PrintN("Trouvez le bateau")
PrintN("")
PrintN(" 01 02 03 04 05 06 07 08 09 10 ")
PrintN(" 11 12 13 14 15 16 17 18 19 20 ")
PrintN(" 21 22 23 24 25 26 27 28 29 30 ")
PrintN(" 31 32 33 34 35 36 37 38 39 40 ")
PrintN(" 41 42 43 44 45 46 47 48 49 50 ")
PrintN(" 51 52 53 54 55 56 57 58 59 60 ")
PrintN(" 61 62 63 64 65 66 67 68 69 70 ")
PrintN(" 71 72 73 74 75 76 77 78 79 80 ")
;
;
;
; pour tricher ou mettre au point le programme
ConsoleLocate(50,8)
Print(Str(caseBateau))
ligne =14
;***********************************boucle de jeu ***********************
Repeat
Gosub saisie
Select caseChoisie
Case caseBateau
PrintN("Vous avez gagne. Bravo !!")
PrintN("")
Default
If casechoisie >0 And caseChoisie < #max
Print(" Manque !")
EndIf
If Abs(caseBateau - caseChoisie)<5
Print(" Ecart de 5 en +/-")
ElseIf Abs(caseBateau - caseChoisie)<10
Print(" Ecart de 10 en +/-")
EndIf
Delay(2000)
ConsoleLocate(0,ligne +1)
Print(" ")
ConsoleLocate(5,ligne)
Print(" ");effacer la ligne
EndSelect
Until caseChoisie =caseBateau
Print("tapez entree pour quitter")
Input()
CloseConsole()
End
;*********************************************label saisie ****************************
saisie:
Repeat
ConsoleLocate(5,ligne)
Print("Entrez le numero de la Case choisie: ")
caseChoisie$ =Input()
caseChoisie = Val(caseChoisie$)
If(caseChoisie <= 0 Or caseChoisie > #max)
ConsoleLocate(5,ligne)
Print(" recommencez svp ")
EndIf
Until (caseChoisie >= 0 Or caseChoisie < #max)
Return
voici un petit programme pour explorer PB.
; bataille navale en console par Francis13
; pour se famimiariser avec PB
;
#max =80
Dim tableau.b(#max) ;tableau pour les cases de 1 à 80
Dim tentative.b(30) ;non utilisé en reserve pour les stat
Define.b caseBateau,caseChoisie,ligne
;****************************************************************************
;
caseBateau =Random(#max) ;
OpenConsole()
EnableGraphicalConsole(1)
ConsoleTitle("Bataille Navale")
ConsoleColor(14,0)
For i.l =1 To #max
tableau(i) =0
Next i
tableau(caseBateau) =1
PrintN("Trouvez le bateau")
PrintN("")
PrintN(" 01 02 03 04 05 06 07 08 09 10 ")
PrintN(" 11 12 13 14 15 16 17 18 19 20 ")
PrintN(" 21 22 23 24 25 26 27 28 29 30 ")
PrintN(" 31 32 33 34 35 36 37 38 39 40 ")
PrintN(" 41 42 43 44 45 46 47 48 49 50 ")
PrintN(" 51 52 53 54 55 56 57 58 59 60 ")
PrintN(" 61 62 63 64 65 66 67 68 69 70 ")
PrintN(" 71 72 73 74 75 76 77 78 79 80 ")
;
;
;
; pour tricher ou mettre au point le programme
ConsoleLocate(50,8)
Print(Str(caseBateau))
ligne =14
;***********************************boucle de jeu ***********************
Repeat
Gosub saisie
Select caseChoisie
Case caseBateau
PrintN("Vous avez gagne. Bravo !!")
PrintN("")
Default
If casechoisie >0 And caseChoisie < #max
Print(" Manque !")
EndIf
If Abs(caseBateau - caseChoisie)<5
Print(" Ecart de 5 en +/-")
ElseIf Abs(caseBateau - caseChoisie)<10
Print(" Ecart de 10 en +/-")
EndIf
Delay(2000)
ConsoleLocate(0,ligne +1)
Print(" ")
ConsoleLocate(5,ligne)
Print(" ");effacer la ligne
EndSelect
Until caseChoisie =caseBateau
Print("tapez entree pour quitter")
Input()
CloseConsole()
End
;*********************************************label saisie ****************************
saisie:
Repeat
ConsoleLocate(5,ligne)
Print("Entrez le numero de la Case choisie: ")
caseChoisie$ =Input()
caseChoisie = Val(caseChoisie$)
If(caseChoisie <= 0 Or caseChoisie > #max)
ConsoleLocate(5,ligne)
Print(" recommencez svp ")
EndIf
Until (caseChoisie >= 0 Or caseChoisie < #max)
Return