From 312e274f332f2385140f77c2ef2dd54c5023d0c5 Mon Sep 17 00:00:00 2001 From: Nitya <53599318+nitya123-github@users.noreply.github.com> Date: Sun, 27 Dec 2020 19:43:27 +0530 Subject: [PATCH 1/4] Add files via upload --- tictactoe/output.JPG | Bin 0 -> 40714 bytes tictactoe/tictactoe.py | 116 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 tictactoe/output.JPG create mode 100644 tictactoe/tictactoe.py diff --git a/tictactoe/output.JPG b/tictactoe/output.JPG new file mode 100644 index 0000000000000000000000000000000000000000..e22a7e6378c83e05b8436f24427c802435f53e97 GIT binary patch literal 40714 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 literal 0 HcmV?d00001 diff --git a/tictactoe/tictactoe.py b/tictactoe/tictactoe.py new file mode 100644 index 0000000000..9e2de278d8 --- /dev/null +++ b/tictactoe/tictactoe.py @@ -0,0 +1,116 @@ +# Tic-Tac-Toe Program using +# random number in Python + +# importing all necessary libraries +import numpy as np +import random +from time import sleep + +# Creates an empty board +def create_board(): + return(np.array([[0, 0, 0], + [0, 0, 0], + [0, 0, 0]])) + +# Check for empty places on board +def possibilities(board): + l = [] + + for i in range(len(board)): + for j in range(len(board)): + + if board[i][j] == 0: + l.append((i, j)) + return(l) + +# Select a random place for the player +def random_place(board, player): + selection = possibilities(board) + current_loc = random.choice(selection) + board[current_loc] = player + return(board) + +# Checks whether the player has three +# of their marks in a horizontal row +def row_win(board, player): + for x in range(len(board)): + win = True + + for y in range(len(board)): + if board[x, y] != player: + win = False + continue + + if win == True: + return(win) + return(win) + +# Checks whether the player has three +# of their marks in a vertical row +def col_win(board, player): + for x in range(len(board)): + win = True + + for y in range(len(board)): + if board[y][x] != player: + win = False + continue + + if win == True: + return(win) + return(win) + +# Checks whether the player has three +# of their marks in a diagonal row +def diag_win(board, player): + win = True + y = 0 + for x in range(len(board)): + if board[x, x] != player: + win = False + if win: + return win + win = True + if win: + for x in range(len(board)): + y = len(board) - 1 - x + if board[x, y] != player: + win = False + return win + +# Evaluates whether there is +# a winner or a tie +def evaluate(board): + winner = 0 + + for player in [1, 2]: + if (row_win(board, player) or + col_win(board,player) or + diag_win(board,player)): + + winner = player + + if np.all(board != 0) and winner == 0: + winner = -1 + return winner + +# Main function to start the game +def play_game(): + board, winner, counter = create_board(), 0, 1 + print(board) + sleep(2) + + while winner == 0: + for player in [1, 2]: + board = random_place(board, player) + print("Board after " + str(counter) + " move") + print(board) + sleep(2) + counter += 1 + winner = evaluate(board) + if winner != 0: + break + return(winner) + +# Driver Code +print("Winner is: " + str(play_game())) From b3c697297e0f8350b85f7c1bd0f8fd09ef5ae954 Mon Sep 17 00:00:00 2001 From: Nitya <53599318+nitya123-github@users.noreply.github.com> Date: Sun, 27 Dec 2020 19:44:28 +0530 Subject: [PATCH 2/4] Create README.md --- tictactoe/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 tictactoe/README.md diff --git a/tictactoe/README.md b/tictactoe/README.md new file mode 100644 index 0000000000..38dde21db0 --- /dev/null +++ b/tictactoe/README.md @@ -0,0 +1,11 @@ +

TIC-TAC-TOE

+ +The game is automatically played by the program and hence, no user input is needed. Still, developing a automatic game will be lots of fun! + +

How to use?

