bataille navale en console (debutant)

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Francis13
Messages : 18
Inscription : dim. 21/févr./2010 7:29
Localisation : Marseille

bataille navale en console (debutant)

Message par Francis13 »

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
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Re: bataille navale en console (debutant)

Message par Cool Dji »

Bonjour,

Merci pour ce petit post.
Finaly, c'est assez pratique la console. Je l'utilisais jamais jusqu'à présent mais ya des avantages !!
Only PureBasic makes it possible
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: bataille navale en console (debutant)

Message par Kwai chang caine »

Bonjour et merci pour ton code 8)

Si un jour tu veux en mettre d'autres, pense a mettre ton code entre les balises

Code : Tout sélectionner

[code] 
[/code] c'est plus facile a récuperer et a lire
Tu trouveras le bouton au dessus de l'endroit oun tu as tapé ton code :wink:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: bataille navale en console (debutant)

Message par venom »

Kwai chang caine a écrit :Bonjour et merci pour ton code 8)

Si un jour tu veux en mettre d'autres, pense a mettre ton code entre les balises

Code : Tout sélectionner

[code] 
[/code] c'est plus facile a récuperer et a lire
Tu trouveras le bouton au dessus de l'endroit oun tu as tapé ton code :wink:
Oui surtout que Erix14 nous a fait un plugin firefox qui permet en 1 clic d'ouvrir un code via purebasic mis entre balise

Code : Tout sélectionner

[code] 
[/code] 8)
Et aussi c'est plus facile a lire les posts ainsi. :wink:

continue Francis13. Bientot la version 2D :P






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Francis13
Messages : 18
Inscription : dim. 21/févr./2010 7:29
Localisation : Marseille

Re: bataille navale en console (debutant)

Message par Francis13 »

bonjour
je ne suis pas trop habitué aux messageries ,je mettrai les prochains codes entre les balises.

Code : Tout sélectionner

;jeu de dés
; PureBasic 4.41 (Windows - x86)
;Ce programme vous demande combien de jets de dés vous voulez 
;que le prog fasse puis affiche le nombre de sortis par somme de 2 à 12 
; avec les pourcentages  et les doubles
;
Define.l de1,de2,i,somme,identique
Define.l nbJet ,nbDeCoup
Define.f pourcent
Dim tableau.l(12)
;
OpenConsole()
EnableGraphicalConsole(1)
ConsoleTitle("Jets de Des")
ConsoleColor(14,0)
;
PrintN(" Ce programme vous demande de saisir un nombre de jets de des,simule le nombre")
PrintN(" de jets puis vous affiche les statistiques")
PrintN("")
Print("Combien de jets de des voulez vous ? : ")
nbJet =Val(Input())
 For i = 1 To nbJet
     de1 = Random(5)+1
     de2 = Random(5)+1
     If de1=de2
         identique = identique +1
     EndIf
     somme =de1 +de2   
     tableau(somme) =tableau(somme)+1    
Next i
PrintN("")

;
    For i =2 To 12
          pourcent = (tableau(i)/nbJet)*100
          Print(" La somme : "+Str(i) )
                If i<10   ; pour le décalage à l'affichage 
                   Print(" ")
                EndIf
          Print("   a ete realisee :" +Str(tableau(i)))
                If (tableau(i)) <10
                   Print(" ")  ;pour le décalage à l'affichage < 100
                EndIf
          PrintN(" fois soit :  % "+StrF(pourcent,1))
    Next i
    PrintN("")
    PrintN("nombre de doublets (1 a 6) :"+Str(identique))
    PrintN("")
PrintN("Merci d'avoir utilise ce programme,appuyez sur entree pour quitter")
Input()
CloseConsole()

;version ok tourne bien
Est-ce ok ?
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: bataille navale en console (debutant)

Message par venom »

c'est parfait :wink:







@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Répondre