diff --git a/CONTROLLER/.DS_Store b/CONTROLLER/.DS_Store new file mode 100644 index 0000000..fea2e70 Binary files /dev/null and b/CONTROLLER/.DS_Store differ diff --git a/CONTROLLER/.idea/.gitignore b/CONTROLLER/.idea/.gitignore new file mode 100644 index 0000000..e7e9d11 --- /dev/null +++ b/CONTROLLER/.idea/.gitignore @@ -0,0 +1,2 @@ +# Default ignored files +/workspace.xml diff --git a/CONTROLLER/.idea/CONTROLLER.iml b/CONTROLLER/.idea/CONTROLLER.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/CONTROLLER/.idea/CONTROLLER.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/CONTROLLER/.idea/inspectionProfiles/profiles_settings.xml b/CONTROLLER/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/CONTROLLER/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/CONTROLLER/.idea/misc.xml b/CONTROLLER/.idea/misc.xml new file mode 100644 index 0000000..d1e22ec --- /dev/null +++ b/CONTROLLER/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/CONTROLLER/.idea/modules.xml b/CONTROLLER/.idea/modules.xml new file mode 100644 index 0000000..57ffd6b --- /dev/null +++ b/CONTROLLER/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/CONTROLLER/.idea/vcs.xml b/CONTROLLER/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/CONTROLLER/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CONTROLLER/README.md b/CONTROLLER/README.md new file mode 100644 index 0000000..5768787 --- /dev/null +++ b/CONTROLLER/README.md @@ -0,0 +1,5 @@ +# folder controller +# in this folder +three file one file main for run program simon game +i use for this project "object attributes and method in pyhon" +i have create two files for two class and i create and instancies objet diff --git a/CONTROLLER/__pycache__/main.cpython-38.pyc b/CONTROLLER/__pycache__/main.cpython-38.pyc new file mode 100644 index 0000000..b146e4c Binary files /dev/null and b/CONTROLLER/__pycache__/main.cpython-38.pyc differ diff --git a/CONTROLLER/__pycache__/player.cpython-36.pyc b/CONTROLLER/__pycache__/player.cpython-36.pyc new file mode 100644 index 0000000..d658c50 Binary files /dev/null and b/CONTROLLER/__pycache__/player.cpython-36.pyc differ diff --git a/CONTROLLER/__pycache__/player.cpython-38.pyc b/CONTROLLER/__pycache__/player.cpython-38.pyc new file mode 100644 index 0000000..c12910a Binary files /dev/null and b/CONTROLLER/__pycache__/player.cpython-38.pyc differ diff --git a/CONTROLLER/__pycache__/player_game.cpython-36.pyc b/CONTROLLER/__pycache__/player_game.cpython-36.pyc new file mode 100644 index 0000000..8ccaa04 Binary files /dev/null and b/CONTROLLER/__pycache__/player_game.cpython-36.pyc differ diff --git a/CONTROLLER/__pycache__/program.cpython-36.pyc b/CONTROLLER/__pycache__/program.cpython-36.pyc new file mode 100644 index 0000000..0a1750d Binary files /dev/null and b/CONTROLLER/__pycache__/program.cpython-36.pyc differ diff --git a/CONTROLLER/__pycache__/program.cpython-38.pyc b/CONTROLLER/__pycache__/program.cpython-38.pyc new file mode 100644 index 0000000..92655be Binary files /dev/null and b/CONTROLLER/__pycache__/program.cpython-38.pyc differ diff --git a/CONTROLLER/main.py b/CONTROLLER/main.py new file mode 100644 index 0000000..a6080f0 --- /dev/null +++ b/CONTROLLER/main.py @@ -0,0 +1,34 @@ +#! /usr/bin/env python3 +# coding: utf-8 +from player import * +from program import * + +if __name__ == "__main__": + print("Hello start game") + player = Player() + #ask method name entry in player.py + player.name_entry() + #ask method level choice for user select level + player.level_choice() + game = Program() + #result_lists = True + restart = True + result_lists = True + while result_lists != False: + # ask method to use level in program + game.get_level(player.level) + # ask method random number + game.random_choice() + # ask method for save number in list + game.add_list_choice() + # method for clear prompt + game.clear_terminal() + # ask method for compare number user and program list + game.compare_list(player.player_numbers, result_lists) + + #if result_lists == False: + #game.play_again_choice() + if restart == True: + __name__ == "__main__" + + diff --git a/CONTROLLER/player.py b/CONTROLLER/player.py new file mode 100644 index 0000000..1299c82 --- /dev/null +++ b/CONTROLLER/player.py @@ -0,0 +1,30 @@ +import os +from time import sleep +from program import * +class Player: + """method for initialyse name""" + def __init__(self): + self.name = "" + self.level = None + self.player_numbers = 0 + + """method for ask and save name entry""" + def name_entry(self): + name = input("enter your name :") + if name == "": + name = "GHOST" + self.name = name.upper() + + def level_choice(self): + """method for user choice level""" + level = "" + while level != "1" and level != "2" and level != "3": + level = input("...{} enter number of difficulty choice\n 1:easy 2:midle 3:hard\n".format(self.name)) + self.level = int(level) + print("{} you choice level {} start game ..........".format(self.name,level)) + sleep(2) + os.system("clear") + return level + + + diff --git a/CONTROLLER/program.py b/CONTROLLER/program.py new file mode 100644 index 0000000..d5d547f --- /dev/null +++ b/CONTROLLER/program.py @@ -0,0 +1,94 @@ +from random import * +import os +from time import sleep +from player import * +from main import * + +class Program: + """class for program controller """ + def __init__(self): + self.program_list = [] + self.numbers_program = None + self.number_user = 0 + self.level_choice = None + self.play_again = None + self.result_lists = None + self.player_numbers = 0 + + def get_level(self, level): + """method for save level choice user""" + self.level_choice = level + + def random_choice(self): + """method for choice random number """ + if self.level_choice == 3: + # select number betwen 1 and 100 + self.numbers_program = randrange(1, 100) + + if self.level_choice == 2: + # select number betwen 1 and 20 + self.numbers_program = randrange(1, 20) + + if self.level_choice == 1: + # select number between 1 and 10 + self.numbers_program = randrange(1, 10) + + def add_list_choice(self): + """add to empty list number choice""" + self.program_list.append(self.numbers_program) + + def clear_terminal(self): + """method for clear prompt after display number""" + if self.level_choice == 1: + for i in self.program_list: + print("> {}".format(i)) + sleep(3) + os.system("clear") + + if self.level_choice == 2: + for i in self.program_list: + print("> {}".format(i)) + sleep(2) + os.system("clear") + + if self.level_choice == 3: + for i in self.program_list: + print("> {}".format(i)) + sleep(1) + os.system("clear") + + def compare_list(self, player_numbers, program_lists): + """compare list user and list program """ + #player_numbers = int(input("enter numbers ......:")) + for i in self.program_list: + self.player_numbers = self.player_numbers_entry() + if self.player_numbers != i: + result_lists = False + + pursuite = self.play_again_choice() + """else: + result_lists = True + return result_lists""" + + def player_numbers_entry(self): + """method for verify if number is an integer""" + try: + self.player_numb = int(input("enter numbers........:")) + except: + print("not good") + return self.player_numb + + def play_again_choice(self): + """ask to player if his play again""" + while self.play_again != "yes" or self.play_again != "no": + self.play_again = input("do you want to play again enter yes or no :") + if self.play_again == "yes": + restart = True + return restart + + else: + print("good bye") + exit() + + + \ No newline at end of file diff --git a/MODEL/README.md b/MODEL/README.md new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index e69de29..18c93bb 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,4 @@ +#python game "simon" +this an model of pyhton game "simon" +i have create this game for project in python +i use class method object and attributes for this game