repl.it
@4pip/

mastermind

Python

Maak mastermind in python

fork
loading
Files
  • main.py
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#mastermind
import random
import sys
#geheime code maken
cijfer1 = str(random.randint(1,6))
cijfer2 = str(random.randint(1,6))
while cijfer1 == cijfer2:
  cijfer2 = str(random.randint(1,6))
cijfer3 = str(random.randint(1,6))
while cijfer3 == cijfer1 or cijfer3 == cijfer2:
  cijfer3 = str(random.randint(1,6))
cijfer4 = str(random.randint(1,6))
while cijfer4 == cijfer1 or cijfer4 == cijfer2 or cijfer4 == cijfer3:
  cijfer4 = str(random.randint(1,6))
raadcode = cijfer1+cijfer2+cijfer3+cijfer4
print ()

#spel lus
for ronde in range (1, 11):
  
  print ()
  print ('Ronde', ronde)

  #invoeren code door speler
  while True:
    code = input ('Geef je code van 4 cijfer op ')
    #controleren op alleen cijfers
    if code.isdigit():
      #stop met het spel
      if int(code) == 9999:
        sys.exit ()
      #controleren op 4 cijfers
      if len(code) == 4:
        #contoleren op cijfers 1 en 6
        fout = 0
        for x in range (0,4):
          if int(code[x]) < 1 or int(code[x]) > 6 :
            fout = 1
        if fout == 0:
          #controleren of alle cijfers anders zijn
          gelijk = 0
          for x in range (0,4):
            for y in range (0,4):
              if x !=y and code[x] == code[y]:
                gelijk = 1
          if gelijk == 0:
            break
          else:
            print ('Twee of meer cijfers zijn hetzelfde')
        else: 
          print ('Cijfers mogen niet lager zijn dan 1 en niet hoger dan 6')
      else:
        print ('Te weinig  of teveel cijfer')
    else:
      print ('Er staan letters in')

  #vergelijken ingevoerde getallen
  goede_plaats = 0
  goede_cijfer = 0
  for x in range (0,4):

    #cijfer goed en op de goede plaats
    if raadcode[x] == code [x]:
        goede_plaats = goede_plaats + 1

        #de code is goed geraden
        if goede_plaats == 4:
           sys.exit ()
           print ('Gefeliciteerd je hebt het goed')

    #cijfer goed maar niet op goede plaats
    else:
      for y in range (0,4):
        if x != y and raadcode [x] == code [y]:
          goede_cijfer = goede_cijfer + 1

  #afbeelden resultaat
  if goede_plaats > 0:
    print ('Goede cijfers op de goede plaats', goede_plaats)
  if goede_cijfer > 0:
    print ('Goede cijfer op de verkeerde plaats', goede_cijfer)

#de code niet goed geraden
print ('Helaas niet geraden, de code was', raadcode)