+ +1)clone the repository + +2)Run tictactoe.py + +3)see the output of screenshot as in folder From c21f968a10f7faf9a5402f5cf4139ac6ab4714d2 Mon Sep 17 00:00:00 2001 From: Nitya Date: Tue, 29 Dec 2020 11:58:06 +0530 Subject: [PATCH 3/4] todo app created a todo app list in python --- Todoapp/screenshot.JPG | Bin 0 -> 28163 bytes Todoapp/todo.py | 91 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 Todoapp/screenshot.JPG create mode 100644 Todoapp/todo.py diff --git a/Todoapp/screenshot.JPG b/Todoapp/screenshot.JPG new file mode 100644 index 0000000000000000000000000000000000000000..c9d2a996a40410bad79a581d547beaa2684aba16 GIT binary patch literal 28163 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 CQz-QS literal 0 HcmV?d00001 diff --git a/Todoapp/todo.py b/Todoapp/todo.py new file mode 100644 index 0000000000..d15cf94c6c --- /dev/null +++ b/Todoapp/todo.py @@ -0,0 +1,91 @@ +import tkinter +import threading +from tkinter import messagebox +import sys + +tasks = [] +timer = threading +real_timer = threading +ok_thread = True + + +def get_entry(event=""): + text = todo.get() + hour = int(time.get()) + todo.delete(0, tkinter.END) + time.delete(0, tkinter.END) + todo.focus_set() + add_list(text, hour) + if 0 < hour < 999: + update_list() + + +def add_list(text, hour): + tasks.append([text, hour]) + timer = threading.Timer(hour, time_passed, [text]) + timer.start() + + +def update_list(): + if todolist.size() > 0: + todolist.delete(0, "end") + for task in tasks: + todolist.insert("end", "[" + task[0] + "] Time left: " + str(task[1]) + " secondes") + + +def time_passed(task): + tkinter.messagebox.showinfo("Notification", "Time for : " + task) + + +def real_time(): + if ok_thread: + real_timer = threading.Timer(1.0, real_time) + real_timer.start() + for task in tasks: + if task[1] == 0: + tasks.remove(task) + task[1] -= 1 + update_list() + + +if __name__ == '__main__': + # application + app = tkinter.Tk() + app.geometry("480x680") + app.title("Todolist Remainder") + app.rowconfigure(0, weight=1) + + # fenetre + frame = tkinter.Frame(app) + frame.pack() + + # widgets + label = tkinter.Label(app, text="Enter work to do:", + wraplength = 200, + justify = tkinter.LEFT) + label_hour = tkinter.Label(app, text="Enter time (secondes)", + wraplength = 200, + justify = tkinter.LEFT) + todo = tkinter.Entry(app, width=30) + time = tkinter.Entry(app, width=15) + send = tkinter.Button(app, text='Add task', fg="#ffffff", bg='#6186AC', height=3, width=30, command=get_entry) + quit = tkinter.Button(app, text='Exit', fg="#ffffff", bg='#EB6464', height=3, width=30, command=app.destroy) + todolist = tkinter.Listbox(app) + if tasks != "": + real_time() + + # binding + app.bind('', get_entry) + + # widgets placement + label.place(x=0, y=10, width=200, height=25) + label_hour.place(x=235, y=10, width=200, height=25) + todo.place(x=62, y=30, width=200, height=25) + time.place(x=275, y=30, width=50, height=25) + send.place(x=62, y=60, width=50, height=25) + quit.place(x=302, y=60, width=50, height=25) + todolist.place(x=60, y = 100, width=300, height=300) + + app.mainloop() + ok_thread = False + sys.exit("FINISHED") From 63de5a8a44d69846bbf27768f6a1cd13e228870a Mon Sep 17 00:00:00 2001 From: Nitya Date: Tue, 29 Dec 2020 12:00:34 +0530 Subject: [PATCH 4/4] Create README.md --- Todoapp/README.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 Todoapp/README.md diff --git a/Todoapp/README.md b/Todoapp/README.md new file mode 100644 index 0000000000..880323b5ec --- /dev/null +++ b/Todoapp/README.md @@ -0,0 +1,7 @@ +Created a todo applist in pyhton + +1) Fork this repository + +2) Run todo.py + +3) That's it! add the check lists and get things done.