diff --git a/README.md b/README.md index 00310f794..238369a94 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ A collection of simple python mini projects to enhance your Python skills. -If you want to learn about python, visit [here.](https://github.com/Python-World/PythonScript) +If you want to learn about python, visit [here.](https://github.com/Python-World/Py-Resources) If you are new to Github and open source then, visit [here.](https://towardsdatascience.com/getting-started-with-git-and-github-6fcd0f2d4ac6) @@ -89,7 +89,7 @@ If you are new to Github and open source then, visit [here.](https://towardsdata ## Connect On Social media -[Join WhatsApp group](https://chat.whatsapp.com/Ghp25kidWLaGrAVA0G0GAa) +[Join WhatsApp group](https://chat.whatsapp.com/GlLTqQSbocLC23ntKU15O9) ## Contributors ✨ @@ -196,3 +196,5 @@ SR No | Project | Author 99 | [Find IMDB Ratings](https://github.com/Python-World/python-mini-projects/tree/master/projects/Find_imdb_rating)| [Utkarsh Bajaj](https://github.com/utkarshbajaj) 100 | [Terminal Based Hangman Game](https://github.com/Python-World/python-mini-projects/tree/master/projects/Terminal_Based_Hangman_Game)| [neohboonyee99](https://github.com/neohboonyee99) 101 | [Whatsapp Bot](https://github.com/Python-World/python-mini-projects/tree/master/projects/whatsapp_Bot)| [urmil89](https://github.com/urmil89) +102 | [Zip Bruter](https://github.com/Python-World/python-mini-projects/tree/master/projects/Zip_Bruter) | [Erdoğan YOKSUL](https://www.github.com/eredotpkfr) +103 | [CountDown Timer](https://github.com/Python-World/python-mini-projects/tree/master/projects/Countdown_timer) | [Japneet Kalra](https://github.com/japneetsingh035) diff --git a/docs/README.md b/docs/README.md index 5c9426ae4..d2729bdc7 100644 --- a/docs/README.md +++ b/docs/README.md @@ -105,3 +105,5 @@ SR No | Project | Author 98 | [PNG to ICO converter](https://github.com/chavarera/python-mini-projects/tree/master/projects/convert_png_images_to_ico_format)| [weicheansoo](https://github.com/weicheansoo) 99 | [Find IMDB Ratings](https://github.com/chavarera/python-mini-projects/tree/master/projects/Find_imdb_rating)| [Utkarsh Bajaj](https://github.com/utkarshbajaj) 100 | [Terminal Based Hangman Game](https://github.com/chavarera/python-mini-projects/tree/master/projects/Terminal_Based_Hangman_Game)| [neohboonyee99](https://github.com/neohboonyee99) +101 | [Diff Utility](https://github.com/Python-World/python-mini-projects/tree/master/projects/Diff_Util)| [KILLinefficiency](https://github.com/KILLinefficiency) +102 | [Sine_Wave](https://github.com/chavarera/python-mini-projects/tree/master/projects/Sine_Wave)| [echoaj](https://github.com/echoaj) diff --git a/projects/Alarm clock/alarm_clock.py b/projects/Alarm clock/alarm_clock.py new file mode 100644 index 000000000..4c746282f --- /dev/null +++ b/projects/Alarm clock/alarm_clock.py @@ -0,0 +1,86 @@ +# Import Required Library +from tkinter import * +import datetime +import time +import winsound +from threading import * + +# Create Object +root = Tk() + +# Set geometry +root.geometry("400x200") + +# Use Threading +def Threading(): + t1=Thread(target=alarm) + t1.start() + +def alarm(): + # Infinite Loop + while True: + # Set Alarm + set_alarm_time = f"{hour.get()}:{minute.get()}:{second.get()}" + + # Wait for one seconds + time.sleep(1) + + # Get current time + current_time = datetime.datetime.now().strftime("%H:%M:%S") + print(current_time,set_alarm_time) + + # Check whether set alarm is equal to current time or not + if current_time == set_alarm_time: + print("Time to Wake up") + # Playing sound + winsound.PlaySound("sound.wav",winsound.SND_ASYNC) + +# Add Labels, Frame, Button, Optionmenus +Label(root,text="Alarm Clock",font=("Helvetica 20 bold"),fg="red").pack(pady=10) +Label(root,text="Set Time",font=("Helvetica 15 bold")).pack() + +frame = Frame(root) +frame.pack() + +hour = StringVar(root) +hours = ('00', '01', '02', '03', '04', '05', '06', '07', + '08', '09', '10', '11', '12', '13', '14', '15', + '16', '17', '18', '19', '20', '21', '22', '23', '24' + ) +hour.set(hours[0]) + +hrs = OptionMenu(frame, hour, *hours) +hrs.pack(side=LEFT) + +minute = StringVar(root) +minutes = ('00', '01', '02', '03', '04', '05', '06', '07', + '08', '09', '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') +minute.set(minutes[0]) + +mins = OptionMenu(frame, minute, *minutes) +mins.pack(side=LEFT) + +second = StringVar(root) +seconds = ('00', '01', '02', '03', '04', '05', '06', '07', + '08', '09', '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') +second.set(seconds[0]) + +secs = OptionMenu(frame, second, *seconds) +secs.pack(side=LEFT) + +Button(root,text="Set Alarm",font=("Helvetica 15"),command=Threading).pack(pady=20) + +# Execute Tkinter +root.mainloop() diff --git a/projects/All_links_from_given_webpage/README.md b/projects/All_links_from_given_webpage/README.md index df41d8172..822fa1623 100644 --- a/projects/All_links_from_given_webpage/README.md +++ b/projects/All_links_from_given_webpage/README.md @@ -1,6 +1,6 @@ # All Links from given Webpage -This script retrieves all links from a given Webpage and saves them as a tct file +This script retrieves all links from a given Webpage and saves them as a txt file ### Prerequisites Required Modules diff --git a/projects/AudioBook/Audio-book.py b/projects/AudioBook/Audio-book.py new file mode 100644 index 000000000..91c92570e --- /dev/null +++ b/projects/AudioBook/Audio-book.py @@ -0,0 +1,36 @@ +#Importing Libraries +#Importing Google Text to Speech library +from gtts import gTTS + +#Importing PDF reader PyPDF2 +import PyPDF2 + +#Open file Path +pdf_File = open('name.pdf', 'rb') + +#Create PDF Reader Object +pdf_Reader = PyPDF2.PdfFileReader(pdf_File) +count = pdf_Reader.numPages # counts number of pages in pdf +textList = [] + +#Extracting text data from each page of the pdf file +for i in range(count): + try: + page = pdf_Reader.getPage(i) + textList.append(page.extractText()) + except: + pass + +#Converting multiline text to single line text +textString = " ".join(textList) + +print(textString) + +#Set language to english (en) +language = 'en' + +#Call GTTS +myAudio = gTTS(text=textString, lang=language, slow=False) + +#Save as mp3 file +myAudio.save("Audio.mp3") diff --git a/projects/AudioBook/README.md b/projects/AudioBook/README.md new file mode 100644 index 000000000..2af610457 --- /dev/null +++ b/projects/AudioBook/README.md @@ -0,0 +1,14 @@ +# AudioBook + +### Description +This application will make an mp3 based on you pdf file. + +### Instal the requirements +``` +pip install gtts +pip install PyPDF2 +``` +### Dun the application +``` +python Audio-book.py +``` diff --git a/projects/Baidu_POI_crawl/README.md b/projects/Baidu_POI_crawl/README.md new file mode 100644 index 000000000..9dc7ff0e0 --- /dev/null +++ b/projects/Baidu_POI_crawl/README.md @@ -0,0 +1,30 @@ +# Script Title + + +Crawl the POI in the city through Baidu map API. + +### Prerequisites + + +1. `pip install -r requirements.txt` +2. Log in to [Baidu map open platform](https://lbsyun.baidu.com/apiconsole/key#/home), creating web API and record AK. + +### How to run the script + + + +1. `cd python-mini-projects\projects\Baidu_POI_crawl` +2. `python main.py --ak yours_ak --city city_name --poi poi_name` + +### Screenshot/GIF showing the sample use of the script + + + +![image-20211117172514622](https://user-images.githubusercontent.com/71769312/142175449-294daf40-413a-43df-aa3a-8d99a203afa9.png) + +![UXGOS$6WMD)`{XQ$8YK}7WU](https://user-images.githubusercontent.com/71769312/142175459-8f10d1c4-5c5d-4754-9fd5-d5ec58a79081.png) + +## *Author Name* + + +[YiZhou Chen](https://github.com/geoyee) diff --git a/projects/Baidu_POI_crawl/__pycache__/util.cpython-37.pyc b/projects/Baidu_POI_crawl/__pycache__/util.cpython-37.pyc new file mode 100644 index 000000000..f80dadf79 Binary files /dev/null and b/projects/Baidu_POI_crawl/__pycache__/util.cpython-37.pyc differ diff --git a/projects/Baidu_POI_crawl/__pycache__/util.cpython-38.pyc b/projects/Baidu_POI_crawl/__pycache__/util.cpython-38.pyc new file mode 100644 index 000000000..ce59c01d5 Binary files /dev/null and b/projects/Baidu_POI_crawl/__pycache__/util.cpython-38.pyc differ diff --git a/projects/Baidu_POI_crawl/main.py b/projects/Baidu_POI_crawl/main.py new file mode 100644 index 000000000..f7c562005 --- /dev/null +++ b/projects/Baidu_POI_crawl/main.py @@ -0,0 +1,27 @@ +import os +import os.path as osp +from util import get_baidu_poi +import argparse + + +def run(args): + baidu_web_ak = args.ak + city_str = args.city + roi_key = args.poi + output = args.save + if not osp.exists(output): + os.makedirs(output) + get_baidu_poi(roi_key, city_str, baidu_web_ak, output) + print("current area completed") + + +parser = argparse.ArgumentParser(description="input parameters") +parser.add_argument("--ak", type=str, required=True, help="Baidu web ak") +parser.add_argument("--city", type=str, required=True, help="City name") +parser.add_argument("--poi", type=str, required=True, help="POI key") +parser.add_argument("--save", type=str, default="output", help="Save path") + + +if __name__ == "__main__": + args = parser.parse_args() + run(args) \ No newline at end of file diff --git a/projects/Baidu_POI_crawl/output/2021-11-17.log b/projects/Baidu_POI_crawl/output/2021-11-17.log new file mode 100644 index 000000000..938f3a7af --- /dev/null +++ b/projects/Baidu_POI_crawl/output/2021-11-17.log @@ -0,0 +1 @@ +2021-11-17-17-36-18 成都 3 diff --git a/projects/Baidu_POI_crawl/output/2021-11-17.txt b/projects/Baidu_POI_crawl/output/2021-11-17.txt new file mode 100644 index 000000000..277fcc33c --- /dev/null +++ b/projects/Baidu_POI_crawl/output/2021-11-17.txt @@ -0,0 +1,54 @@ +四川大学(望江校区),104.090633,30.637031,武侯区,四川省成都市武侯区一环路南一段24号 +四川大学(江安校区),104.005145,30.562814,双流区,成都市双流区川大路二段2号 +电子科技大学(沙河校区),104.107198,30.681868,成华区,四川省成都市成华区建设北路二段4号 +成都大学,104.196613,30.656051,龙泉驿区,四川省成都市龙泉驿区成洛大道2025号 +西南民族大学(武侯校区),104.055946,30.645411,武侯区,四川省成都市武侯区一环路南四段16号 +西南财经大学(柳林校区),103.827675,30.687832,温江区,成都市温江区柳台大道555号 +西南交通大学(九里校区),104.059439,30.704977,金牛区,四川省成都市金牛区二环路北一段111号 +电子科技大学(清水河校区),103.937404,30.756035,郫都区,四川省成都市高新区西源大道2006号 +西南交通大学(犀浦校区),103.993214,30.770399,郫都区,四川省成都市郫都区犀安路999号 +成都中医药大学(十二桥校区),104.050309,30.672574,金牛区,四川省成都市金牛区十二桥路37号 +四川农业大学(都江堰校区),103.629275,31.009812,都江堰市,四川省成都市都江堰市建设路288号 +四川大学(华西校区),104.075894,30.646763,武侯区,成都市武侯区人民南路三段17号 +成都艺术职业大学,103.892092,30.493563,新津区,四川省成都市新津区花源街道白云大道115号 +电子科技大学(九里堤校区),104.055669,30.716153,金牛区,成都市金牛区九里堤西路8号 +电子科技大学继续教育学院,104.103193,30.679693,成华区,四川省成都市成华区一环路东一段240号 +电子科技大学沙河校区-逸夫楼,104.109665,30.680913,成华区,成都市成华区建设北路二段4号电子科技大学沙河校区 +成都大学-四川抗菌素工业研究所,104.177919,30.694508,成华区,成都市成华区华冠路168号 +我的大学,104.197398,30.828142,新都区,成都市新都区同仁路199号 +成都中医药大学附属医院,104.048468,30.673511,金牛区,成都市金牛区十二桥路39-41号 +电子科技大学西区科技园,103.98074,30.739837,郫都区,四川省成都市郫都区天辰路88号 +成都大学-图书馆,104.195601,30.656236,龙泉驿区,四川省成都市龙泉驿区十陵镇成洛大道 +成都广播电视大学继续教育学院(建设北路一段),104.102742,30.677484,成华区,成都市成华区建设北路一段7号 +西南石油大学新体测中心,104.194813,30.838617,新都区,成都市新都区鸿运大道东段西南石油大学(成都校区) +成都理工大学东苑-9栋,104.158206,30.688295,成华区,成都市成华区民智巷理工东苑-西区 +成都广播电视大学直属城东学院-教学楼1号楼,104.102347,30.677874,成华区,成都市成华区建设北路一段7号 +电子科技大学附属实验小学(沙河校区),104.10353,30.683807,成华区,四川省成都市成华区府青路2段-3号-青1号 +成都大学附属中学校,104.098172,30.688535,成华区,四川省成都市成华区府青路街道三友路135号 +成都理工大学附属小学,104.153179,30.696257,成华区,四川省成都市成华区民兴东路62号 +西南财经大学,104.442003,30.862562,金堂县,成都市金堂县幸福横街百合苑(幸福横路) +电子科技大学实验幼儿园,104.10855,30.684714,成华区,成都市成华区建设北路二段5号东院沙河缘15号 +四川师范大学附属天府欧城幼稚园,104.261685,30.898376,青白江区,成都市青白江区同华大道与新河路交叉路口往西北约260米 +西南石油大学学生公寓-4号楼,104.19334,30.829785,新都区,四川省成都市新都区大学路160号 +西南石油大学教工41幢,104.188074,30.83157,新都区,成都市新都区蜀龙大道北段香城学府 +西南石油大学教工42幢,104.188467,30.831576,新都区,成都市新都区蜀龙大道北段香城学府 +西南石油大学(成都校区)教工宿舍-12幢,104.188587,30.830054,新都区,成都市新都区南环路香城学府 +西南石油大学材料科学与工程学院,104.190255,30.837702,新都区,成都市新都区蜀龙大道北段西南石油大学(成都校区) +西南石油大学教工35幢,104.187797,30.832034,新都区,成都市新都区蜀龙大道北段香城学府 +成都医学院第一附属医院-大学生宿舍,104.165693,30.836846,新都区,成都市新都区新新街二巷成都医学院第一附属医院北侧 +成都医学院第一附属医院大学生宿舍-33幢,104.165218,30.836607,新都区,四川省成都市新都区成都医学院第一附属医院大学生宿舍33幢 +电子科技大学医院,104.11028,30.68007,成华区,成都市成华区建设北路二段4号电子科技大学沙河校区 +西南石油大学(成都校区)教工宿舍-2幢,104.186624,30.828824,新都区,成都市新都区嘉陵路西南石油大学(成都校区)教工宿舍2幢 +四川农业大学都江堰校区-教职工住宅第5幢,103.630269,31.010702,都江堰市,四川省成都市都江堰市柳岸路附近四川农业大学都江堰校区教职工住宅第5幢 +四川农业大学都江堰校区第一教学楼-侧楼,103.627828,31.010159,都江堰市,四川省成都市都江堰市建设路288号 +四川农业大学都江堰校区学生公寓第-1幢,103.630687,31.009693,都江堰市,四川省成都市都江堰市观景路41号附近四川农业大学都江堰校区学生公寓第1幢 +四川农业大学-第二林业勘察设计研究所,103.626795,31.010544,都江堰市,成都市都江堰市建设路288号 +西华大学老川东食品科研中心,104.221373,30.822995,新都区,成都市新都区君跃路四川老川东食品有限公司 +西南石油大学成都校区油气钻井技术国家工程实验室钻头研究室,104.190204,30.836932,新都区,成都市新都区蜀龙大道北段西南石油大学(成都校区) +四川师范大学附属田童幼儿园,103.630805,30.97236,都江堰市,成都市都江堰市幸福镇灌温路78号 +四川农业大学都江堰校区-教职工住宅第14幢,103.628016,31.012494,都江堰市,成都市都江堰市建设路288号四川农业大学(都江堰校区) +四川西南交通大学希望学院-图书馆,104.471273,30.85726,金堂县,四川省成都市金堂县学府路8号 +四川农业大学都江堰校区-教职工住宅第7幢,103.630133,31.010203,都江堰市,成都市都江堰市建设路288号四川农业大学(都江堰校区) +西南石油大学教工-28幢,104.187065,30.832293,新都区,成都市新都区西南石油大学(成都校区)教工宿舍28幢 +西华大学彭州校区-女生公寓,103.949394,30.98662,彭州市,成都市彭州市南大街168号 +四川农业大学都江堰校区-研究生公寓,103.632825,31.010149,都江堰市,成都市都江堰市平武巷柳岸公寓东南门南侧约90米 diff --git a/projects/Baidu_POI_crawl/requirements.txt b/projects/Baidu_POI_crawl/requirements.txt new file mode 100644 index 000000000..0b37a21e8 --- /dev/null +++ b/projects/Baidu_POI_crawl/requirements.txt @@ -0,0 +1,2 @@ +requests +json \ No newline at end of file diff --git a/projects/Baidu_POI_crawl/util.py b/projects/Baidu_POI_crawl/util.py new file mode 100644 index 000000000..b00c3dc71 --- /dev/null +++ b/projects/Baidu_POI_crawl/util.py @@ -0,0 +1,47 @@ +import requests +import json +import time + + +# call API +def get_baidu_poi(roi_key, city_str, baidu_ak, output): + """ + inputs: + roi_key: poi name + city_str: city name + baidu_ak: baidu web API AK + output: file save path + """ + now_time = time.strftime("%Y-%m-%d") + page_num = 0 + logfile = open(output + "/" + now_time + ".log", "a+", encoding="utf-8") + file = open(output + "/" + now_time + ".txt", "a+", encoding="utf-8") + while True: + try: + URL = "http://api.map.baidu.com/place/v2/search?query=" + roi_key + \ + "®ion=" + city_str + \ + "&output=json" + \ + "&ak=" + baidu_ak + \ + "&scope=2" + \ + "&page_size=20" + \ + "&page_num=" + str(page_num) + resp = requests.get(URL) + res = json.loads(resp.text) + if len(res["results"]) == 0: + logfile.writelines(time.strftime("%Y-%m-%d-%H-%M-%S") + " " + city_str + " " + str(page_num) + "\n") + break + else: + for r in res["results"]: + j_name = r["name"] + j_lat = r["location"]["lat"] + j_lon = r["location"]["lng"] + j_area = r["area"] + j_add = r["address"] + j_str = str(j_name) + "," + str(j_lon) + "," + str(j_lat) + "," + str(j_area) + "," + str(j_add) + "\n" + file.writelines(j_str) + page_num += 1 + time.sleep(1) + except: + print("except") + logfile.writelines(time.strftime("%Y-%m-%d-%H-%M-%S") + " " + city_str + " " + str(page_num) + "\n") + break \ No newline at end of file diff --git a/projects/Battery_notification/battery.py b/projects/Battery_notification/battery.py index 091611afb..06b0cf52d 100644 --- a/projects/Battery_notification/battery.py +++ b/projects/Battery_notification/battery.py @@ -5,7 +5,7 @@ plugged = battery.power_plugged percent = battery.percent -if percent >= 30: +if percent <= 30 and plugged!=True: # pip install py-notifier # pip install win10toast @@ -15,5 +15,5 @@ title="Battery Low", description=str(percent) + "% Battery remain!!", duration=5, # Duration in seconds - urgency=Notification.URGENCY_CRITICAL, + ).send() diff --git a/projects/Billing_system/Bill.PNG b/projects/Billing_system/Bill.PNG new file mode 100644 index 000000000..3e0075e89 Binary files /dev/null and b/projects/Billing_system/Bill.PNG differ diff --git a/projects/Billing_system/README.md b/projects/Billing_system/README.md new file mode 100644 index 000000000..048967ae7 --- /dev/null +++ b/projects/Billing_system/README.md @@ -0,0 +1,24 @@ +

Billing system using Tkinter

+

This project can be used for any shops. User can store all the data and generate the bill.

+ +

Tech stack:

+ + +

Libraries used:

+ + +

To install external modules:

+

  • Run pip install tkinter
  • + +

    To execute the project:

    +

  • Run billing system.py
  • + +

    Screenshot/GIF of this project.

    + +![Bill](https://user-images.githubusercontent.com/72568715/134779769-7695a727-adbb-43b7-9e60-1205dc982ae7.PNG) diff --git a/projects/Billing_system/biling_system.py b/projects/Billing_system/biling_system.py new file mode 100644 index 000000000..38c8b880b --- /dev/null +++ b/projects/Billing_system/biling_system.py @@ -0,0 +1,427 @@ +from tkinter import* +import random +import os +from tkinter import messagebox + +# ============main============================ +class Bill_App: + def __init__(self, root): + self.root = root + self.root.geometry("1350x700+0+0") + self.root.title("Billing Software") + bg_color = "#badc57" + title = Label(self.root, text="Billing Software", font=('times new roman', 30, 'bold'), pady=2, bd=12, bg="#badc57", fg="Black", relief=GROOVE) + title.pack(fill=X) + # ================variables======================= + self.sanitizer = IntVar() + self.mask = IntVar() + self.hand_gloves = IntVar() + self.dettol = IntVar() + self.newsprin = IntVar() + self.thermal_gun = IntVar() + # ============grocery============================== + self.rice = IntVar() + self.food_oil = IntVar() + self.wheat = IntVar() + self.daal = IntVar() + self.flour = IntVar() + self.maggi = IntVar() + #=============coldDtinks============================= + self.sprite = IntVar() + self.limka = IntVar() + self.mazza = IntVar() + self.coke = IntVar() + self.fanta = IntVar() + self.mountain_duo = IntVar() + # ==============Total product price================ + self.medical_price = StringVar() + self.grocery_price = StringVar() + self.cold_drinks_price = StringVar() + # ==============Customer========================== + self.c_name = StringVar() + self.c_phone = StringVar() + self.bill_no = StringVar() + x = random.randint(1000, 9999) + self.bill_no.set(str(x)) + self.search_bill = StringVar() + # ===============Tax================================ + self.medical_tax = StringVar() + self.grocery_tax = StringVar() + self.cold_drinks_tax = StringVar() + # =============customer retail details====================== + F1 = LabelFrame(self.root, text="Customer Details", font=('times new roman', 15, 'bold'), bd=10, fg="Black", bg="#badc57") + F1.place(x=0, y=80, relwidth=1) + cname_lbl = Label(F1, text="Customer Name:", bg=bg_color, font=('times new roman', 15, 'bold')) + cname_lbl.grid(row=0, column=0, padx=20, pady=5) + cname_txt = Entry(F1, width=15, textvariable=self.c_name, font='arial 15', bd=7, relief=GROOVE) + cname_txt.grid(row=0, column=1, pady=5, padx=10) + + cphn_lbl = Label(F1, text="Customer Phone:", bg="#badc57", font=('times new roman', 15, 'bold')) + cphn_lbl.grid(row=0, column=2, padx=20, pady=5) + cphn_txt = Entry(F1, width=15, textvariable=self.c_phone, font='arial 15', bd=7, relief=GROOVE) + cphn_txt.grid(row=0, column=3, pady=5, padx=10) + + c_bill_lbl = Label(F1, text="Bill Number:", bg="#badc57", font=('times new roman', 15, 'bold')) + c_bill_lbl.grid(row=0, column=4, padx=20, pady=5) + c_bill_txt = Entry(F1, width=15, textvariable=self.search_bill, font='arial 15', bd=7, relief=GROOVE) + c_bill_txt.grid(row=0, column=5, pady=5, padx=10) + + bil_btn = Button(F1, text="Search", command=self.find_bill, width=10, bd=7, font=('arial', 12, 'bold'), relief=GROOVE) + bil_btn.grid(row=0, column=6, pady=5, padx=10) + + # ===================Medical==================================== + F2 = LabelFrame(self.root, text="Medical Purpose", font=('times new roman', 15, 'bold'), bd=10, fg="Black", bg="#badc57") + F2.place(x=5, y=180, width=325, height=380) + + sanitizer_lbl = Label(F2, text="Sanitizer", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + sanitizer_lbl.grid(row=0, column=0, padx=10, pady=10, sticky='W') + sanitizer_txt = Entry(F2, width=10, textvariable=self.sanitizer, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + sanitizer_txt.grid(row=0, column=1, padx=10, pady=10) + + mask_lbl = Label(F2, text="Mask", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + mask_lbl.grid(row=1, column=0, padx=10, pady=10, sticky='W') + mask_txt = Entry(F2, width=10, textvariable=self.mask, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + mask_txt.grid(row=1, column=1, padx=10, pady=10) + + hand_gloves_lbl = Label(F2, text="Hand Gloves", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + hand_gloves_lbl.grid(row=2, column=0, padx=10, pady=10, sticky='W') + hand_gloves_txt = Entry(F2, width=10, textvariable=self.hand_gloves, font=('times new roman', 16, 'bold'), bd=5, relief =GROOVE) + hand_gloves_txt.grid(row=2, column=1, padx=10, pady=10) + + dettol_lbl = Label(F2, text="Dettol", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + dettol_lbl.grid(row=3, column=0, padx=10, pady=10, sticky='W') + dettol_txt = Entry(F2, width=10, textvariable=self.dettol, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + dettol_txt.grid(row=3, column=1, padx=10, pady=10) + + newsprin_lbl = Label(F2, text="Newsprin", font =('times new roman', 16, 'bold'), bg = "#badc57", fg = "black") + newsprin_lbl.grid(row=4, column=0, padx=10, pady=10, sticky='W') + newsprin_txt = Entry(F2, width=10, textvariable=self.newsprin, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + newsprin_txt.grid(row=4, column=1, padx=10, pady=10) + + thermal_gun_lbl = Label(F2, text="Thermal Gun", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + thermal_gun_lbl.grid(row=5, column=0, padx=10, pady=10, sticky='W') + thermal_gun_txt = Entry(F2, width=10, textvariable=self.thermal_gun, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + thermal_gun_txt.grid(row=5, column=1, padx=10, pady=10) + + # ==========GroceryItems========================= + F3 = LabelFrame(self.root, text="Grocery Items", font=('times new roman', 15, 'bold'), bd=10, fg="Black", bg="#badc57") + F3.place(x=340, y=180, width=325, height=380) + + rice_lbl = Label(F3, text="Rice", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + rice_lbl.grid(row=0, column=0, padx=10, pady=10, sticky='W') + rice_txt = Entry(F3, width=10, textvariable=self.rice, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + rice_txt.grid(row=0, column=1, padx=10, pady=10) + + food_oil_lbl = Label(F3, text="Food Oil", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + food_oil_lbl.grid(row=1, column=0, padx=10, pady=10, sticky='W') + food_oil_txt = Entry(F3, width=10, textvariable=self.food_oil, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + food_oil_txt.grid(row=1, column=1, padx=10, pady=10) + + wheat_lbl = Label(F3, text="Wheat", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + wheat_lbl.grid(row=2, column=0, padx=10, pady=10, sticky='W') + wheat_txt = Entry(F3, width=10, textvariable=self.wheat, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + wheat_txt.grid(row=2, column=1, padx=10, pady=10) + + daal_lbl = Label(F3, text="Daal", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + daal_lbl.grid(row=3, column=0, padx=10, pady=10, sticky='W') + daal_txt = Entry(F3, width=10, textvariable=self.daal, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + daal_txt.grid(row=3, column=1, padx=10, pady=10) + + flour_lbl = Label(F3, text="Flour", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + flour_lbl.grid(row=4, column=0, padx=10, pady=10, sticky='W') + flour_txt = Entry(F3, width=10, textvariable=self.flour, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + flour_txt.grid(row=4, column=1, padx=10, pady=10) + + maggi_lbl = Label(F3, text="Maggi", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + maggi_lbl.grid(row=5, column=0, padx=10, pady=10, sticky='W') + maggi_txt = Entry(F3, width=10, textvariable=self.maggi, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + maggi_txt.grid(row=5, column=1, padx=10, pady=10) + + # ===========ColdDrinks================================ + F4 = LabelFrame(self.root, text="Cold Drinks", font=('times new roman', 15, 'bold'), bd=10, fg="Black", bg="#badc57") + F4.place(x=670, y=180, width=325, height=380) + + sprite_lbl = Label(F4, text="Sprite", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + sprite_lbl.grid(row=0, column=0, padx=10, pady=10, sticky='W') + sprite_txt = Entry(F4, width=10, textvariable=self.sprite, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + sprite_txt.grid(row=0, column=1, padx=10, pady=10) + + limka_lbl = Label(F4, text="Limka", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + limka_lbl.grid(row=1, column=0, padx=10, pady=10, sticky='W') + limka_txt = Entry(F4, width=10, textvariable=self.limka, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + limka_txt.grid(row=1, column=1, padx=10, pady=10) + + mazza_lbl = Label(F4, text="Mazza", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + mazza_lbl.grid(row=2, column=0, padx=10, pady=10, sticky='W') + wheat_txt = Entry(F4, width=10, textvariable=self.mazza, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + wheat_txt.grid(row=2, column=1, padx=10, pady=10) + + coke_lbl = Label(F4, text="Coke", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + coke_lbl.grid(row=3, column=0, padx=10, pady=10, sticky='W') + coke_txt = Entry(F4, width=10, textvariable=self.coke, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + coke_txt.grid(row=3, column=1, padx=10, pady=10) + + fanta_lbl = Label(F4, text="Fanta", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + fanta_lbl.grid(row=4, column=0, padx=10, pady=10, sticky='W') + fanta_txt = Entry(F4, width=10, textvariable=self.fanta, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + fanta_txt.grid(row=4, column=1, padx=10, pady=10) + + mountain_duo_lbl = Label(F4, text="Mountain Duo", font=('times new roman', 16, 'bold'), bg="#badc57", fg="black") + mountain_duo_lbl.grid(row=5, column=0, padx=10, pady=10, sticky='W') + mountain_duo_txt = Entry(F4, width=10, textvariable=self.mountain_duo, font=('times new roman', 16, 'bold'), bd=5, relief=GROOVE) + mountain_duo_txt.grid(row=5, column=1, padx=10, pady=10) + + # =================BillArea====================== + F5 = Frame(self.root, bd=10, relief=GROOVE) + F5.place(x=1010, y=180, width=350, height=380) + + bill_title = Label(F5, text="Bill Area", font='arial 15 bold', bd=7, relief=GROOVE) + bill_title.pack(fill=X) + scroll_y = Scrollbar(F5, orient=VERTICAL) + self.txtarea = Text(F5, yscrollcommand=scroll_y.set) + scroll_y.pack(side=RIGHT, fill=Y) + scroll_y.config(command=self.txtarea.yview) + self.txtarea.pack(fill=BOTH, expand=1) + + # =======================ButtonFrame============= + F6 = LabelFrame(self.root, text="Bill Area", font=('times new roman', 14, 'bold'), bd=10, fg="Black", bg="#badc57") + F6.place(x=0, y=560, relwidth=1, height=140) + + m1_lbl = Label(F6, text="Total Medical Price", font=('times new roman', 14, 'bold'), bg="#badc57", fg="black") + m1_lbl.grid(row=0, column=0, padx=20, pady=1, sticky='W') + m1_txt = Entry(F6, width=18, textvariable=self.medical_price, font='arial 10 bold', bd=7, relief=GROOVE) + m1_txt.grid(row=0, column=1, padx=18, pady=1) + + m2_lbl = Label(F6, text="Total Grocery Price", font=('times new roman', 14, 'bold'), bg="#badc57", fg="black") + m2_lbl.grid(row=1, column=0, padx=20, pady=1, sticky='W') + m2_txt = Entry(F6, width=18, textvariable=self.grocery_price, font='arial 10 bold', bd=7, relief=GROOVE) + m2_txt.grid(row=1, column=1, padx=18, pady=1) + + m3_lbl = Label(F6, text="Total Cold Drinks Price", font=('times new roman', 14, 'bold'), bg="#badc57", fg="black") + m3_lbl.grid(row=2, column=0, padx=20, pady=1, sticky='W') + m3_txt = Entry(F6, width=18, textvariable=self.cold_drinks_price, font='arial 10 bold', bd=7, relief=GROOVE) + m3_txt.grid(row=2, column=1, padx=18, pady=1) + + m4_lbl = Label(F6, text="Medical Tax", font=('times new roman', 14, 'bold'), bg="#badc57", fg="black") + m4_lbl.grid(row=0, column=2, padx=20, pady=1, sticky='W') + m4_txt = Entry(F6, width=18, textvariable=self.medical_tax, font='arial 10 bold', bd=7, relief=GROOVE) + m4_txt.grid(row=0, column=3, padx=18, pady=1) + + m5_lbl = Label(F6, text="Grocery Tax", font=('times new roman', 14, 'bold'), bg="#badc57", fg="black") + m5_lbl.grid(row=1, column=2, padx=20, pady=1, sticky='W') + m5_txt = Entry(F6, width=18, textvariable=self.grocery_tax, font='arial 10 bold', bd=7, relief=GROOVE) + m5_txt.grid(row=1, column=3, padx=18, pady=1) + + m6_lbl = Label(F6, text="Cold Drinks Tax", font=('times new roman', 14, 'bold'), bg="#badc57", fg="black") + m6_lbl.grid(row=2, column=2, padx=20, pady=1, sticky='W') + m6_txt = Entry(F6, width=18, textvariable=self.cold_drinks_tax, font='arial 10 bold', bd=7, relief=GROOVE) + m6_txt.grid(row=2, column=3, padx=18, pady=1) + + # =======Buttons-====================================== + btn_f = Frame(F6, bd=7, relief=GROOVE) + btn_f.place(x=760, width=580, height=105) + + total_btn = Button(btn_f, command=self.total, text="Total", bg="#535C68", bd=2, fg="white", pady=15, width=12, font='arial 13 bold') + total_btn.grid(row=0, column=0, padx=5, pady=5) + + generateBill_btn = Button(btn_f, command=self.bill_area, text="Generate Bill", bd=2, bg="#535C68", fg="white", pady=12, width=12, font='arial 13 bold') + generateBill_btn.grid(row=0, column=1, padx=5, pady=5) + + clear_btn = Button(btn_f, command=self.clear_data, text="Clear", bg="#535C68", bd=2, fg="white", pady=15, width=12, font='arial 13 bold') + clear_btn.grid(row=0, column=2, padx=5, pady=5) + + exit_btn = Button(btn_f, command=self.exit_app, text="Exit", bd=2, bg="#535C68", fg="white", pady=15, width=12, font='arial 13 bold') + exit_btn.grid(row=0, column=3, padx=5, pady=5) + self.welcome_bill() + +#================totalBill========================== + def total(self): + self.m_h_g_p = self.hand_gloves.get()*12 + self.m_s_p = self.sanitizer.get()*2 + self.m_m_p = self.mask.get()*5 + self.m_d_p = self.dettol.get()*30 + self.m_n_p = self.newsprin.get()*5 + self.m_t_g_p = self.thermal_gun.get()*15 + self.total_medical_price = float(self.m_m_p+self.m_h_g_p+self.m_d_p+self.m_n_p+self.m_t_g_p+self.m_s_p) + + self.medical_price.set("Rs. "+str(self.total_medical_price)) + self.c_tax = round((self.total_medical_price*0.05), 2) + self.medical_tax.set("Rs. "+str(self.c_tax)) + + self.g_r_p = self.rice.get()*10 + self.g_f_o_p = self.food_oil.get()*10 + self.g_w_p = self.wheat.get()*10 + self.g_d_p = self.daal.get()*6 + self.g_f_p = self.flour.get()*8 + self.g_m_p = self.maggi.get()*5 + self.total_grocery_price = float(self.g_r_p+self.g_f_o_p+self.g_w_p+self.g_d_p+self.g_f_p+self.g_m_p) + + self.grocery_price.set("Rs. " + str(self.total_grocery_price)) + self.g_tax = round((self.total_grocery_price*5), 2) + self.grocery_tax.set("Rs. " + str(self.g_tax)) + + self.c_d_s_p = self.sprite.get()*10 + self.c_d_l_p = self.limka.get()*10 + self.c_d_m_p = self.mazza.get()*10 + self.c_d_c_p = self.coke.get()*10 + self.c_d_f_p = self.fanta.get()*10 + self.c_m_d = self.mountain_duo.get()*10 + self.total_cold_drinks_price = float(self.c_d_s_p+self.c_d_l_p+self.c_d_m_p+self.c_d_c_p+self.c_d_f_p+self.c_m_d) + + self.cold_drinks_price.set("Rs. "+str(self.total_cold_drinks_price)) + self.c_d_tax = round((self.total_cold_drinks_price * 0.1), 2) + self.cold_drinks_tax.set("Rs. "+str(self.c_d_tax)) + + self.total_bill = float(self.total_medical_price+self.total_grocery_price+self.total_cold_drinks_price+self.c_tax+self.g_tax+self.c_d_tax) + +#==============welcome-bill============================== + def welcome_bill(self): + self.txtarea.delete('1.0', END) + self.txtarea.insert(END, "\tWelcome Webcode Retail") + self.txtarea.insert(END, f"\n Bill Number:{self.bill_no.get()}") + self.txtarea.insert(END, f"\nCustomer Name:{self.c_name.get()}") + self.txtarea.insert(END, f"\nPhone Number{self.c_phone.get()}") + self.txtarea.insert(END, f"\n================================") + self.txtarea.insert(END, f"\nProducts\t\tQTY\t\tPrice") + +#=========billArea================================================= + def bill_area(self): + if self.c_name.get() == " " or self.c_phone.get() == " ": + messagebox.showerror("Error", "Customer Details Are Must") + elif self.medical_price.get() == "Rs. 0.0" and self.grocery_price.get() == "Rs. 0.0" and self.cold_drinks_price.get()=="Rs. 0.0": + messagebox.showerror("Error", "No Product Purchased") + else: + self.welcome_bill() + # ============medical=========================== + if self.sanitizer.get() != 0: + self.txtarea.insert(END, f"\n Sanitizer\t\t{self.sanitizer.get()}\t\t{self.m_s_p}") + if self.mask.get() != 0: + self.txtarea.insert(END, f"\n Sanitizer\t\t{self.mask.get()}\t\t{self.m_m_p}") + if self.hand_gloves.get() != 0: + self.txtarea.insert(END, f"\n Hand Gloves\t\t{self.hand_gloves.get()}\t\t{self.m_h_g_p}") + if self.dettol.get() != 0: + self.txtarea.insert(END, f"\n Dettol\t\t{self.dettol.get()}\t\t{self.m_d_p}") + if self.newsprin.get() != 0: + self.txtarea.insert(END, f"\n Newsprin\t\t{self.newsprin.get()}\t\t{self.m_n_p}") + if self.thermal_gun.get() != 0: + self.txtarea.insert(END , f"\n Thermal Gun\t\t{self.sanitizer.get()}\t\t{self.m_t_g_p}") + # ==============Grocery============================ + if self.rice.get() != 0: + self.txtarea.insert(END, f"\n Rice\t\t{self.rice.get()}\t\t{self.g_r_p}") + if self.food_oil.get() != 0: + self.txtarea.insert(END, f"\n Food Oil\t\t{self.food_oil.get()}\t\t{self.g_f_o_p}") + if self.wheat.get() != 0: + self.txtarea.insert(END, f"\n Wheat\t\t{self.wheat.get()}\t\t{self.g_w_p}") + if self.daal.get() != 0: + self.txtarea.insert(END, f"\n Daal\t\t{self.daal.get()}\t\t{self.g_d_p}") + if self.flour.get() != 0: + self.txtarea.insert(END, f"\n Flour\t\t{self.flour.get()}\t\t{self.g_f_p}") + if self.maggi.get() != 0: + self.txtarea.insert(END, f"\n Maggi\t\t{self.maggi.get()}\t\t{self.g_m_p}") + #================ColdDrinks========================== + if self.sprite.get() != 0: + self.txtarea.insert(END, f"\n Sprite\t\t{self.sprite.get()}\t\t{self.c_d_s_p}") + if self.limka.get() != 0: + self.txtarea.insert(END, f"\n Sanitizer\t\t{self.limka.get()}\t\t{self.c_d_l_p}") + if self.mazza.get() != 0: + self.txtarea.insert(END, f"\n Mazza\t\t{self.mazza.get()}\t\t{self.c_d_m_p}") + if self.coke.get() != 0: + self.txtarea.insert(END, f"\n Dettol\t\t{self.coke.get()}\t\t{self.c_d_c_p}") + if self.fanta.get() != 0: + self.txtarea.insert(END, f"\n Fanta\t\t{self.newsprin.get()}\t\t{self.c_d_f_p}") + if self.mountain_duo.get() != 0: + self.txtarea.insert(END, f"\n Mountain Duo\t\t{self.sanitizer.get()}\t\t{self.c_m_d}") + self.txtarea.insert(END, f"\n--------------------------------") + # ===============taxes============================== + if self.medical_tax.get() != '0.0': + self.txtarea.insert(END, f"\n Medical Tax\t\t\t{self.medical_tax.get()}") + if self.grocery_tax.get() != '0.0': + self.txtarea.insert(END, f"\n Grocery Tax\t\t\t{self.grocery_tax.get()}") + if self.cold_drinks_tax.get() != '0.0': + self.txtarea.insert(END, f"\n Cold Drinks Tax\t\t\t{self.cold_drinks_tax.get()}") + + self.txtarea.insert(END, f"\n Total Bil:\t\t\t Rs.{self.total_bill}") + self.txtarea.insert(END, f"\n--------------------------------") + self.save_bill() + + #=========savebill============================ + def save_bill(self): + op = messagebox.askyesno("Save Bill", "Do you want to save the bill?") + if op > 0: + self.bill_data = self.txtarea.get('1.0', END) + f1 = open("bills/"+str(self.bill_no.get())+".txt", "w") + f1.write(self.bill_data) + f1.close() + messagebox.showinfo("Saved", f"Bill no:{self.bill_no.get()} Saved Successfully") + else: + return + + # ===================find_bill================================ + def find_bill(self): + present = "no" + for i in os.listdir("bills/"): + if i.split('.')[0] == self.search_bill.get(): + f1 = open(f"bills/{i}", "r") + self.txtarea.delete("1.0", END) + for d in f1: + self.txtarea.insert(END, d) + f1.close() + present = "yes" + if present == "no": + messagebox.showerror("Error", "Invalid Bill No") + + # ======================clear-bill====================== + def clear_data(self): + op = messagebox.askyesno("Clear", "Do you really want to Clear?") + if op > 0: + self.sanitizer.set(0) + self.mask.set(0) + self.hand_gloves.set(0) + self.dettol.set(0) + self.newsprin.set(0) + self.thermal_gun.set(0) + # ============grocery============================== + self.rice.set(0) + self.food_oil.set(0) + self.wheat.set(0) + self.daal.set(0) + self.flour.set(0) + self.maggi.set(0) + # =============coldDrinks============================= + self.sprite.set(0) + self.limka.set(0) + self.mazza.set(0) + self.coke.set(0) + self.fanta.set(0) + self.mountain_duo.set(0) + # ====================taxes================================ + self.medical_price.set("") + self.grocery_price.set("") + self.cold_drinks_price.set("") + + self.medical_tax.set("") + self.grocery_tax.set("") + self.cold_drinks_tax.set("") + + self.c_name.set("") + self.c_phone.set("") + + self.bill_no.set("") + x = random.randint(1000, 9999) + self.bill_no.set(str(x)) + + self.search_bill.set("") + self.welcome_bill() + + # ===========exit======================= + def exit_app(self): + op = messagebox.askyesno("Exit", "Do you really want to exit?") + if op > 0: + self.root.destroy() + + +root = Tk() +obj = Bill_App(root) +root.mainloop() + + diff --git a/projects/Bouncing_ball_simulator/README.md b/projects/Bouncing_ball_simulator/README.md new file mode 100644 index 000000000..9334e306e --- /dev/null +++ b/projects/Bouncing_ball_simulator/README.md @@ -0,0 +1,22 @@ +# Bouncing ball simulator + +This script shows the simulation of few balls bouncing in a container under gravity. +They also collide with the bottom part and the walls of the container. + +### Prerequisites + +The script runs in python3. +pygame module is needed + +pip3 install requirements.txt + +### How to run the script + +Navigate to the folder where the source code is written. +Open a terminal and execute the command: + +python3 ball_bounce.py + +## *Author Name* + +Ayush Shaw diff --git a/projects/Bouncing_ball_simulator/background-img.jpg b/projects/Bouncing_ball_simulator/background-img.jpg new file mode 100644 index 000000000..c6c7c16f6 Binary files /dev/null and b/projects/Bouncing_ball_simulator/background-img.jpg differ diff --git a/projects/Bouncing_ball_simulator/ball.png b/projects/Bouncing_ball_simulator/ball.png new file mode 100644 index 000000000..5ddd6617b Binary files /dev/null and b/projects/Bouncing_ball_simulator/ball.png differ diff --git a/projects/Bouncing_ball_simulator/ball_bounce.py b/projects/Bouncing_ball_simulator/ball_bounce.py new file mode 100644 index 000000000..21bced266 --- /dev/null +++ b/projects/Bouncing_ball_simulator/ball_bounce.py @@ -0,0 +1,56 @@ +#This program shows the simulation of 5 balls bouncing under gravitational acceleration. +#It is also accompanied by eleastic collission with walls of the container. +#It is fun to watch. +import pygame,time,random + +pygame.init() + +#setting screen size of pygame window to 800 by 600 pixels +screen=pygame.display.set_mode((800,600)) +background=pygame.image.load('background-img.jpg') + +#Adding title +pygame.display.set_caption('Ball Bounce Simulation') + +class ball: + ball_image=pygame.image.load('ball.png') + g=1 + def __init__(self): + self.velocityX=4 + self.velocityY=4 + self.X=random.randint(0,768) + self.Y=random.randint(0,350) + + def render_ball(self): + screen.blit(ball.ball_image, (self.X,self.Y)) + def move_ball(self): + #changing y component of velocity due to downward acceleration + self.velocityY+=ball.g + #changing position based on velocity + self.X+=self.velocityX + self.Y+=self.velocityY + #collission with the walls lead to change in velocity + if self.X<0 or self.X>768: + self.velocityX*=-1 + if self.Y<0 and self.velocityY<0: + self.velocityY*=-1 + self.Y=0 + if self.Y>568 and self.velocityY>0: + self.velocityY*=-1 + self.Y=568 +#list of balls created as objects +Ball_List=[ball(),ball(), ball(), ball(), ball()] + +#The main program loop +running=True +while running: + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running=False + + time.sleep(0.02) + screen.blit(background, (0,0)) + for ball_item in Ball_List: + ball_item.render_ball() + ball_item.move_ball() + pygame.display.update() \ No newline at end of file diff --git a/projects/Bouncing_ball_simulator/requirements.txt b/projects/Bouncing_ball_simulator/requirements.txt new file mode 100644 index 000000000..639e89a11 --- /dev/null +++ b/projects/Bouncing_ball_simulator/requirements.txt @@ -0,0 +1 @@ +pygame==2.0.2 \ No newline at end of file diff --git a/projects/Compute_IoU/Compute_IoU.py b/projects/Compute_IoU/Compute_IoU.py new file mode 100644 index 000000000..79cedc78b --- /dev/null +++ b/projects/Compute_IoU/Compute_IoU.py @@ -0,0 +1,33 @@ +import numpy as np + +def Cal_IoU(GT_bbox, Pred_bbox): + ''' + Args: + GT_bbox: the bounding box of the ground truth + Pred_bbox: the bounding box of the predicted + Returns: + IoU: Intersection over Union + ''' + #1. Calculate the area of the intersecting area + ixmin = max(GT_bbox[0], Pred_bbox[0]) + iymin = max(GT_bbox[1], Pred_bbox[1]) + ixmax = min(GT_bbox[2], Pred_bbox[2]) + iymax = min(GT_bbox[3], Pred_bbox[3]) + iw = np.maximum(ixmax - ixmin + 1., 0.) # the weight of the area + ih = np.maximum(iymax - iymin + 1., 0.) # the height of the area + area = iw * ih + + #2. Calculate the area of all area + #S = S1 + S2 - area + S1 = (Pred_bbox[2] - GT_bbox[0] + 1) * (Pred_bbox[3] - GT_bbox[1] + 1) + S2 = (GT_bbox[2] - GT_bbox[0] + 1) * (GT_bbox[3] - GT_bbox[1] + 1) + S = S1 + S2 - area + + #3. Calculate the IoU + iou = area / S + return iou + +if __name__ == "__main__": + pred_bbox = np.array([40, 40, 100, 100]) + gt_bbox = np.array([70, 80, 110, 130]) + print(Cal_IoU(pred_bbox, gt_bbox)) diff --git a/projects/Compute_IoU/README.md b/projects/Compute_IoU/README.md new file mode 100644 index 000000000..b10f3dbca --- /dev/null +++ b/projects/Compute_IoU/README.md @@ -0,0 +1,19 @@ + +# Image-Watermark + +## Description + +The project will help you calculate Intersection over Union (IoU). + +## About this Project + +Intersection over Union (IoU) is used when calculating mAP. It is a number from 0 to 1 that specifies the amount of overlap between the predicted and ground truth bounding box. + +## Usage + +Use the Script [Compute_IoU.py](https://github.com/Python-World/python-mini-projects/blob/master/projects/Compute_IoU/Compute_IoU.py) . In the command line, Enter + +`python3 Compute_IoU.py ` + +## Author +[Mason](https://github.com/JohnMasoner) \ No newline at end of file diff --git a/projects/Countdown_timer/README.md b/projects/Countdown_timer/README.md new file mode 100644 index 000000000..03e9d479c --- /dev/null +++ b/projects/Countdown_timer/README.md @@ -0,0 +1,32 @@ +# Development +Please have python3 installed to run this project on terminal: +[Python3 Installation](https://www.python.org/downloads/) + +# CountDown Timer + +Countdown timer made using the Python time module and is a terminal game to countdown the time. + +### Prerequisites + +Modules required to be able to use the script successfully +and how to install them. +Please have python3 installed to run this project on terminal: + + +### How to run the script + +```code +python3 main.py +``` +# Example +Enter the time in seconds: 20 +00:20 +Timer completed! + +### Screenshot/GIF showing the sample use of the script + +![example](example.png) + +## *Author Name* + +[JapneetSingh](https://github.com/japneetsingh035) \ No newline at end of file diff --git a/projects/Countdown_timer/example.png b/projects/Countdown_timer/example.png new file mode 100644 index 000000000..5709cd288 Binary files /dev/null and b/projects/Countdown_timer/example.png differ diff --git a/projects/Countdown_timer/main.py b/projects/Countdown_timer/main.py new file mode 100644 index 000000000..06c48e22c --- /dev/null +++ b/projects/Countdown_timer/main.py @@ -0,0 +1,15 @@ +import time + +def countdown(t): + while t: + mins, secs = divmod(t, 60) + timer = '{:02d}:{:02d}'.format(mins,secs) + print(timer, end="\r") + time.sleep(1) + t -= 1 + + print('Timer completed!') + +t = input('Enter the time in seconds: ') + +countdown(int(t)) \ No newline at end of file diff --git a/projects/Create_calculator_app/calculator.py b/projects/Create_calculator_app/calculator.py index 417d38a67..b35204d59 100644 --- a/projects/Create_calculator_app/calculator.py +++ b/projects/Create_calculator_app/calculator.py @@ -125,6 +125,10 @@ def cal(): button18 = Button(root, text='^', fg=text_fg, bg=cal_button_bg, padx=10, pady=3, command=lambda: get_input(entry, '**')) button18.grid(row=5, column=2, pady=5) + def quit(): + exit['command'] = root.quit() + exit = Button(root, text='Quit', fg='white', bg='black', command=quit, height=1, width=7) + exit.grid(row=6, column=1) root.mainloop() diff --git a/projects/Diff_Util/README.md b/projects/Diff_Util/README.md new file mode 100644 index 000000000..028986d36 --- /dev/null +++ b/projects/Diff_Util/README.md @@ -0,0 +1,62 @@ +# Diff Utility + +This program is a minimal clone of the UNIX ``diff`` program. + +``diff.py`` takes two file names as command-line arguments and compares them for changes. + +## Prerequisites +* Rich: ``rich==10.11.0`` + +## How to run the script +**Running on Windows:** + +``` +python diff.py +``` + +**Running on Linux / macOS:** + +``` +./diff.py +``` + +## Usage Example + +Consider two files ``v1`` and ``v2``: + +**v1**: +``` +Bruce +Alfred +Jason +``` + +**v2**: +``` +Batman +Alfred +Red Hood +Joker +Ra's Al Ghul +``` + +On running ``./diff.py v1 v2``, you'll get the following output: +``` + +[-] Line 1: Bruce +[+] Line 1: Batman + +[-] Line 3: Jason +[+] Line 3: Red Hood + +[+] Line 4: Joker + +[+] Line 5: Ra's Al Ghul + +``` + +## Screenshot +![Python Diff Utility](diff_util.jpg) + +# KILLinefficiency +Github Link: [KILLinefficiency](https://www.github.com/KILLinefficiency) diff --git a/projects/Diff_Util/diff.py b/projects/Diff_Util/diff.py new file mode 100755 index 000000000..9706d433c --- /dev/null +++ b/projects/Diff_Util/diff.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 + +# sys: for reading command-line arguments. +# rich: for coloring the text. +import sys +from rich import print + +# Print Usage message if enough arguments are not passed. +if len(sys.argv) < 3: + print("Usage:") + print("\tMust provide two file names as command-line arguments.") + print("\tdiff.py ") + exit(1) + +orignal = sys.argv[1] +changed = sys.argv[2] + +# Read the contents of the files in lists. +orignal_contents = open(orignal, "r").readlines() +changed_contents = open(changed, "r").readlines() + +color = "green" +symbol = f"[bold {color}][+]" + +print() + +# Determine which file has changed much. +if len(changed_contents) <= len(orignal_contents): + color = "red" + symbol = f"[bold {color}][-]" + smallest_sloc, largest_sloc = changed_contents, orignal_contents +else: + smallest_sloc, largest_sloc = orignal_contents, changed_contents + +# Go over all the lines to check the changes. +for line in range(0, len(smallest_sloc)): + if orignal_contents[line] == changed_contents[line]: + # Ignore if the lines are same. + continue + else: + # Display the changes on the respective lines of the files. + print(f"[bold red][-] Line {line + 1}:[/bold red] {orignal_contents[line]}", end = "") + print(f"[bold green][+] Line {line + 1}:[/bold green] {changed_contents[line]}") + + # Show the additions [+] or deletions [-] for the file that is the largest. + if line == len(smallest_sloc) - 1: + for new_line in range(line + 1, len(largest_sloc)): + print(f"{symbol} Line {new_line + 1}:[/bold {color}] {largest_sloc[new_line]}") diff --git a/projects/Diff_Util/diff_util.jpg b/projects/Diff_Util/diff_util.jpg new file mode 100644 index 000000000..ea3772d44 Binary files /dev/null and b/projects/Diff_Util/diff_util.jpg differ diff --git a/projects/Diff_Util/requirements.txt b/projects/Diff_Util/requirements.txt new file mode 100644 index 000000000..c6402e593 --- /dev/null +++ b/projects/Diff_Util/requirements.txt @@ -0,0 +1 @@ +rich==10.11.0 diff --git a/projects/GUI Rock-Paper-Scissors Game/Rock-Paper-Scissors Game.py b/projects/GUI Rock-Paper-Scissors Game/Rock-Paper-Scissors Game.py new file mode 100644 index 000000000..b344ce9fd --- /dev/null +++ b/projects/GUI Rock-Paper-Scissors Game/Rock-Paper-Scissors Game.py @@ -0,0 +1,74 @@ +# Import Required Library +from tkinter import * +from tkinter import ttk +from random import * + +# Create Object +root = Tk() + +# Set geometry +root.geometry("500x500") + +root.title("Rock-Paper-Scissors-Game") + +# List of players +list = ["rock","paper","scissors"] + +choose_number = randint(0,2) +print(choose_number) # For testing if it works + +label = Label(root,text="Computer ",width = 20,height=4,font=("algerian",15)) +label.pack() + +def spin(): + choose_number = randint(0,2) + label.config(text=list[choose_number]) + if user_select.get() == "Rock": + user_select_value = 0 + print(user_select_value) + elif user_select.get() == "Paper": + user_select_value = 1 + print(user_select_value) + elif user_select.get() == "Scissors": + user_select_value = 2 + print(user_select_value) + + if user_select_value == 0: + if choose_number == 0: + wl_label.config(text="Tie! - "+" Computer:Bad luck") + elif choose_number == 1: + wl_label.config(text="YOU Loose - "+" Computer: I am better ") + elif choose_number == 2 : + wl_label.config(text="YOU Won - "+" Computer: You won by luck") + + elif user_select_value == 1: + if choose_number == 1: + wl_label.config(text="Tie! - "+" Computer: Nice game") + elif choose_number == 0: + wl_label.config(text="YOU Won - "+" Computer: Shit how you are better") + elif choose_number == 2 : + wl_label.config(text="YOU Loose - "+" Computer: booo") + + elif user_select_value == 2: + if choose_number == 2: + wl_label.config(text="Tie!") + elif choose_number == 0: + wl_label.config(text="YOU Loose - "+" Computer: I am playing this game since i was born") + elif choose_number == 1 : + wl_label.config(text="YOU Won") + + + +# Adding dropdown box for Rock,Paper,Scissors +user_select = ttk.Combobox(root,value=["Rock","Paper","Scissors"]) +user_select.current(0) +user_select.pack() + +# Add Labels,Button +wl_label = Label(root,text="",font=("arial",10),width=50,height=4) +wl_label.pack() + +button = Button(root,text="Spin!",font=("bell mt",10),command=spin) +button.pack() + +root.mainloop() diff --git a/projects/Games/QuizGame.py b/projects/Games/QuizGame.py new file mode 100644 index 000000000..bc4536ddc --- /dev/null +++ b/projects/Games/QuizGame.py @@ -0,0 +1,49 @@ +print(" Welcome To My Quiz Game \n Interesting Game to Play") +Player = input(" Do you want to play the game? \n" ) +if Player.lower() != 'yes': + print("Good Bye") + quit() + +name_player = input("Enter Your Name: ") + +print("Let's Start the Game :) ",name_player) + +score = 0 + +answer = input(' What is CPU stands for? \n ') +if answer.lower() == 'central processing unit': + print("Correct") + score += 1 +else: + print('Wrong') + +answer = input(' What is GPU stands for? \n ') +if answer.lower() == 'graphical processing unit': + print("Correct") + score += 1 +else: + print('Wrong') + +answer = input(' What is RAM stands for? \n ') +if answer.lower() == 'random access memory': + print("Correct") + score += 1 +else: + print('Wrong') + +answer = input(' What is ROM stands for? \n ') +if answer.lower() == 'read only memory': + print("Correct") + score += 1 +else: + print('Wrong') + +answer = input(' Mouse is an input device or output device? \n ') +if answer.lower() == 'input device': + print("Correct") + score += 1 +else: + print('Wrong') + +print("You got the " + str(score)+ " correct answers") +print("You got the " + str((score/5) *100)+ " correct answers") diff --git a/projects/Image_watermark/watermark.py b/projects/Image_watermark/watermark.py index 103e9214c..7e329a77c 100644 --- a/projects/Image_watermark/watermark.py +++ b/projects/Image_watermark/watermark.py @@ -1,46 +1,38 @@ import os from PIL import Image -from PIL import ImageFilter - - -def watermark_photo(input_image_path, output_image_path, watermark_image_path): +def watermark_photo(input_image_path,watermark_image_path,output_image_path): base_image = Image.open(input_image_path) - watermark = Image.open(watermark_image_path) + watermark = Image.open(watermark_image_path).convert("RGBA") # add watermark to your image position = base_image.size - - watermark.size - - newsize = int(position[0] * 8 / 100), int(position[0] * 8 / 100) - + newsize = (int(position[0]*8/100),int(position[0]*8/100)) + # print(position) watermark = watermark.resize(newsize) - # Blur If Needed - # watermark = watermark.filter(ImageFilter.BoxBlur(2)) - new_position = position[0] - newsize[0] - 20, position[1] - newsize[1] - 20 + # print(newsize) + # return watermark - transparent = Image.new(mode="RGBA", size=position, color=(0, 0, 0, 0)) - # Create a new transparent image - transparent.paste(base_image, (0, 0)) + new_position = position[0]-newsize[0]-20,position[1]-newsize[1]-20 + # create a new transparent image + transparent = Image.new(mode='RGBA',size=position,color=(0,0,0,0)) # paste the original image - - transparent.paste(watermark, new_position, mask=watermark) + transparent.paste(base_image,(0,0)) # paste the watermark image + transparent.paste(watermark,new_position,watermark) image_mode = base_image.mode - if image_mode == "RGB": + print(image_mode) + if image_mode == 'RGB': transparent = transparent.convert(image_mode) else: - transparent = transparent.convert("P") - transparent.save(output_image_path, optimize=True, quality=100) - print("Saving " + output_image_path + " ...") - - -folder = input("Enter Folder Path : ") - -watermark = input("Enter Watermark Path : ") + transparent = transparent.convert('P') + transparent.save(output_image_path,optimize=True,quality=100) + print("Saving"+output_image_path+"...") +folder = input("Enter Folder Path:") +watermark = input("Enter Watermark Path:") os.chdir(folder) files = os.listdir(os.getcwd()) +print(files) if not os.path.isdir("output"): os.mkdir("output") @@ -49,5 +41,5 @@ def watermark_photo(input_image_path, output_image_path, watermark_image_path): for f in files: if os.path.isfile(os.path.abspath(f)): if f.endswith(".png") or f.endswith(".jpg"): - watermark_photo(f, "output/" + f, watermark) + watermark_photo(f,watermark,"output/"+f) diff --git a/projects/Multi_language_OCR/README.MD b/projects/Multi_language_OCR/README.MD new file mode 100644 index 000000000..ba77dab0c --- /dev/null +++ b/projects/Multi_language_OCR/README.MD @@ -0,0 +1,27 @@ +# Script Title + +Multi language OCR example + +### Prerequisites + +```shell +pip install agentocr==1.3.0 +pip install onnxruntime==1.8.1 +``` +or +```shell +pip install -r ./projects/Multi_language_OCR/requirements.txt +``` +### How to run the script + +Execute `python3 multi_language_OCR.py` + +If you need complete operation documents, you can refer to [AgentOCR advanced tutorial](https://github.com/AgentMaker/AgentOCR) + +### Screenshot/GIF showing the sample use of the script + +![Screenshot of the Output](Screenshot.png) + +## *Author Name* + +[GT-ZhangAcer](https://github.com/GT-ZhangAcer) diff --git a/projects/Multi_language_OCR/multi_language_OCR.py b/projects/Multi_language_OCR/multi_language_OCR.py new file mode 100644 index 000000000..3ef4dbde2 --- /dev/null +++ b/projects/Multi_language_OCR/multi_language_OCR.py @@ -0,0 +1,63 @@ +# Author: Acer Zhang +# Datetime: 2021/9/14 +# Copyright belongs to the author. +# Please indicate the source for reprinting. + +language = """ +Language Abbreviation Language Abbreviation +Chinese & English ch Arabic ar +English en Hindi hi +French fr Uyghur ug +German german Persian fa +Japan japan Urdu ur +Korean korean Serbian(latin) rs_latin +Chinese Traditional chinese_cht Occitan oc +Italian it Marathi mr +Spanish es Nepali ne +Portuguese pt Serbian(cyrillic) rs_cyrillic +Russia ru Bulgarian bg +Ukranian uk Estonian et +Belarusian be Irish ga +Telugu te Croatian hr +Saudi Arabia sa Hungarian hu +Tamil ta Indonesian id +Afrikaans af Icelandic is +Azerbaijani az Kurdish ku +Bosnian bs Lithuanian lt +Czech cs Latvian lv +Welsh cy Maori mi +Danish da Malay ms +Maltese mt Adyghe ady +Dutch nl Kabardian kbd +Norwegian no Avar ava +Polish pl Dargwa dar +Romanian ro Ingush inh +Slovak sk Lak lbe +Slovenian sl Lezghian lez +Albanian sq Tabassaran tab +Swedish sv Bihari bh +Swahili sw Maithili mai +Tagalog tl Angika ang +Turkish tr Bhojpuri bho +Uzbek uz Magahi mah +Vietnamese vi Nagpur sck +Mongolian mn Newari new +Abaza abq Goan Konkani gom +""" + +# Import AgentOCR python module +from agentocr import OCRSystem + +# Choose OCR language +print(language) +config = input("Please enter the language you want to recognize:") +# Init OCRSystem +ocr = OCRSystem(config=config) +print("OCR system Initialization complete!") + +# Start OCR! +while True: + img = input("Please enter the path where the picture file is located:") + results = ocr.ocr(img) + for info in results: + print(info) \ No newline at end of file diff --git a/projects/Multi_language_OCR/requirements.txt b/projects/Multi_language_OCR/requirements.txt new file mode 100644 index 000000000..8bc1defe5 --- /dev/null +++ b/projects/Multi_language_OCR/requirements.txt @@ -0,0 +1,2 @@ +agentocr==1.3.0 +onnxruntime==1.8.1 diff --git a/projects/Network Usage Tracker/Images/1.jpg b/projects/Network Usage Tracker/Images/1.jpg new file mode 100644 index 000000000..001495bf6 Binary files /dev/null and b/projects/Network Usage Tracker/Images/1.jpg differ diff --git a/projects/Network Usage Tracker/Images/2.jpg b/projects/Network Usage Tracker/Images/2.jpg new file mode 100644 index 000000000..a271024d7 Binary files /dev/null and b/projects/Network Usage Tracker/Images/2.jpg differ diff --git a/projects/Network Usage Tracker/Images/3.jpg b/projects/Network Usage Tracker/Images/3.jpg new file mode 100644 index 000000000..7049c907e Binary files /dev/null and b/projects/Network Usage Tracker/Images/3.jpg differ diff --git a/projects/Network Usage Tracker/Images/4.jpg b/projects/Network Usage Tracker/Images/4.jpg new file mode 100644 index 000000000..d6337a20c Binary files /dev/null and b/projects/Network Usage Tracker/Images/4.jpg differ diff --git a/projects/Network Usage Tracker/Images/5.jpg b/projects/Network Usage Tracker/Images/5.jpg new file mode 100644 index 000000000..e416d1f0d Binary files /dev/null and b/projects/Network Usage Tracker/Images/5.jpg differ diff --git a/projects/Network Usage Tracker/Images/6.jpg b/projects/Network Usage Tracker/Images/6.jpg new file mode 100644 index 000000000..974321ebf Binary files /dev/null and b/projects/Network Usage Tracker/Images/6.jpg differ diff --git a/projects/Network Usage Tracker/Images/7.jpg b/projects/Network Usage Tracker/Images/7.jpg new file mode 100644 index 000000000..a667c44e6 Binary files /dev/null and b/projects/Network Usage Tracker/Images/7.jpg differ diff --git a/projects/Network Usage Tracker/Images/8.jpg b/projects/Network Usage Tracker/Images/8.jpg new file mode 100644 index 000000000..e1aa1c501 Binary files /dev/null and b/projects/Network Usage Tracker/Images/8.jpg differ diff --git a/projects/Network Usage Tracker/Images/front.png b/projects/Network Usage Tracker/Images/front.png new file mode 100644 index 000000000..853e2f377 Binary files /dev/null and b/projects/Network Usage Tracker/Images/front.png differ diff --git a/projects/Network Usage Tracker/README.md b/projects/Network Usage Tracker/README.md new file mode 100644 index 000000000..8f5421f46 --- /dev/null +++ b/projects/Network Usage Tracker/README.md @@ -0,0 +1,26 @@ +# Script Title +- A "Network Usage Tracker" is an application created in python with tkinter gui. +- In this application, user gets the usage of network in his/her PC or computer at every instant. +- Here user will be given a MAX LIMIT of network usage, and if user crosses that max limit, user willl be notified for the same. +- Also user will be able to see the connection status and the IP address related to the same. + +### Prerequisites +```pip install -r requirements.txt``` + +### How to run the script +- Just clone the code file, and network_usage_tracker.py on local system. +- Then the script will start running and user can monitor the network usage and check if it exceeds the max limit or not. + +### Screenshot/GIF showing the sample use of the script +

    +
    +
    +
    +
    +
    +
    +
    +
    +

    +## *Author Name* +Akash Rajak \ No newline at end of file diff --git a/projects/Network Usage Tracker/network_usage_tracker.py b/projects/Network Usage Tracker/network_usage_tracker.py new file mode 100644 index 000000000..9b860f507 --- /dev/null +++ b/projects/Network Usage Tracker/network_usage_tracker.py @@ -0,0 +1,114 @@ + +# NETWORK USAGE TRACKER + +# imported necessary library +from tkinter import * +import tkinter as tk +import tkinter.messagebox as mbox +from pil import ImageTk, Image +import time +import psutil +import socket + +# Main Window & Configuration +window1 = tk.Tk() # created a tkinter gui window frame +window1.title("Network Usage Tracker") # title given is "DICTIONARY" +window1.geometry('1000x700') + +# top label +start1 = tk.Label(text = "NETWORK USAGE\nTRACKER", font=("Arial", 55,"underline"), fg="magenta") # same way bg +start1.place(x = 150, y = 10) + +def start_fun(): + window1.destroy() + +# start button created +startb = Button(window1, text="START",command=start_fun,font=("Arial", 25), bg = "orange", fg = "blue", borderwidth=3, relief="raised") +startb.place(x =130 , y =590 ) + +# image on the main window +path = "Images/front.png" +# Creates a Tkinter-compatible photo image, which can be used everywhere Tkinter expects an image object. +img1 = ImageTk.PhotoImage(Image.open(path)) +# The Label widget is a standard Tkinter widget used to display a text or image on the screen. +panel = tk.Label(window1, image = img1) +panel.place(x = 320, y = 200) + +# function created for exiting +def exit_win(): + if mbox.askokcancel("Exit", "Do you want to exit?"): + window1.destroy() + +# exit button created +exitb = Button(window1, text="EXIT",command=exit_win,font=("Arial", 25), bg = "red", fg = "blue", borderwidth=3, relief="raised") +exitb.place(x =730 , y = 590 ) +window1.protocol("WM_DELETE_WINDOW", exit_win) +window1.mainloop() + +# main window created +window = Tk() +window.title("Network Usage Tracker") +window.geometry("1000x700") + +# top label +top1 = Label(window, text="NETWORK USAGE\nTRACKER", font=("Arial", 50,'underline'), fg="magenta") +top1.place(x = 190, y = 10) + +top1 = Label(window, text="MAX LIMIT : 1 MB/sec", font=("Arial", 50), fg="green") +top1.place(x = 130, y = 180) + +# text area +path_text = Text(window, height=1, width=24, font=("Arial", 50), bg="white", fg="blue",borderwidth=2, relief="solid") +path_text.place(x=50, y = 300) + +# l1 = Label(window, fg='blue', font=("Arial", 50)) +# l1.place(x = 80, y = 300) + +top1 = Label(window, text="Connection Status :", font=("Arial", 50), fg="green") +top1.place(x = 200, y = 450) + +l2 = Label(window, fg='blue', font=("Arial", 30)) +l2.place(x = 200, y = 530) + +def convert_to_gbit(value): + return value/1024./1024./1024.*8 + +# function defined to update the usage instantly +old_value = 0 +def update_label(): + global old_value + new_value = psutil.net_io_counters().bytes_sent + psutil.net_io_counters().bytes_recv + # if old_value: + # send_stat(new_value - old_value) + x = "{0:.3f}".format(new_value - old_value) + # l1.configure(text="") + # l1.configure(text= "Usage : " + str(x) + " bytes/sec") + path_text.delete("1.0", "end") + path_text.insert(END, "Usage : " + str(x) + " bytes/sec") + + # for updating connection status + IPaddress = socket.gethostbyname(socket.gethostname()) + if IPaddress == "127.0.0.1": + l2.configure(text="No internet, your localhost is\n" + IPaddress) + else: + l2.configure(text="Connected, with the IP address\n" + IPaddress) + + # for checking max limit exceeded + if(new_value - old_value>1000000): + mbox.showinfo("Exceed Status", "Max Limit Usage Exceeded.") + + old_value = new_value + + time.sleep(0.5) + window.after(1, update_label) + +update_label() + + +# function for exiting window +def exit_win(): + if mbox.askokcancel("Exit", "Do you want to exit?"): + window.destroy() + +window.protocol("WM_DELETE_WINDOW", exit_win) +window.mainloop() \ No newline at end of file diff --git a/projects/Network Usage Tracker/requirements.txt b/projects/Network Usage Tracker/requirements.txt new file mode 100644 index 000000000..d82fea233 --- /dev/null +++ b/projects/Network Usage Tracker/requirements.txt @@ -0,0 +1,5 @@ +tkinter +pillow +time +psutil +socket diff --git a/projects/PDF to MP3/PDF__TO__MP3.py b/projects/PDF to MP3/PDF__TO__MP3.py new file mode 100644 index 000000000..f056f2519 --- /dev/null +++ b/projects/PDF to MP3/PDF__TO__MP3.py @@ -0,0 +1,47 @@ +import pyttsx3 +import PyPDF2 +from tkinter import filedialog + +location = filedialog.askopenfilename() +full_text ="" + +with open(location, 'rb') as book: + + try: + reader = PyPDF2.PdfFileReader(book) + + audio = pyttsx3.init() + + print('\n') + print('Recommended Speed ------> 115') + + set_speed = input('Please Enter Your Prefered Reading Speed --------> ') + audio.setProperty('rate',int(set_speed)) + + total_pages = reader.numPages + + print('\n') + print('Location of File -------> ' + location) + print('\n') + print('Total Number of Pages -------> ' + str(total_pages)) + + try: + for page in range(total_pages): + next_page = reader.getPage(page) + content = next_page.extractText() + full_text += content + + audio.save_to_file(full_text, 'output.mp3') + print("Converting... \n Please Wait....") + audio.runAndWait() + + except: + print('Task Failed Successfully! ') + + except: + print('\n') + print('---------> Cannot Read PDF <---------') + print('\n') + print('--------->Invalid PDF format <--------') + print('\n') + print('OR maybe there is something wrong with your brain that you are trying \n to convert a file that is not in .pdf format') \ No newline at end of file diff --git a/projects/PDF to MP3/requirements.txt b/projects/PDF to MP3/requirements.txt new file mode 100644 index 000000000..a948a8624 --- /dev/null +++ b/projects/PDF to MP3/requirements.txt @@ -0,0 +1,3 @@ +pyttsx3 +PyPDF2 +tkinter \ No newline at end of file diff --git a/projects/Password_generator/README.md b/projects/Password_generator/README.md index e8e9d063f..70ffe2a72 100644 --- a/projects/Password_generator/README.md +++ b/projects/Password_generator/README.md @@ -1,10 +1,18 @@ # Password_generator + This script generate a random password + ## Prerequisites + None + ## How to run the script -Execute : password_generator.py + + python password_generator.py + ## Screenshot/GIF showing the sample use of the script -![](screenshot.png) + +screenshot + ## Author Name -lilo550 \ No newline at end of file +***lilo550*** diff --git a/projects/Qr_code_generator/README.md b/projects/Qr_code_generator/README.md index 249548238..d16e1051a 100644 --- a/projects/Qr_code_generator/README.md +++ b/projects/Qr_code_generator/README.md @@ -2,7 +2,7 @@ This script take a link of any URL and generate a QR code corresponding to it. ## Library Used -* qrcode +* [qrcode](https://github.com/lincolnloop/python-qrcode) ### To install required external modules * Run `pip install qrcode` diff --git a/projects/RockPaperScissors_Game/Rock_Paper_Scissors_Game.py b/projects/RockPaperScissors_Game/Rock_Paper_Scissors_Game.py index 98bdbddfe..f3b8abd49 100644 --- a/projects/RockPaperScissors_Game/Rock_Paper_Scissors_Game.py +++ b/projects/RockPaperScissors_Game/Rock_Paper_Scissors_Game.py @@ -35,9 +35,9 @@ print("Computer's Input: ", my_dict[comp_input]) if ( user_input=='R' and comp_input=='P' ) or ( user_input=='P' and comp_input=='S' ) or ( user_input=='S' and comp_input=='R' ): - comp_count+=1 + comp_count=comp_count+1 elif ( user_input=='P' and comp_input=='R' ) or ( user_input=='S' and comp_input=='P' ) or ( user_input=='R' and comp_input=='S' ): - user_count+=1 + user_count=user_count+1 else: print("TIE") @@ -57,4 +57,4 @@ -#END; \ No newline at end of file +#END; diff --git a/projects/S3_File_Upload/README.md b/projects/S3_File_Upload/README.md new file mode 100644 index 000000000..428692c59 --- /dev/null +++ b/projects/S3_File_Upload/README.md @@ -0,0 +1,13 @@ + +## Simple Python script for AWS S3 file upload. + +### Prerequisites +boto3 (pip install boto3)
    + +### How to run the script +- Specify both ACCESS_KEY and SECRET_KEY. You can get them both on your AWS account in "My Security Credentials" section.
    +- Specify the local file name, bucket name and the name that you want the file to have inside s3 bucket using LOCAL_FILE, BUCKET_NAME and S3_FILE_NAME variables.
    +- Run "python main.py"
    + +### Author Name +Miguel Wychovaniec - https://github.com/miguelwy diff --git a/projects/S3_File_Upload/main.py b/projects/S3_File_Upload/main.py new file mode 100644 index 000000000..cec9cd978 --- /dev/null +++ b/projects/S3_File_Upload/main.py @@ -0,0 +1,26 @@ +import boto3 +from botocore.exceptions import NoCredentialsError + +ACCESS_KEY = 'XXXXXXXXXXXXXXXXX' +SECRET_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX' +LOCAL_FILE = 'local_file_name' +BUCKET_NAME = 'bucket_name' +S3_FILE_NAME = 'file_name_on_s3' + +def upload_to_s3(local_file, bucket, s3_file): + ## This function is responsible for uploading the file into the S3 bucket using the specified credentials. + s3 = boto3.client('s3', aws_access_key_id=ACCESS_KEY, + aws_secret_access_key=SECRET_KEY) + try: + s3.upload_file(local_file, bucket, s3_file) + print("Upload Successful") + return True + except FileNotFoundError: + print("The file was not found") + return False + except NoCredentialsError: + print("Credentials not available") + return False + + +result = upload_to_s3(LOCAL_FILE, BUCKET_NAME, S3_FILE_NAME) \ No newline at end of file diff --git a/projects/S3_File_Upload/requirements.txt b/projects/S3_File_Upload/requirements.txt new file mode 100644 index 000000000..1b2c12961 --- /dev/null +++ b/projects/S3_File_Upload/requirements.txt @@ -0,0 +1,2 @@ +boto3==1.20.4 +botocore==1.23.4 diff --git a/projects/Sine_Wave/README.md b/projects/Sine_Wave/README.md new file mode 100644 index 000000000..a404b6697 --- /dev/null +++ b/projects/Sine_Wave/README.md @@ -0,0 +1,21 @@ +# Script Title +This script draws a sine wave using the built-in Python library Turtle. +The image below demonstrates the equation of a sine wave. +![Screenshot of the sine wave equation](equation.png) +[source](https://www.mathsisfun.com/algebra/amplitude-period-frequency-phase-shift.html) + +### Prerequisites +None + +### How to run the script +1) Open a terminal +2) Navigate to the "Sine_Wave" directory containing this python file using the command prompt. +3) **Execute:** `python sine_wave.py` + +### Screenshot/GIF showing the sample use of the script +![Screenshot of the sine_wave.py file](screenshot.png) + + +## *Author Name* +[echoaj](https://github.com/echoaj) + diff --git a/projects/Sine_Wave/equation.PNG b/projects/Sine_Wave/equation.PNG new file mode 100644 index 000000000..7056f406e Binary files /dev/null and b/projects/Sine_Wave/equation.PNG differ diff --git a/projects/Sine_Wave/screenshot.PNG b/projects/Sine_Wave/screenshot.PNG new file mode 100644 index 000000000..96bce8131 Binary files /dev/null and b/projects/Sine_Wave/screenshot.PNG differ diff --git a/projects/Sine_Wave/sine_wave.py b/projects/Sine_Wave/sine_wave.py new file mode 100644 index 000000000..81113c688 --- /dev/null +++ b/projects/Sine_Wave/sine_wave.py @@ -0,0 +1,19 @@ +from turtle import * +from math import * + + +A = 50 # Amplitude +B = 100 # WaveLength +C = 0 # Horizontal Shift +D = 0 # Vertical Shift + +penup() +# As x increases y increases and decreases as it is evaluated. +for x in range(-200, 200): + # Sine Wave Equation + y = A * sin((2 * pi / B) * (x + C)) + D + goto(x, y) + pendown() + +hideturtle() +mainloop() diff --git a/projects/Snake Game/snake_game.py b/projects/Snake Game/snake_game.py new file mode 100644 index 000000000..19bd6f0f3 --- /dev/null +++ b/projects/Snake Game/snake_game.py @@ -0,0 +1,163 @@ +from tkinter import * +import random + +GAME_WIDTH = 700 +GAME_HEIGHT = 700 +SPEED = 100 +SPACE_SIZE = 50 +BODY_PARTS = 3 +SNAKE_COLOR = "#00FF00" +FOOD_COLOR = "#FF0000" +BACKGROUND_COLOR = "#000000" + + +class Snake: + + def __init__(self): + self.body_size = BODY_PARTS + self.coordinates = [] + self.squares = [] + + for i in range(0, BODY_PARTS): + self.coordinates.append([0, 0]) + + for x, y in self.coordinates: + square = canvas.create_rectangle(x, y, x + SPACE_SIZE, y + SPACE_SIZE, fill=SNAKE_COLOR, tag="snake") + self.squares.append(square) + + +class Food: + + def __init__(self): + + x = random.randint(0, (GAME_WIDTH / SPACE_SIZE)-1) * SPACE_SIZE + y = random.randint(0, (GAME_HEIGHT / SPACE_SIZE) - 1) * SPACE_SIZE + + self.coordinates = [x, y] + + canvas.create_oval(x, y, x + SPACE_SIZE, y + SPACE_SIZE, fill=FOOD_COLOR, tag="food") + + +def next_turn(snake, food): + + x, y = snake.coordinates[0] + + if direction == "up": + y -= SPACE_SIZE + elif direction == "down": + y += SPACE_SIZE + elif direction == "left": + x -= SPACE_SIZE + elif direction == "right": + x += SPACE_SIZE + + snake.coordinates.insert(0, (x, y)) + + square = canvas.create_rectangle(x, y, x + SPACE_SIZE, y + SPACE_SIZE, fill=SNAKE_COLOR) + + snake.squares.insert(0, square) + + if x == food.coordinates[0] and y == food.coordinates[1]: + + global score + + score += 1 + + label.config(text="Score:{}".format(score)) + + canvas.delete("food") + + food = Food() + + else: + + del snake.coordinates[-1] + + canvas.delete(snake.squares[-1]) + + del snake.squares[-1] + + if check_collisions(snake): + game_over() + + else: + window.after(SPEED, next_turn, snake, food) + + +def change_direction(new_direction): + + global direction + + if new_direction == 'left': + if direction != 'right': + direction = new_direction + elif new_direction == 'right': + if direction != 'left': + direction = new_direction + elif new_direction == 'up': + if direction != 'down': + direction = new_direction + elif new_direction == 'down': + if direction != 'up': + direction = new_direction + + +def check_collisions(snake): + + x, y = snake.coordinates[0] + + if x < 0 or x >= GAME_WIDTH: + return True + elif y < 0 or y >= GAME_HEIGHT: + return True + + for body_part in snake.coordinates[1:]: + if x == body_part[0] and y == body_part[1]: + return True + + return False + + +def game_over(): + + canvas.delete(ALL) + canvas.create_text(canvas.winfo_width()/2, canvas.winfo_height()/2, + font=('consolas',70), text="GAME OVER", fill="red", tag="gameover") + + +window = Tk() +window.title("Snake game") +window.resizable(False, False) + +score = 0 +direction = 'down' + +label = Label(window, text="Score:{}".format(score), font=('consolas', 40)) +label.pack() + +canvas = Canvas(window, bg=BACKGROUND_COLOR, height=GAME_HEIGHT, width=GAME_WIDTH) +canvas.pack() + +window.update() + +window_width = window.winfo_width() +window_height = window.winfo_height() +screen_width = window.winfo_screenwidth() +screen_height = window.winfo_screenheight() + +x = int((screen_width/2) - (window_width/2)) +y = int((screen_height/2) - (window_height/2)) + +window.geometry(f"{window_width}x{window_height}+{x}+{y}") + +window.bind('', lambda event: change_direction('left')) +window.bind('', lambda event: change_direction('right')) +window.bind('', lambda event: change_direction('up')) +window.bind('', lambda event: change_direction('down')) + +snake = Snake() +food = Food() + +next_turn(snake, food) + +window.mainloop() \ No newline at end of file diff --git a/projects/Solver_linear_equations/README.md b/projects/Solver_linear_equations/README.md new file mode 100644 index 000000000..35c3a8601 --- /dev/null +++ b/projects/Solver_linear_equations/README.md @@ -0,0 +1,25 @@ +

    Solver linear equations

    + +

    Enter values through spaces for each of the three equations, return the solution and a 3D graph.

    + +

    Prerequisites

    +
      +
    • Numpy
    • +
    • Matplotlib
    • +
    + +

    Install prerequisites

    +
      +
    • pip install numpy
    • +
    • pip install matplotlib
    • +
    + +

    How to run the script

    +

    python3 linearEquations.py

    + +

    Screenshot of the script running

    + +![screenshot1](https://user-images.githubusercontent.com/76462037/141659586-13865df9-f853-4dd5-9bae-a2e32f9ec8ef.jpeg) +![screenshot2](https://user-images.githubusercontent.com/76462037/141659827-c4bd9b90-5f45-4eba-9f3c-f5b679c07c75.png) + +

    Author Name:

    Sergio-Torres diff --git a/projects/Solver_linear_equations/linearEquations.py b/projects/Solver_linear_equations/linearEquations.py new file mode 100644 index 000000000..cb0ec723d --- /dev/null +++ b/projects/Solver_linear_equations/linearEquations.py @@ -0,0 +1,44 @@ +import numpy as np +import matplotlib.pyplot as plt +from mpl_toolkits.mplot3d import Axes3D +from matplotlib import cm + +print('The 3 equations are entered individually, each value of the equation is entered separated by a space, for example: \ninput = 6 5 -3 4 \nThis will be equal to 6x + 5y- 3z = 4') + +print('Enter values for equation 1: ') +a, b, c, d = map(float, input().split()) + +print('Enter values for equation 2: ') +e, f, g, h = map(float, input().split()) + +print('Enter values for equation 3: ') +i, j, k, l = map(float, input().split()) +#solve the linear equation +A = np.array([[a,b,c],[e,f,g],[i,j,k]]) +b_a = np.array([d,h,l]) +sol = np.linalg.solve(A,b_a) +print(sol) + + +x,y = np.linspace(0,10,10), np.linspace(0,10,10) +X,Y = np.meshgrid(x,y) + +Z1 = (d-a*X-b*Y)/c +Z2 =(h-e*X-f*Y)/g +Z3 =(l+X-Y)/k + +#create 3d graphics + +fig = plt.figure() +ax = fig.add_subplot(111,projection='3d') +ax.plot_surface(X,Y,Z1,alpha=0.5,cmap=cm.Accent,rstride=100,cstride=100) +ax.plot_surface(X,Y,Z2,alpha=0.5,cmap=cm.Paired,rstride=100,cstride=100) +ax.plot_surface(X,Y,Z3,alpha=0.5,cmap=cm.Pastel1,rstride=100,cstride=100) +ax.plot((sol[0],),(sol[1],),(sol[2],),lw=2,c='k', marker='o', markersize=7, markeredgecolor='g', markerfacecolor='white') +ax.set_xlabel('X axis') +ax.set_ylabel('Y axis') +ax.set_zlabel('Z axis') + +plt.show() + + diff --git a/projects/Solver_linear_equations/screenshot1.jpeg b/projects/Solver_linear_equations/screenshot1.jpeg new file mode 100644 index 000000000..a73bdf75c Binary files /dev/null and b/projects/Solver_linear_equations/screenshot1.jpeg differ diff --git a/projects/Solver_linear_equations/screenshot2.png b/projects/Solver_linear_equations/screenshot2.png new file mode 100644 index 000000000..92ff7bcdf Binary files /dev/null and b/projects/Solver_linear_equations/screenshot2.png differ diff --git a/projects/Space_bullet_shooter_game/bg.wav b/projects/Space_bullet_shooter_game/bg.wav new file mode 100644 index 000000000..6a9dde99e Binary files /dev/null and b/projects/Space_bullet_shooter_game/bg.wav differ diff --git a/projects/Space_bullet_shooter_game/bullet.png b/projects/Space_bullet_shooter_game/bullet.png new file mode 100644 index 000000000..5f35d6528 Binary files /dev/null and b/projects/Space_bullet_shooter_game/bullet.png differ diff --git a/projects/Space_bullet_shooter_game/bulletout.wav b/projects/Space_bullet_shooter_game/bulletout.wav new file mode 100644 index 000000000..12a12b8b4 Binary files /dev/null and b/projects/Space_bullet_shooter_game/bulletout.wav differ diff --git a/projects/Space_bullet_shooter_game/bulletshoot.wav b/projects/Space_bullet_shooter_game/bulletshoot.wav new file mode 100644 index 000000000..d896ae60f Binary files /dev/null and b/projects/Space_bullet_shooter_game/bulletshoot.wav differ diff --git a/projects/Space_bullet_shooter_game/ens.png b/projects/Space_bullet_shooter_game/ens.png new file mode 100644 index 000000000..67fbaa10f Binary files /dev/null and b/projects/Space_bullet_shooter_game/ens.png differ diff --git a/projects/Space_bullet_shooter_game/icond.png b/projects/Space_bullet_shooter_game/icond.png new file mode 100644 index 000000000..73d3d00eb Binary files /dev/null and b/projects/Space_bullet_shooter_game/icond.png differ diff --git a/projects/Space_bullet_shooter_game/img2.png b/projects/Space_bullet_shooter_game/img2.png new file mode 100644 index 000000000..444cade1c Binary files /dev/null and b/projects/Space_bullet_shooter_game/img2.png differ diff --git a/projects/Space_bullet_shooter_game/pl4.png b/projects/Space_bullet_shooter_game/pl4.png new file mode 100644 index 000000000..62625b4b4 Binary files /dev/null and b/projects/Space_bullet_shooter_game/pl4.png differ diff --git a/projects/Space_bullet_shooter_game/readme.md b/projects/Space_bullet_shooter_game/readme.md new file mode 100644 index 000000000..0d7db7199 --- /dev/null +++ b/projects/Space_bullet_shooter_game/readme.md @@ -0,0 +1,8 @@ +## A Simple Space Bullet Shooter Game: +##### To be Played with a Computer. +* Arrows to move up and down and left and right. +* Enter to shoot a bullet. + + +### Example Game: +![Game](spacegame.png) diff --git a/projects/Space_bullet_shooter_game/sample.mp3 b/projects/Space_bullet_shooter_game/sample.mp3 new file mode 100644 index 000000000..852eb3186 Binary files /dev/null and b/projects/Space_bullet_shooter_game/sample.mp3 differ diff --git a/projects/Space_bullet_shooter_game/space_bullet_shooter.py b/projects/Space_bullet_shooter_game/space_bullet_shooter.py new file mode 100644 index 000000000..5bddbc2ef --- /dev/null +++ b/projects/Space_bullet_shooter_game/space_bullet_shooter.py @@ -0,0 +1,312 @@ +""" + @Author : TheKnight + Date : 6/09/2020 + + copyright © TheKight All Right Reserved + + + +""" + +import pygame +import random +import math +import time + +from pygame import mixer + + + + +pygame.init() + +clock = pygame.time.Clock() +# bg sound +mixer.music.load("bg.wav") +mixer.music.play(-1) + + +score_value = 0 + + +# setting the display +screen = pygame.display.set_mode((800,600)) + +# background +bg = pygame.image.load("img2.png") + +icon = pygame.image.load("icond.png") +pygame.display.set_caption("Space Bullet Shooter") +# display the icon +pygame.display.set_icon(icon) + + + + +# showing the bird imageo +playeimg = pygame.image.load("pl4.png") +playerx = 370 +playery = 460 + +playerx_change = 0 + +def player(x,y): + screen.blit(playeimg,(x,y)) + + + + + + + + # moving the playerimag + # for this we will use cordinate movement + # we will pass arugument to the function + + +# for enemy +enemyimg =[] +enemyX = [] +enemyY = [] +enemyX_change = [] +enemyY_change = [] + +number_of_enemy = 6 +for i in range(number_of_enemy): + + + enemyimg.append(pygame.image.load("ens.png")) + + enemyX.append(random.randint(0,736)) + enemyY.append(random.randint(50,150)) + enemyX_change.append(4) + enemyY_change.append(30) + + +# bullet +bulletimg = pygame.image.load("bullet.png") +bulletX = 0 +bulletY = 480 +bulletX_change = 0 +bulletY_change = 20 +bullet_state = "ready" +# function for enemy + +def enemy(x,y,i): + screen.blit(enemyimg[i],(x,y)) + + +# function for fire bullet + +def fire_bullet(x,y): + global bullet_state + bullet_state = "fire" + screen.blit(bulletimg,(x+53,y+10)) + + + +# checking if collision +def is_collision(enemyX,enemyY,playerx,playery): + + distance = math.sqrt((math.pow(enemyX-bulletX,2))+(math.pow(enemyY-bulletY,2))) + if distance < 27: + return True + + else: + return False + + + +# showing score + +font = pygame.font.Font("freesansbold.ttf",35) +score_cordinate_X = 10 +Score_cordinate_Y=10 +def showscore(x,y): + score = font.render("Score : " + str(score_value),True,(255,255,255)) + screen.blit(score,(x,y)) + + + +OVER = pygame.font.Font("freesansbold.ttf",60) +# game over +def game_over(): + over = OVER.render("GAME OVER " + ,True,(0,0,255)) + screen.blit(over,(250,250)) + + +final = pygame.font.Font("freesansbold.ttf",50) +def final_score(): + finalscore = final.render("Total Score : " +str(score_value) ,True,(0,255,0)) + screen.blit(finalscore,(280,350)) + + +author = pygame.font.Font("freesansbold.ttf",16) +# showing author name + +def author_name(): + subject = author.render("Copyright ©2020 TheKnight All Right Reseved By TheKnight " + ,True,(0,255,0)) + screen.blit(subject,(170,580)) + + +# game loop +running = True + +while running: + screen.fill((0,0,0)) + screen.blit(bg,(0,0)) + + + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + + # controlling the bird by arrow keys + + if event.type == pygame.KEYDOWN: + if event.key == pygame.K_LEFT: + playerx_change = -5 + + if event.key == pygame.K_RIGHT: + playerx_change = 5 + + if event.key == pygame.K_SPACE: + if bullet_state == "ready": + bulletX = playerx + bulletsound = mixer.Sound("bulletout.wav") + bulletsound.play() + + fire_bullet(bulletX,bulletY) + + + + if event.type == pygame.KEYUP: + if event.key == pygame.K_LEFT or event.key == pygame.K_LEFT: + playerx_change = 0 + + + + for i in range(number_of_enemy): + + # game over + if enemyY[i] >440: + + for j in range(number_of_enemy): + enemyY[j] =2000 + game_over() + time.sleep(2) + + final_score() + + break + + + + + + + enemyX[i] += enemyX_change[i] + if enemyX[i] <=0: + enemyX_change[i]= 4 + enemyY[i] += enemyY_change[i] + + elif enemyX[i]>=736: + enemyX_change[i] = -4 + enemyY[i] += enemyY_change[i] + + + # collision + + collision = is_collision(enemyX[i],enemyY[i],bulletX,bulletY) + if collision: + bulletsound = mixer.Sound("bulletshoot.wav") + bulletsound.play() + bulletY = 480 + bullet_state = "ready" + + score_value +=1 + + + enemyX[i] = random.randint(0,736) + enemyY[i] = random.randint(50,150) + + + enemy(enemyX[i],enemyY[i],i) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # checking boundries of spacechip + playerx+=playerx_change + + if playerx <=0: + playerx = 0 + elif playerx>=730: + playerx = 730 + + + + # playerx -=0.2 + # playery -=.2 + + + + # bullet movement + if bulletY <=0: + bulletY=480 + bullet_state = "ready" + if bullet_state == "fire": + fire_bullet(bulletX,bulletY) + bulletY -= bulletY_change + + player(playerx,playery) + showscore(score_cordinate_X,Score_cordinate_Y) + + author_name() + + + + + + + pygame.display.update() + diff --git a/projects/Space_bullet_shooter_game/spacegame.png b/projects/Space_bullet_shooter_game/spacegame.png new file mode 100644 index 000000000..3ee30fda5 Binary files /dev/null and b/projects/Space_bullet_shooter_game/spacegame.png differ diff --git a/projects/Speaking_Dictionary/README.md b/projects/Speaking_Dictionary/README.md new file mode 100644 index 000000000..ae9f9a912 --- /dev/null +++ b/projects/Speaking_Dictionary/README.md @@ -0,0 +1,19 @@ +# Speaking Dictionary +Speaking Dictionary is Python program that allows the user to find the meaning of English word by speaking it directly to the program(device). Then, the program(device) will directly explain the definition of the word out loud. + +### Prerequisites +pyttsx3: pip install pyttsx3 +PyDictionary: pip install PyDictionary +speech recognition: pip install SpeechRecognition +gTTS: pip install gtts + ++pip install pyaudio + +### How to run the script +SpeakingDictionary.py + +### Screenshot/GIF showing the sample use of the script +[SpeakingDictionary](https://user-images.githubusercontent.com/69775935/140873415-dc79bdd7-d36e-4ca5-ae6f-4da88837f5f0.png) + +### Author Name +Yaejin Lee : 19lyaejin, https://github.com.19lyaejin diff --git a/projects/Speaking_Dictionary/SpeakingDictionary.py b/projects/Speaking_Dictionary/SpeakingDictionary.py new file mode 100644 index 000000000..bea0c2e21 --- /dev/null +++ b/projects/Speaking_Dictionary/SpeakingDictionary.py @@ -0,0 +1,83 @@ +import pyttsx3 +from PyDictionary import PyDictionary +import speech_recognition as spr +from gtts import gTTS +import os + +#Speaking class +class Speak: + def SpeakWord(self, audio): + #Having initial constructor of pyttsx3 + pSpeakEngine= pyttsx3.init('sapi5') + pVoices= pSpeakEngine.getProperty('voices') + + #Speaking audio that got as parameter + pSpeakEngine.setProperty('voices', pVoices[0].id) + pSpeakEngine.say(audio) + pSpeakEngine.runAndWait() + +#Create Recognizer, Microphone instance +sRecog= spr.Recognizer() +sMic= spr.Microphone() + +#Capture voice from microphone +with sMic as source: + print("Speak 'Hello' to initiate Speaking Dictionary!") + print("----------------------------------------------") + + sRecog.adjust_for_ambient_noise(source, duration= .2) + rAudio= sRecog.listen(source) + + szHello= sRecog.recognize_google(rAudio, language= 'en-US') + szHello= szHello.lower() + +#If you said 'Hello', initialize the speaking dictionary +if 'hello' in szHello: + sSpeak= Speak() + pDict= PyDictionary() + + print("Which word do you want to find? Please speak slowly.") + sSpeak.SpeakWord("Which word do you want to find Please speak slowly") + + try: + sRecog2= spr.Recognizer() + sMic2= spr.Microphone() + + #Capture the word that the user want to find the meaning of + with sMic2 as source2: + sRecog2.adjust_for_ambient_noise(source2, duration= .2) + rAudio2= sRecog2.listen(source2) + + szInput= sRecog2.recognize_google(rAudio2, language= 'en-US') + + try: + #Make sure that the recognizer got the correct word + print("Did you said "+ szInput+ "? Please answer with yes or no.") + sSpeak.SpeakWord("Did you said "+ szInput+ "Please answer with yes or no") + + sRecog2.adjust_for_ambient_noise(source2, duration= .2) + rAudioYN= sRecog2.listen(source2) + + szYN= sRecog2.recognize_google(rAudioYN) + szYN= szYN.lower() + + #If the user said 'yes' (When the recognizer got the correct word) + if 'yes' in szYN: + szMeaning= pDict.meaning(szInput) + + print("The meaning is ", end="") + for i in szMeaning: + print(szMeaning[i]) + sSpeak.SpeakWord("The meaning is"+ str(szMeaning[i])) + + #When the recognizer got the wrong word + else: sSpeak.SpeakWord("I am sorry Please try again") + + #When the recognizer couldn't understand the answer(yes or no) + except spr.UnknownValueError: sSpeak.SpeakWord("Unable to understand the input Please try again") + except spr.RequestError as e: sSpeak.SpeakWord("Unable to provide required output") + + #When the recognizer couldn't understand the word + except spr.UnknownValueError: sSpeak.SpeakWord("Unable to understand the input Please try again") + except spr.RequestError as e: sSpeak.SpeakWord("Unable to provide required output") + diff --git a/projects/Speaking_Dictionary/requirements.txt b/projects/Speaking_Dictionary/requirements.txt new file mode 100644 index 000000000..3bd9a3a1a --- /dev/null +++ b/projects/Speaking_Dictionary/requirements.txt @@ -0,0 +1,8 @@ +# Speaking Dictionary Requirements +### prerequisites: pyttsx3, PyDictionary, speech_recognition, gTTS, pyaudio + +pyttsx3: pip install pyttsx3 +PyDictionary: pip install PyDictionary +speech_recognition: pip install SpeechRecognition +gTTS: pip install gtts +pyaudio: pip install pyaudio diff --git a/projects/Speed_Game/LICENSE b/projects/Speed_Game/LICENSE new file mode 100644 index 000000000..6d15a66d4 --- /dev/null +++ b/projects/Speed_Game/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 songyi Kim + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/projects/Speed_Game/README.md b/projects/Speed_Game/README.md new file mode 100644 index 000000000..0ba1981b9 --- /dev/null +++ b/projects/Speed_Game/README.md @@ -0,0 +1,38 @@ +# Speed_Game 🕑 + +▶ PLAY + +

    + speed_game_gif +

    + +## **Introduction 📝** + +The speed game is a game that guesses the capital of various countries within a given time. + +## **Getting Started 💻** + +There was a GUI difference between mac and window in the tkinter module, so the folder was divided. + +1. install packages. +```shell +pip install -r requirements.txt +``` +2. go to directory what suits your OS. +3. run main.py + +## **How to Contribute 🌈** + +we love pull requests from everyone!❤️‍🔥 +You can contribute by adding new game category, improving current game. + +Here is a quick quide to doing code contributions. + +1. Find some issue you're interested in, or add a new category that enables speed games. Also make sure that no one else is already working on it. +2. If so, send an issue whether it is okay to fix this problem. We will answer whether it is acceptable or not. +3. Fork, then clone `https://github.com/songyi00/Speed_Game.git` +4. Create a branch with a meaningful name for the issue. +5. Make your changes and push your branch. +6. Submit a Pull Request. +7. Wait a maintainer to review your PR, make changes if it's beigin recommended, and get it merged. +8. Congraturations!🎉 diff --git a/.DS_Store b/projects/Speed_Game/macOS/.DS_Store similarity index 69% rename from .DS_Store rename to projects/Speed_Game/macOS/.DS_Store index 92c27e144..5008ddfcf 100644 Binary files a/.DS_Store and b/projects/Speed_Game/macOS/.DS_Store differ diff --git a/projects/Speed_Game/macOS/CountryCodeData.xlsx b/projects/Speed_Game/macOS/CountryCodeData.xlsx new file mode 100644 index 000000000..6f9f8b786 Binary files /dev/null and b/projects/Speed_Game/macOS/CountryCodeData.xlsx differ diff --git a/projects/Speed_Game/macOS/SpeedGameBgm.mp3 b/projects/Speed_Game/macOS/SpeedGameBgm.mp3 new file mode 100644 index 000000000..1644ebaab Binary files /dev/null and b/projects/Speed_Game/macOS/SpeedGameBgm.mp3 differ diff --git a/projects/Speed_Game/macOS/correct.png b/projects/Speed_Game/macOS/correct.png new file mode 100644 index 000000000..faf20d508 Binary files /dev/null and b/projects/Speed_Game/macOS/correct.png differ diff --git a/projects/Speed_Game/macOS/halloween.png b/projects/Speed_Game/macOS/halloween.png new file mode 100644 index 000000000..8f395dd01 Binary files /dev/null and b/projects/Speed_Game/macOS/halloween.png differ diff --git a/projects/Speed_Game/macOS/images/.DS_Store b/projects/Speed_Game/macOS/images/.DS_Store new file mode 100644 index 000000000..5008ddfcf Binary files /dev/null and b/projects/Speed_Game/macOS/images/.DS_Store differ diff --git a/projects/Speed_Game/macOS/images/ad.png b/projects/Speed_Game/macOS/images/ad.png new file mode 100644 index 000000000..c0656421c Binary files /dev/null and b/projects/Speed_Game/macOS/images/ad.png differ diff --git a/projects/Speed_Game/macOS/images/ae.png b/projects/Speed_Game/macOS/images/ae.png new file mode 100644 index 000000000..256597d6f Binary files /dev/null and b/projects/Speed_Game/macOS/images/ae.png differ diff --git a/projects/Speed_Game/macOS/images/af.png b/projects/Speed_Game/macOS/images/af.png new file mode 100644 index 000000000..45586b8ad Binary files /dev/null and b/projects/Speed_Game/macOS/images/af.png differ diff --git a/projects/Speed_Game/macOS/images/ag.png b/projects/Speed_Game/macOS/images/ag.png new file mode 100644 index 000000000..0a9a562bf Binary files /dev/null and b/projects/Speed_Game/macOS/images/ag.png differ diff --git a/projects/Speed_Game/macOS/images/ai.png b/projects/Speed_Game/macOS/images/ai.png new file mode 100644 index 000000000..3af01534b Binary files /dev/null and b/projects/Speed_Game/macOS/images/ai.png differ diff --git a/projects/Speed_Game/macOS/images/al.png b/projects/Speed_Game/macOS/images/al.png new file mode 100644 index 000000000..11b394875 Binary files /dev/null and b/projects/Speed_Game/macOS/images/al.png differ diff --git a/projects/Speed_Game/macOS/images/am.png b/projects/Speed_Game/macOS/images/am.png new file mode 100644 index 000000000..5dca3170c Binary files /dev/null and b/projects/Speed_Game/macOS/images/am.png differ diff --git a/projects/Speed_Game/macOS/images/ao.png b/projects/Speed_Game/macOS/images/ao.png new file mode 100644 index 000000000..97c970700 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ao.png differ diff --git a/projects/Speed_Game/macOS/images/aq.png b/projects/Speed_Game/macOS/images/aq.png new file mode 100644 index 000000000..b08f70681 Binary files /dev/null and b/projects/Speed_Game/macOS/images/aq.png differ diff --git a/projects/Speed_Game/macOS/images/ar.png b/projects/Speed_Game/macOS/images/ar.png new file mode 100644 index 000000000..558cb97a3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ar.png differ diff --git a/projects/Speed_Game/macOS/images/as.png b/projects/Speed_Game/macOS/images/as.png new file mode 100644 index 000000000..2b8a82d79 Binary files /dev/null and b/projects/Speed_Game/macOS/images/as.png differ diff --git a/projects/Speed_Game/macOS/images/at.png b/projects/Speed_Game/macOS/images/at.png new file mode 100644 index 000000000..60a7c7b32 Binary files /dev/null and b/projects/Speed_Game/macOS/images/at.png differ diff --git a/projects/Speed_Game/macOS/images/au.png b/projects/Speed_Game/macOS/images/au.png new file mode 100644 index 000000000..b40a2963c Binary files /dev/null and b/projects/Speed_Game/macOS/images/au.png differ diff --git a/projects/Speed_Game/macOS/images/aw.png b/projects/Speed_Game/macOS/images/aw.png new file mode 100644 index 000000000..05a152767 Binary files /dev/null and b/projects/Speed_Game/macOS/images/aw.png differ diff --git a/projects/Speed_Game/macOS/images/ax.png b/projects/Speed_Game/macOS/images/ax.png new file mode 100644 index 000000000..7b0887a97 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ax.png differ diff --git a/projects/Speed_Game/macOS/images/az.png b/projects/Speed_Game/macOS/images/az.png new file mode 100644 index 000000000..ca8a381e3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/az.png differ diff --git a/projects/Speed_Game/macOS/images/ba.png b/projects/Speed_Game/macOS/images/ba.png new file mode 100644 index 000000000..58968e4da Binary files /dev/null and b/projects/Speed_Game/macOS/images/ba.png differ diff --git a/projects/Speed_Game/macOS/images/bb.png b/projects/Speed_Game/macOS/images/bb.png new file mode 100644 index 000000000..6053834fc Binary files /dev/null and b/projects/Speed_Game/macOS/images/bb.png differ diff --git a/projects/Speed_Game/macOS/images/bd.png b/projects/Speed_Game/macOS/images/bd.png new file mode 100644 index 000000000..fc18a2e1a Binary files /dev/null and b/projects/Speed_Game/macOS/images/bd.png differ diff --git a/projects/Speed_Game/macOS/images/be.png b/projects/Speed_Game/macOS/images/be.png new file mode 100644 index 000000000..c95afa677 Binary files /dev/null and b/projects/Speed_Game/macOS/images/be.png differ diff --git a/projects/Speed_Game/macOS/images/bf.png b/projects/Speed_Game/macOS/images/bf.png new file mode 100644 index 000000000..669d53fe8 Binary files /dev/null and b/projects/Speed_Game/macOS/images/bf.png differ diff --git a/projects/Speed_Game/macOS/images/bg.png b/projects/Speed_Game/macOS/images/bg.png new file mode 100644 index 000000000..88bbcaebd Binary files /dev/null and b/projects/Speed_Game/macOS/images/bg.png differ diff --git a/projects/Speed_Game/macOS/images/bh.png b/projects/Speed_Game/macOS/images/bh.png new file mode 100644 index 000000000..3fb7de48b Binary files /dev/null and b/projects/Speed_Game/macOS/images/bh.png differ diff --git a/projects/Speed_Game/macOS/images/bi.png b/projects/Speed_Game/macOS/images/bi.png new file mode 100644 index 000000000..9e83202d7 Binary files /dev/null and b/projects/Speed_Game/macOS/images/bi.png differ diff --git a/projects/Speed_Game/macOS/images/bj.png b/projects/Speed_Game/macOS/images/bj.png new file mode 100644 index 000000000..7761839bf Binary files /dev/null and b/projects/Speed_Game/macOS/images/bj.png differ diff --git a/projects/Speed_Game/macOS/images/bl.png b/projects/Speed_Game/macOS/images/bl.png new file mode 100644 index 000000000..46737bb57 Binary files /dev/null and b/projects/Speed_Game/macOS/images/bl.png differ diff --git a/projects/Speed_Game/macOS/images/bm.png b/projects/Speed_Game/macOS/images/bm.png new file mode 100644 index 000000000..48793b50e Binary files /dev/null and b/projects/Speed_Game/macOS/images/bm.png differ diff --git a/projects/Speed_Game/macOS/images/bn.png b/projects/Speed_Game/macOS/images/bn.png new file mode 100644 index 000000000..1cd991cca Binary files /dev/null and b/projects/Speed_Game/macOS/images/bn.png differ diff --git a/projects/Speed_Game/macOS/images/bo.png b/projects/Speed_Game/macOS/images/bo.png new file mode 100644 index 000000000..0a5b8025c Binary files /dev/null and b/projects/Speed_Game/macOS/images/bo.png differ diff --git a/projects/Speed_Game/macOS/images/bq.png b/projects/Speed_Game/macOS/images/bq.png new file mode 100644 index 000000000..957ab7a99 Binary files /dev/null and b/projects/Speed_Game/macOS/images/bq.png differ diff --git a/projects/Speed_Game/macOS/images/br.png b/projects/Speed_Game/macOS/images/br.png new file mode 100644 index 000000000..1dba51c07 Binary files /dev/null and b/projects/Speed_Game/macOS/images/br.png differ diff --git a/projects/Speed_Game/macOS/images/bs.png b/projects/Speed_Game/macOS/images/bs.png new file mode 100644 index 000000000..36d87627e Binary files /dev/null and b/projects/Speed_Game/macOS/images/bs.png differ diff --git a/projects/Speed_Game/macOS/images/bt.png b/projects/Speed_Game/macOS/images/bt.png new file mode 100644 index 000000000..9590b30c1 Binary files /dev/null and b/projects/Speed_Game/macOS/images/bt.png differ diff --git a/projects/Speed_Game/macOS/images/bv.png b/projects/Speed_Game/macOS/images/bv.png new file mode 100644 index 000000000..db3d73415 Binary files /dev/null and b/projects/Speed_Game/macOS/images/bv.png differ diff --git a/projects/Speed_Game/macOS/images/bw.png b/projects/Speed_Game/macOS/images/bw.png new file mode 100644 index 000000000..3e59fd3c0 Binary files /dev/null and b/projects/Speed_Game/macOS/images/bw.png differ diff --git a/projects/Speed_Game/macOS/images/by.png b/projects/Speed_Game/macOS/images/by.png new file mode 100644 index 000000000..e2cf5ee10 Binary files /dev/null and b/projects/Speed_Game/macOS/images/by.png differ diff --git a/projects/Speed_Game/macOS/images/bz.png b/projects/Speed_Game/macOS/images/bz.png new file mode 100644 index 000000000..2f6992999 Binary files /dev/null and b/projects/Speed_Game/macOS/images/bz.png differ diff --git a/projects/Speed_Game/macOS/images/ca.png b/projects/Speed_Game/macOS/images/ca.png new file mode 100644 index 000000000..e0c6b6a72 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ca.png differ diff --git a/projects/Speed_Game/macOS/images/cc.png b/projects/Speed_Game/macOS/images/cc.png new file mode 100644 index 000000000..72f7f82c0 Binary files /dev/null and b/projects/Speed_Game/macOS/images/cc.png differ diff --git a/projects/Speed_Game/macOS/images/cd.png b/projects/Speed_Game/macOS/images/cd.png new file mode 100644 index 000000000..d91e8b269 Binary files /dev/null and b/projects/Speed_Game/macOS/images/cd.png differ diff --git a/projects/Speed_Game/macOS/images/cf.png b/projects/Speed_Game/macOS/images/cf.png new file mode 100644 index 000000000..3679edc15 Binary files /dev/null and b/projects/Speed_Game/macOS/images/cf.png differ diff --git a/projects/Speed_Game/macOS/images/cg.png b/projects/Speed_Game/macOS/images/cg.png new file mode 100644 index 000000000..8cf4d97a5 Binary files /dev/null and b/projects/Speed_Game/macOS/images/cg.png differ diff --git a/projects/Speed_Game/macOS/images/ch.png b/projects/Speed_Game/macOS/images/ch.png new file mode 100644 index 000000000..3358a3322 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ch.png differ diff --git a/projects/Speed_Game/macOS/images/ci.png b/projects/Speed_Game/macOS/images/ci.png new file mode 100644 index 000000000..7f16b10b5 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ci.png differ diff --git a/projects/Speed_Game/macOS/images/ck.png b/projects/Speed_Game/macOS/images/ck.png new file mode 100644 index 000000000..5a1f5725b Binary files /dev/null and b/projects/Speed_Game/macOS/images/ck.png differ diff --git a/projects/Speed_Game/macOS/images/cl.png b/projects/Speed_Game/macOS/images/cl.png new file mode 100644 index 000000000..2e1f15990 Binary files /dev/null and b/projects/Speed_Game/macOS/images/cl.png differ diff --git a/projects/Speed_Game/macOS/images/cm.png b/projects/Speed_Game/macOS/images/cm.png new file mode 100644 index 000000000..46f2ba974 Binary files /dev/null and b/projects/Speed_Game/macOS/images/cm.png differ diff --git a/projects/Speed_Game/macOS/images/cn.png b/projects/Speed_Game/macOS/images/cn.png new file mode 100644 index 000000000..649a67e7f Binary files /dev/null and b/projects/Speed_Game/macOS/images/cn.png differ diff --git a/projects/Speed_Game/macOS/images/co.png b/projects/Speed_Game/macOS/images/co.png new file mode 100644 index 000000000..09c669012 Binary files /dev/null and b/projects/Speed_Game/macOS/images/co.png differ diff --git a/projects/Speed_Game/macOS/images/cr.png b/projects/Speed_Game/macOS/images/cr.png new file mode 100644 index 000000000..45d4f2add Binary files /dev/null and b/projects/Speed_Game/macOS/images/cr.png differ diff --git a/projects/Speed_Game/macOS/images/cu.png b/projects/Speed_Game/macOS/images/cu.png new file mode 100644 index 000000000..911ce8f48 Binary files /dev/null and b/projects/Speed_Game/macOS/images/cu.png differ diff --git a/projects/Speed_Game/macOS/images/cv.png b/projects/Speed_Game/macOS/images/cv.png new file mode 100644 index 000000000..91bd31794 Binary files /dev/null and b/projects/Speed_Game/macOS/images/cv.png differ diff --git a/projects/Speed_Game/macOS/images/cw.png b/projects/Speed_Game/macOS/images/cw.png new file mode 100644 index 000000000..48b1830b3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/cw.png differ diff --git a/projects/Speed_Game/macOS/images/cx.png b/projects/Speed_Game/macOS/images/cx.png new file mode 100644 index 000000000..6e792ad9f Binary files /dev/null and b/projects/Speed_Game/macOS/images/cx.png differ diff --git a/projects/Speed_Game/macOS/images/cy.png b/projects/Speed_Game/macOS/images/cy.png new file mode 100644 index 000000000..04415b396 Binary files /dev/null and b/projects/Speed_Game/macOS/images/cy.png differ diff --git a/projects/Speed_Game/macOS/images/cz.png b/projects/Speed_Game/macOS/images/cz.png new file mode 100644 index 000000000..52b89d7bc Binary files /dev/null and b/projects/Speed_Game/macOS/images/cz.png differ diff --git a/projects/Speed_Game/macOS/images/de.png b/projects/Speed_Game/macOS/images/de.png new file mode 100644 index 000000000..99ccd352d Binary files /dev/null and b/projects/Speed_Game/macOS/images/de.png differ diff --git a/projects/Speed_Game/macOS/images/dj.png b/projects/Speed_Game/macOS/images/dj.png new file mode 100644 index 000000000..1b5f04d52 Binary files /dev/null and b/projects/Speed_Game/macOS/images/dj.png differ diff --git a/projects/Speed_Game/macOS/images/dk.png b/projects/Speed_Game/macOS/images/dk.png new file mode 100644 index 000000000..07b090211 Binary files /dev/null and b/projects/Speed_Game/macOS/images/dk.png differ diff --git a/projects/Speed_Game/macOS/images/dm.png b/projects/Speed_Game/macOS/images/dm.png new file mode 100644 index 000000000..53eeb96ea Binary files /dev/null and b/projects/Speed_Game/macOS/images/dm.png differ diff --git a/projects/Speed_Game/macOS/images/do.png b/projects/Speed_Game/macOS/images/do.png new file mode 100644 index 000000000..d57e3a82a Binary files /dev/null and b/projects/Speed_Game/macOS/images/do.png differ diff --git a/projects/Speed_Game/macOS/images/dz.png b/projects/Speed_Game/macOS/images/dz.png new file mode 100644 index 000000000..1a53178af Binary files /dev/null and b/projects/Speed_Game/macOS/images/dz.png differ diff --git a/projects/Speed_Game/macOS/images/ec.png b/projects/Speed_Game/macOS/images/ec.png new file mode 100644 index 000000000..4ef8468c4 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ec.png differ diff --git a/projects/Speed_Game/macOS/images/ee.png b/projects/Speed_Game/macOS/images/ee.png new file mode 100644 index 000000000..94cc351ee Binary files /dev/null and b/projects/Speed_Game/macOS/images/ee.png differ diff --git a/projects/Speed_Game/macOS/images/eg.png b/projects/Speed_Game/macOS/images/eg.png new file mode 100644 index 000000000..a50c693f3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/eg.png differ diff --git a/projects/Speed_Game/macOS/images/eh.png b/projects/Speed_Game/macOS/images/eh.png new file mode 100644 index 000000000..466b34430 Binary files /dev/null and b/projects/Speed_Game/macOS/images/eh.png differ diff --git a/projects/Speed_Game/macOS/images/er.png b/projects/Speed_Game/macOS/images/er.png new file mode 100644 index 000000000..8dd05a1ed Binary files /dev/null and b/projects/Speed_Game/macOS/images/er.png differ diff --git a/projects/Speed_Game/macOS/images/es.png b/projects/Speed_Game/macOS/images/es.png new file mode 100644 index 000000000..80693e710 Binary files /dev/null and b/projects/Speed_Game/macOS/images/es.png differ diff --git a/projects/Speed_Game/macOS/images/et.png b/projects/Speed_Game/macOS/images/et.png new file mode 100644 index 000000000..2b585fcff Binary files /dev/null and b/projects/Speed_Game/macOS/images/et.png differ diff --git a/projects/Speed_Game/macOS/images/fi.png b/projects/Speed_Game/macOS/images/fi.png new file mode 100644 index 000000000..f0739d20b Binary files /dev/null and b/projects/Speed_Game/macOS/images/fi.png differ diff --git a/projects/Speed_Game/macOS/images/fj.png b/projects/Speed_Game/macOS/images/fj.png new file mode 100644 index 000000000..6b3425818 Binary files /dev/null and b/projects/Speed_Game/macOS/images/fj.png differ diff --git a/projects/Speed_Game/macOS/images/fk.png b/projects/Speed_Game/macOS/images/fk.png new file mode 100644 index 000000000..5094ab197 Binary files /dev/null and b/projects/Speed_Game/macOS/images/fk.png differ diff --git a/projects/Speed_Game/macOS/images/fm.png b/projects/Speed_Game/macOS/images/fm.png new file mode 100644 index 000000000..41e911a98 Binary files /dev/null and b/projects/Speed_Game/macOS/images/fm.png differ diff --git a/projects/Speed_Game/macOS/images/fo.png b/projects/Speed_Game/macOS/images/fo.png new file mode 100644 index 000000000..48eff3417 Binary files /dev/null and b/projects/Speed_Game/macOS/images/fo.png differ diff --git a/projects/Speed_Game/macOS/images/fr.png b/projects/Speed_Game/macOS/images/fr.png new file mode 100644 index 000000000..d5f30b427 Binary files /dev/null and b/projects/Speed_Game/macOS/images/fr.png differ diff --git a/projects/Speed_Game/macOS/images/ga.png b/projects/Speed_Game/macOS/images/ga.png new file mode 100644 index 000000000..0e8ed5218 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ga.png differ diff --git a/projects/Speed_Game/macOS/images/gb-eng.png b/projects/Speed_Game/macOS/images/gb-eng.png new file mode 100644 index 000000000..f6aeda130 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gb-eng.png differ diff --git a/projects/Speed_Game/macOS/images/gb-nir.png b/projects/Speed_Game/macOS/images/gb-nir.png new file mode 100644 index 000000000..1de5843c6 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gb-nir.png differ diff --git a/projects/Speed_Game/macOS/images/gb-sct.png b/projects/Speed_Game/macOS/images/gb-sct.png new file mode 100644 index 000000000..0cff8df3c Binary files /dev/null and b/projects/Speed_Game/macOS/images/gb-sct.png differ diff --git a/projects/Speed_Game/macOS/images/gb-wls.png b/projects/Speed_Game/macOS/images/gb-wls.png new file mode 100644 index 000000000..a1343ac46 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gb-wls.png differ diff --git a/projects/Speed_Game/macOS/images/gb.png b/projects/Speed_Game/macOS/images/gb.png new file mode 100644 index 000000000..3188a24c2 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gb.png differ diff --git a/projects/Speed_Game/macOS/images/gd.png b/projects/Speed_Game/macOS/images/gd.png new file mode 100644 index 000000000..e96883363 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gd.png differ diff --git a/projects/Speed_Game/macOS/images/ge.png b/projects/Speed_Game/macOS/images/ge.png new file mode 100644 index 000000000..262ac5e09 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ge.png differ diff --git a/projects/Speed_Game/macOS/images/gf.png b/projects/Speed_Game/macOS/images/gf.png new file mode 100644 index 000000000..0dd8f9010 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gf.png differ diff --git a/projects/Speed_Game/macOS/images/gg.png b/projects/Speed_Game/macOS/images/gg.png new file mode 100644 index 000000000..b2146712b Binary files /dev/null and b/projects/Speed_Game/macOS/images/gg.png differ diff --git a/projects/Speed_Game/macOS/images/gh.png b/projects/Speed_Game/macOS/images/gh.png new file mode 100644 index 000000000..7fdf73af0 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gh.png differ diff --git a/projects/Speed_Game/macOS/images/gi.png b/projects/Speed_Game/macOS/images/gi.png new file mode 100644 index 000000000..eb06888b0 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gi.png differ diff --git a/projects/Speed_Game/macOS/images/gl.png b/projects/Speed_Game/macOS/images/gl.png new file mode 100644 index 000000000..c9e75102b Binary files /dev/null and b/projects/Speed_Game/macOS/images/gl.png differ diff --git a/projects/Speed_Game/macOS/images/gm.png b/projects/Speed_Game/macOS/images/gm.png new file mode 100644 index 000000000..9b1008078 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gm.png differ diff --git a/projects/Speed_Game/macOS/images/gn.png b/projects/Speed_Game/macOS/images/gn.png new file mode 100644 index 000000000..e54ecfeb5 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gn.png differ diff --git a/projects/Speed_Game/macOS/images/gp.png b/projects/Speed_Game/macOS/images/gp.png new file mode 100644 index 000000000..c2d8120f1 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gp.png differ diff --git a/projects/Speed_Game/macOS/images/gq.png b/projects/Speed_Game/macOS/images/gq.png new file mode 100644 index 000000000..f8e8d7023 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gq.png differ diff --git a/projects/Speed_Game/macOS/images/gr.png b/projects/Speed_Game/macOS/images/gr.png new file mode 100644 index 000000000..71690ad85 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gr.png differ diff --git a/projects/Speed_Game/macOS/images/gs 2.png b/projects/Speed_Game/macOS/images/gs 2.png new file mode 100644 index 000000000..4e5e94550 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gs 2.png differ diff --git a/projects/Speed_Game/macOS/images/gs.png b/projects/Speed_Game/macOS/images/gs.png new file mode 100644 index 000000000..4e5e94550 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gs.png differ diff --git a/projects/Speed_Game/macOS/images/gt 2.png b/projects/Speed_Game/macOS/images/gt 2.png new file mode 100644 index 000000000..e99752148 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gt 2.png differ diff --git a/projects/Speed_Game/macOS/images/gt.png b/projects/Speed_Game/macOS/images/gt.png new file mode 100644 index 000000000..e99752148 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gt.png differ diff --git a/projects/Speed_Game/macOS/images/gu 2.png b/projects/Speed_Game/macOS/images/gu 2.png new file mode 100644 index 000000000..36cf14c37 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gu 2.png differ diff --git a/projects/Speed_Game/macOS/images/gu.png b/projects/Speed_Game/macOS/images/gu.png new file mode 100644 index 000000000..36cf14c37 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gu.png differ diff --git a/projects/Speed_Game/macOS/images/gw 2.png b/projects/Speed_Game/macOS/images/gw 2.png new file mode 100644 index 000000000..2a5f1a0f2 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gw 2.png differ diff --git a/projects/Speed_Game/macOS/images/gw.png b/projects/Speed_Game/macOS/images/gw.png new file mode 100644 index 000000000..2a5f1a0f2 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gw.png differ diff --git a/projects/Speed_Game/macOS/images/gy 2.png b/projects/Speed_Game/macOS/images/gy 2.png new file mode 100644 index 000000000..89f291916 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gy 2.png differ diff --git a/projects/Speed_Game/macOS/images/gy.png b/projects/Speed_Game/macOS/images/gy.png new file mode 100644 index 000000000..89f291916 Binary files /dev/null and b/projects/Speed_Game/macOS/images/gy.png differ diff --git a/projects/Speed_Game/macOS/images/hk 2.png b/projects/Speed_Game/macOS/images/hk 2.png new file mode 100644 index 000000000..c15c3cdf3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/hk 2.png differ diff --git a/projects/Speed_Game/macOS/images/hk.png b/projects/Speed_Game/macOS/images/hk.png new file mode 100644 index 000000000..c15c3cdf3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/hk.png differ diff --git a/projects/Speed_Game/macOS/images/hm 2.png b/projects/Speed_Game/macOS/images/hm 2.png new file mode 100644 index 000000000..b33d7359a Binary files /dev/null and b/projects/Speed_Game/macOS/images/hm 2.png differ diff --git a/projects/Speed_Game/macOS/images/hm.png b/projects/Speed_Game/macOS/images/hm.png new file mode 100644 index 000000000..b33d7359a Binary files /dev/null and b/projects/Speed_Game/macOS/images/hm.png differ diff --git a/projects/Speed_Game/macOS/images/hn 2.png b/projects/Speed_Game/macOS/images/hn 2.png new file mode 100644 index 000000000..916405502 Binary files /dev/null and b/projects/Speed_Game/macOS/images/hn 2.png differ diff --git a/projects/Speed_Game/macOS/images/hn.png b/projects/Speed_Game/macOS/images/hn.png new file mode 100644 index 000000000..916405502 Binary files /dev/null and b/projects/Speed_Game/macOS/images/hn.png differ diff --git a/projects/Speed_Game/macOS/images/hr 2.png b/projects/Speed_Game/macOS/images/hr 2.png new file mode 100644 index 000000000..e9718875a Binary files /dev/null and b/projects/Speed_Game/macOS/images/hr 2.png differ diff --git a/projects/Speed_Game/macOS/images/hr.png b/projects/Speed_Game/macOS/images/hr.png new file mode 100644 index 000000000..e9718875a Binary files /dev/null and b/projects/Speed_Game/macOS/images/hr.png differ diff --git a/projects/Speed_Game/macOS/images/ht 2.png b/projects/Speed_Game/macOS/images/ht 2.png new file mode 100644 index 000000000..10742d121 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ht 2.png differ diff --git a/projects/Speed_Game/macOS/images/ht.png b/projects/Speed_Game/macOS/images/ht.png new file mode 100644 index 000000000..10742d121 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ht.png differ diff --git a/projects/Speed_Game/macOS/images/hu 2.png b/projects/Speed_Game/macOS/images/hu 2.png new file mode 100644 index 000000000..744824cfd Binary files /dev/null and b/projects/Speed_Game/macOS/images/hu 2.png differ diff --git a/projects/Speed_Game/macOS/images/hu.png b/projects/Speed_Game/macOS/images/hu.png new file mode 100644 index 000000000..744824cfd Binary files /dev/null and b/projects/Speed_Game/macOS/images/hu.png differ diff --git a/projects/Speed_Game/macOS/images/id 2.png b/projects/Speed_Game/macOS/images/id 2.png new file mode 100644 index 000000000..2085f328b Binary files /dev/null and b/projects/Speed_Game/macOS/images/id 2.png differ diff --git a/projects/Speed_Game/macOS/images/id.png b/projects/Speed_Game/macOS/images/id.png new file mode 100644 index 000000000..2085f328b Binary files /dev/null and b/projects/Speed_Game/macOS/images/id.png differ diff --git a/projects/Speed_Game/macOS/images/ie 2.png b/projects/Speed_Game/macOS/images/ie 2.png new file mode 100644 index 000000000..4af13c97e Binary files /dev/null and b/projects/Speed_Game/macOS/images/ie 2.png differ diff --git a/projects/Speed_Game/macOS/images/ie.png b/projects/Speed_Game/macOS/images/ie.png new file mode 100644 index 000000000..4af13c97e Binary files /dev/null and b/projects/Speed_Game/macOS/images/ie.png differ diff --git a/projects/Speed_Game/macOS/images/il 2.png b/projects/Speed_Game/macOS/images/il 2.png new file mode 100644 index 000000000..852e65640 Binary files /dev/null and b/projects/Speed_Game/macOS/images/il 2.png differ diff --git a/projects/Speed_Game/macOS/images/il.png b/projects/Speed_Game/macOS/images/il.png new file mode 100644 index 000000000..852e65640 Binary files /dev/null and b/projects/Speed_Game/macOS/images/il.png differ diff --git a/projects/Speed_Game/macOS/images/im 2.png b/projects/Speed_Game/macOS/images/im 2.png new file mode 100644 index 000000000..59cc34a36 Binary files /dev/null and b/projects/Speed_Game/macOS/images/im 2.png differ diff --git a/projects/Speed_Game/macOS/images/im.png b/projects/Speed_Game/macOS/images/im.png new file mode 100644 index 000000000..59cc34a36 Binary files /dev/null and b/projects/Speed_Game/macOS/images/im.png differ diff --git a/projects/Speed_Game/macOS/images/in 2.png b/projects/Speed_Game/macOS/images/in 2.png new file mode 100644 index 000000000..46b99add9 Binary files /dev/null and b/projects/Speed_Game/macOS/images/in 2.png differ diff --git a/projects/Speed_Game/macOS/images/in.png b/projects/Speed_Game/macOS/images/in.png new file mode 100644 index 000000000..46b99add9 Binary files /dev/null and b/projects/Speed_Game/macOS/images/in.png differ diff --git a/projects/Speed_Game/macOS/images/io 2.png b/projects/Speed_Game/macOS/images/io 2.png new file mode 100644 index 000000000..97fc903d7 Binary files /dev/null and b/projects/Speed_Game/macOS/images/io 2.png differ diff --git a/projects/Speed_Game/macOS/images/io.png b/projects/Speed_Game/macOS/images/io.png new file mode 100644 index 000000000..97fc903d7 Binary files /dev/null and b/projects/Speed_Game/macOS/images/io.png differ diff --git a/projects/Speed_Game/macOS/images/iq 2.png b/projects/Speed_Game/macOS/images/iq 2.png new file mode 100644 index 000000000..0b57fd4b3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/iq 2.png differ diff --git a/projects/Speed_Game/macOS/images/iq.png b/projects/Speed_Game/macOS/images/iq.png new file mode 100644 index 000000000..0b57fd4b3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/iq.png differ diff --git a/projects/Speed_Game/macOS/images/ir 2.png b/projects/Speed_Game/macOS/images/ir 2.png new file mode 100644 index 000000000..b9dacb07d Binary files /dev/null and b/projects/Speed_Game/macOS/images/ir 2.png differ diff --git a/projects/Speed_Game/macOS/images/ir.png b/projects/Speed_Game/macOS/images/ir.png new file mode 100644 index 000000000..b9dacb07d Binary files /dev/null and b/projects/Speed_Game/macOS/images/ir.png differ diff --git a/projects/Speed_Game/macOS/images/is 2.png b/projects/Speed_Game/macOS/images/is 2.png new file mode 100644 index 000000000..2f2523798 Binary files /dev/null and b/projects/Speed_Game/macOS/images/is 2.png differ diff --git a/projects/Speed_Game/macOS/images/is.png b/projects/Speed_Game/macOS/images/is.png new file mode 100644 index 000000000..2f2523798 Binary files /dev/null and b/projects/Speed_Game/macOS/images/is.png differ diff --git a/projects/Speed_Game/macOS/images/it 2.png b/projects/Speed_Game/macOS/images/it 2.png new file mode 100644 index 000000000..2abfc6b2e Binary files /dev/null and b/projects/Speed_Game/macOS/images/it 2.png differ diff --git a/projects/Speed_Game/macOS/images/it.png b/projects/Speed_Game/macOS/images/it.png new file mode 100644 index 000000000..2abfc6b2e Binary files /dev/null and b/projects/Speed_Game/macOS/images/it.png differ diff --git a/projects/Speed_Game/macOS/images/je 2.png b/projects/Speed_Game/macOS/images/je 2.png new file mode 100644 index 000000000..910212a6e Binary files /dev/null and b/projects/Speed_Game/macOS/images/je 2.png differ diff --git a/projects/Speed_Game/macOS/images/je.png b/projects/Speed_Game/macOS/images/je.png new file mode 100644 index 000000000..910212a6e Binary files /dev/null and b/projects/Speed_Game/macOS/images/je.png differ diff --git a/projects/Speed_Game/macOS/images/jm 2.png b/projects/Speed_Game/macOS/images/jm 2.png new file mode 100644 index 000000000..63736421f Binary files /dev/null and b/projects/Speed_Game/macOS/images/jm 2.png differ diff --git a/projects/Speed_Game/macOS/images/jm.png b/projects/Speed_Game/macOS/images/jm.png new file mode 100644 index 000000000..63736421f Binary files /dev/null and b/projects/Speed_Game/macOS/images/jm.png differ diff --git a/projects/Speed_Game/macOS/images/jo 2.png b/projects/Speed_Game/macOS/images/jo 2.png new file mode 100644 index 000000000..08da5d7c3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/jo 2.png differ diff --git a/projects/Speed_Game/macOS/images/jo.png b/projects/Speed_Game/macOS/images/jo.png new file mode 100644 index 000000000..08da5d7c3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/jo.png differ diff --git a/projects/Speed_Game/macOS/images/jp 2.png b/projects/Speed_Game/macOS/images/jp 2.png new file mode 100644 index 000000000..1f9badaf1 Binary files /dev/null and b/projects/Speed_Game/macOS/images/jp 2.png differ diff --git a/projects/Speed_Game/macOS/images/jp.png b/projects/Speed_Game/macOS/images/jp.png new file mode 100644 index 000000000..1f9badaf1 Binary files /dev/null and b/projects/Speed_Game/macOS/images/jp.png differ diff --git a/projects/Speed_Game/macOS/images/ke.png b/projects/Speed_Game/macOS/images/ke.png new file mode 100644 index 000000000..08379eced Binary files /dev/null and b/projects/Speed_Game/macOS/images/ke.png differ diff --git a/projects/Speed_Game/macOS/images/kg 2.png b/projects/Speed_Game/macOS/images/kg 2.png new file mode 100644 index 000000000..3097fb61e Binary files /dev/null and b/projects/Speed_Game/macOS/images/kg 2.png differ diff --git a/projects/Speed_Game/macOS/images/kg.png b/projects/Speed_Game/macOS/images/kg.png new file mode 100644 index 000000000..3097fb61e Binary files /dev/null and b/projects/Speed_Game/macOS/images/kg.png differ diff --git a/projects/Speed_Game/macOS/images/kh 2.png b/projects/Speed_Game/macOS/images/kh 2.png new file mode 100644 index 000000000..cd51b9746 Binary files /dev/null and b/projects/Speed_Game/macOS/images/kh 2.png differ diff --git a/projects/Speed_Game/macOS/images/kh.png b/projects/Speed_Game/macOS/images/kh.png new file mode 100644 index 000000000..cd51b9746 Binary files /dev/null and b/projects/Speed_Game/macOS/images/kh.png differ diff --git a/projects/Speed_Game/macOS/images/ki 2.png b/projects/Speed_Game/macOS/images/ki 2.png new file mode 100644 index 000000000..38bc17567 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ki 2.png differ diff --git a/projects/Speed_Game/macOS/images/ki.png b/projects/Speed_Game/macOS/images/ki.png new file mode 100644 index 000000000..38bc17567 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ki.png differ diff --git a/projects/Speed_Game/macOS/images/km 2.png b/projects/Speed_Game/macOS/images/km 2.png new file mode 100644 index 000000000..0e05d31fb Binary files /dev/null and b/projects/Speed_Game/macOS/images/km 2.png differ diff --git a/projects/Speed_Game/macOS/images/km.png b/projects/Speed_Game/macOS/images/km.png new file mode 100644 index 000000000..0e05d31fb Binary files /dev/null and b/projects/Speed_Game/macOS/images/km.png differ diff --git a/projects/Speed_Game/macOS/images/kn 2.png b/projects/Speed_Game/macOS/images/kn 2.png new file mode 100644 index 000000000..96732f64f Binary files /dev/null and b/projects/Speed_Game/macOS/images/kn 2.png differ diff --git a/projects/Speed_Game/macOS/images/kn.png b/projects/Speed_Game/macOS/images/kn.png new file mode 100644 index 000000000..96732f64f Binary files /dev/null and b/projects/Speed_Game/macOS/images/kn.png differ diff --git a/projects/Speed_Game/macOS/images/kp 2.png b/projects/Speed_Game/macOS/images/kp 2.png new file mode 100644 index 000000000..9edcfe3c7 Binary files /dev/null and b/projects/Speed_Game/macOS/images/kp 2.png differ diff --git a/projects/Speed_Game/macOS/images/kp.png b/projects/Speed_Game/macOS/images/kp.png new file mode 100644 index 000000000..9edcfe3c7 Binary files /dev/null and b/projects/Speed_Game/macOS/images/kp.png differ diff --git a/projects/Speed_Game/macOS/images/kr 2.png b/projects/Speed_Game/macOS/images/kr 2.png new file mode 100644 index 000000000..2424e4c58 Binary files /dev/null and b/projects/Speed_Game/macOS/images/kr 2.png differ diff --git a/projects/Speed_Game/macOS/images/kr.png b/projects/Speed_Game/macOS/images/kr.png new file mode 100644 index 000000000..2424e4c58 Binary files /dev/null and b/projects/Speed_Game/macOS/images/kr.png differ diff --git a/projects/Speed_Game/macOS/images/kw 2.png b/projects/Speed_Game/macOS/images/kw 2.png new file mode 100644 index 000000000..ce1f32c5f Binary files /dev/null and b/projects/Speed_Game/macOS/images/kw 2.png differ diff --git a/projects/Speed_Game/macOS/images/kw.png b/projects/Speed_Game/macOS/images/kw.png new file mode 100644 index 000000000..ce1f32c5f Binary files /dev/null and b/projects/Speed_Game/macOS/images/kw.png differ diff --git a/projects/Speed_Game/macOS/images/ky 2.png b/projects/Speed_Game/macOS/images/ky 2.png new file mode 100644 index 000000000..bc6209837 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ky 2.png differ diff --git a/projects/Speed_Game/macOS/images/ky.png b/projects/Speed_Game/macOS/images/ky.png new file mode 100644 index 000000000..bc6209837 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ky.png differ diff --git a/projects/Speed_Game/macOS/images/kz 2.png b/projects/Speed_Game/macOS/images/kz 2.png new file mode 100644 index 000000000..bddc74c48 Binary files /dev/null and b/projects/Speed_Game/macOS/images/kz 2.png differ diff --git a/projects/Speed_Game/macOS/images/kz.png b/projects/Speed_Game/macOS/images/kz.png new file mode 100644 index 000000000..bddc74c48 Binary files /dev/null and b/projects/Speed_Game/macOS/images/kz.png differ diff --git a/projects/Speed_Game/macOS/images/la 2.png b/projects/Speed_Game/macOS/images/la 2.png new file mode 100644 index 000000000..d2a549ba1 Binary files /dev/null and b/projects/Speed_Game/macOS/images/la 2.png differ diff --git a/projects/Speed_Game/macOS/images/la.png b/projects/Speed_Game/macOS/images/la.png new file mode 100644 index 000000000..d2a549ba1 Binary files /dev/null and b/projects/Speed_Game/macOS/images/la.png differ diff --git a/projects/Speed_Game/macOS/images/lb 2.png b/projects/Speed_Game/macOS/images/lb 2.png new file mode 100644 index 000000000..bc7859e17 Binary files /dev/null and b/projects/Speed_Game/macOS/images/lb 2.png differ diff --git a/projects/Speed_Game/macOS/images/lb.png b/projects/Speed_Game/macOS/images/lb.png new file mode 100644 index 000000000..bc7859e17 Binary files /dev/null and b/projects/Speed_Game/macOS/images/lb.png differ diff --git a/projects/Speed_Game/macOS/images/lc 2.png b/projects/Speed_Game/macOS/images/lc 2.png new file mode 100644 index 000000000..9e273a56a Binary files /dev/null and b/projects/Speed_Game/macOS/images/lc 2.png differ diff --git a/projects/Speed_Game/macOS/images/lc.png b/projects/Speed_Game/macOS/images/lc.png new file mode 100644 index 000000000..9e273a56a Binary files /dev/null and b/projects/Speed_Game/macOS/images/lc.png differ diff --git a/projects/Speed_Game/macOS/images/li 2.png b/projects/Speed_Game/macOS/images/li 2.png new file mode 100644 index 000000000..8c788578e Binary files /dev/null and b/projects/Speed_Game/macOS/images/li 2.png differ diff --git a/projects/Speed_Game/macOS/images/li.png b/projects/Speed_Game/macOS/images/li.png new file mode 100644 index 000000000..8c788578e Binary files /dev/null and b/projects/Speed_Game/macOS/images/li.png differ diff --git a/projects/Speed_Game/macOS/images/lk 2.png b/projects/Speed_Game/macOS/images/lk 2.png new file mode 100644 index 000000000..ea5ae4edd Binary files /dev/null and b/projects/Speed_Game/macOS/images/lk 2.png differ diff --git a/projects/Speed_Game/macOS/images/lk.png b/projects/Speed_Game/macOS/images/lk.png new file mode 100644 index 000000000..ea5ae4edd Binary files /dev/null and b/projects/Speed_Game/macOS/images/lk.png differ diff --git a/projects/Speed_Game/macOS/images/lr 2.png b/projects/Speed_Game/macOS/images/lr 2.png new file mode 100644 index 000000000..7a76660af Binary files /dev/null and b/projects/Speed_Game/macOS/images/lr 2.png differ diff --git a/projects/Speed_Game/macOS/images/lr.png b/projects/Speed_Game/macOS/images/lr.png new file mode 100644 index 000000000..7a76660af Binary files /dev/null and b/projects/Speed_Game/macOS/images/lr.png differ diff --git a/projects/Speed_Game/macOS/images/ls 2.png b/projects/Speed_Game/macOS/images/ls 2.png new file mode 100644 index 000000000..29af93eea Binary files /dev/null and b/projects/Speed_Game/macOS/images/ls 2.png differ diff --git a/projects/Speed_Game/macOS/images/ls.png b/projects/Speed_Game/macOS/images/ls.png new file mode 100644 index 000000000..29af93eea Binary files /dev/null and b/projects/Speed_Game/macOS/images/ls.png differ diff --git a/projects/Speed_Game/macOS/images/lt 2.png b/projects/Speed_Game/macOS/images/lt 2.png new file mode 100644 index 000000000..f3362743d Binary files /dev/null and b/projects/Speed_Game/macOS/images/lt 2.png differ diff --git a/projects/Speed_Game/macOS/images/lt.png b/projects/Speed_Game/macOS/images/lt.png new file mode 100644 index 000000000..f3362743d Binary files /dev/null and b/projects/Speed_Game/macOS/images/lt.png differ diff --git a/projects/Speed_Game/macOS/images/lu 2.png b/projects/Speed_Game/macOS/images/lu 2.png new file mode 100644 index 000000000..ec1c41ad1 Binary files /dev/null and b/projects/Speed_Game/macOS/images/lu 2.png differ diff --git a/projects/Speed_Game/macOS/images/lu.png b/projects/Speed_Game/macOS/images/lu.png new file mode 100644 index 000000000..ec1c41ad1 Binary files /dev/null and b/projects/Speed_Game/macOS/images/lu.png differ diff --git a/projects/Speed_Game/macOS/images/lv 2.png b/projects/Speed_Game/macOS/images/lv 2.png new file mode 100644 index 000000000..406289ccd Binary files /dev/null and b/projects/Speed_Game/macOS/images/lv 2.png differ diff --git a/projects/Speed_Game/macOS/images/lv.png b/projects/Speed_Game/macOS/images/lv.png new file mode 100644 index 000000000..406289ccd Binary files /dev/null and b/projects/Speed_Game/macOS/images/lv.png differ diff --git a/projects/Speed_Game/macOS/images/ly 2.png b/projects/Speed_Game/macOS/images/ly 2.png new file mode 100644 index 000000000..7d4bcdf73 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ly 2.png differ diff --git a/projects/Speed_Game/macOS/images/ly.png b/projects/Speed_Game/macOS/images/ly.png new file mode 100644 index 000000000..7d4bcdf73 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ly.png differ diff --git a/projects/Speed_Game/macOS/images/ma 2.png b/projects/Speed_Game/macOS/images/ma 2.png new file mode 100644 index 000000000..0eb5815bd Binary files /dev/null and b/projects/Speed_Game/macOS/images/ma 2.png differ diff --git a/projects/Speed_Game/macOS/images/ma.png b/projects/Speed_Game/macOS/images/ma.png new file mode 100644 index 000000000..0eb5815bd Binary files /dev/null and b/projects/Speed_Game/macOS/images/ma.png differ diff --git a/projects/Speed_Game/macOS/images/mc 2.png b/projects/Speed_Game/macOS/images/mc 2.png new file mode 100644 index 000000000..637ca2809 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mc 2.png differ diff --git a/projects/Speed_Game/macOS/images/mc.png b/projects/Speed_Game/macOS/images/mc.png new file mode 100644 index 000000000..637ca2809 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mc.png differ diff --git a/projects/Speed_Game/macOS/images/md.png b/projects/Speed_Game/macOS/images/md.png new file mode 100644 index 000000000..c315bd34b Binary files /dev/null and b/projects/Speed_Game/macOS/images/md.png differ diff --git a/projects/Speed_Game/macOS/images/me 2.png b/projects/Speed_Game/macOS/images/me 2.png new file mode 100644 index 000000000..f3f629136 Binary files /dev/null and b/projects/Speed_Game/macOS/images/me 2.png differ diff --git a/projects/Speed_Game/macOS/images/me.png b/projects/Speed_Game/macOS/images/me.png new file mode 100644 index 000000000..f3f629136 Binary files /dev/null and b/projects/Speed_Game/macOS/images/me.png differ diff --git a/projects/Speed_Game/macOS/images/mf 2.png b/projects/Speed_Game/macOS/images/mf 2.png new file mode 100644 index 000000000..d5f30b427 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mf 2.png differ diff --git a/projects/Speed_Game/macOS/images/mf.png b/projects/Speed_Game/macOS/images/mf.png new file mode 100644 index 000000000..d5f30b427 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mf.png differ diff --git a/projects/Speed_Game/macOS/images/mg 2.png b/projects/Speed_Game/macOS/images/mg 2.png new file mode 100644 index 000000000..c98660443 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mg 2.png differ diff --git a/projects/Speed_Game/macOS/images/mg.png b/projects/Speed_Game/macOS/images/mg.png new file mode 100644 index 000000000..c98660443 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mg.png differ diff --git a/projects/Speed_Game/macOS/images/mh 2.png b/projects/Speed_Game/macOS/images/mh 2.png new file mode 100644 index 000000000..9a3262663 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mh 2.png differ diff --git a/projects/Speed_Game/macOS/images/mh.png b/projects/Speed_Game/macOS/images/mh.png new file mode 100644 index 000000000..9a3262663 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mh.png differ diff --git a/projects/Speed_Game/macOS/images/mk 2.png b/projects/Speed_Game/macOS/images/mk 2.png new file mode 100644 index 000000000..b51836a93 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mk 2.png differ diff --git a/projects/Speed_Game/macOS/images/mk.png b/projects/Speed_Game/macOS/images/mk.png new file mode 100644 index 000000000..b51836a93 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mk.png differ diff --git a/projects/Speed_Game/macOS/images/ml 2.png b/projects/Speed_Game/macOS/images/ml 2.png new file mode 100644 index 000000000..6148eefba Binary files /dev/null and b/projects/Speed_Game/macOS/images/ml 2.png differ diff --git a/projects/Speed_Game/macOS/images/ml.png b/projects/Speed_Game/macOS/images/ml.png new file mode 100644 index 000000000..6148eefba Binary files /dev/null and b/projects/Speed_Game/macOS/images/ml.png differ diff --git a/projects/Speed_Game/macOS/images/mm 2.png b/projects/Speed_Game/macOS/images/mm 2.png new file mode 100644 index 000000000..929c1781f Binary files /dev/null and b/projects/Speed_Game/macOS/images/mm 2.png differ diff --git a/projects/Speed_Game/macOS/images/mm.png b/projects/Speed_Game/macOS/images/mm.png new file mode 100644 index 000000000..929c1781f Binary files /dev/null and b/projects/Speed_Game/macOS/images/mm.png differ diff --git a/projects/Speed_Game/macOS/images/mn 2.png b/projects/Speed_Game/macOS/images/mn 2.png new file mode 100644 index 000000000..8c18dfb66 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mn 2.png differ diff --git a/projects/Speed_Game/macOS/images/mn.png b/projects/Speed_Game/macOS/images/mn.png new file mode 100644 index 000000000..8c18dfb66 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mn.png differ diff --git a/projects/Speed_Game/macOS/images/mo 2.png b/projects/Speed_Game/macOS/images/mo 2.png new file mode 100644 index 000000000..494c04b12 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mo 2.png differ diff --git a/projects/Speed_Game/macOS/images/mo.png b/projects/Speed_Game/macOS/images/mo.png new file mode 100644 index 000000000..494c04b12 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mo.png differ diff --git a/projects/Speed_Game/macOS/images/mp 2.png b/projects/Speed_Game/macOS/images/mp 2.png new file mode 100644 index 000000000..1c386c030 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mp 2.png differ diff --git a/projects/Speed_Game/macOS/images/mp.png b/projects/Speed_Game/macOS/images/mp.png new file mode 100644 index 000000000..1c386c030 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mp.png differ diff --git a/projects/Speed_Game/macOS/images/mq 2.png b/projects/Speed_Game/macOS/images/mq 2.png new file mode 100644 index 000000000..82d2f3113 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mq 2.png differ diff --git a/projects/Speed_Game/macOS/images/mq.png b/projects/Speed_Game/macOS/images/mq.png new file mode 100644 index 000000000..82d2f3113 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mq.png differ diff --git a/projects/Speed_Game/macOS/images/mr 2.png b/projects/Speed_Game/macOS/images/mr 2.png new file mode 100644 index 000000000..560f899d0 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mr 2.png differ diff --git a/projects/Speed_Game/macOS/images/mr.png b/projects/Speed_Game/macOS/images/mr.png new file mode 100644 index 000000000..560f899d0 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mr.png differ diff --git a/projects/Speed_Game/macOS/images/ms 2.png b/projects/Speed_Game/macOS/images/ms 2.png new file mode 100644 index 000000000..758b65174 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ms 2.png differ diff --git a/projects/Speed_Game/macOS/images/ms.png b/projects/Speed_Game/macOS/images/ms.png new file mode 100644 index 000000000..758b65174 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ms.png differ diff --git a/projects/Speed_Game/macOS/images/mt 2.png b/projects/Speed_Game/macOS/images/mt 2.png new file mode 100644 index 000000000..93d8927e5 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mt 2.png differ diff --git a/projects/Speed_Game/macOS/images/mt.png b/projects/Speed_Game/macOS/images/mt.png new file mode 100644 index 000000000..93d8927e5 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mt.png differ diff --git a/projects/Speed_Game/macOS/images/mu 2.png b/projects/Speed_Game/macOS/images/mu 2.png new file mode 100644 index 000000000..6d313e5a5 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mu 2.png differ diff --git a/projects/Speed_Game/macOS/images/mu.png b/projects/Speed_Game/macOS/images/mu.png new file mode 100644 index 000000000..6d313e5a5 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mu.png differ diff --git a/projects/Speed_Game/macOS/images/mv 2.png b/projects/Speed_Game/macOS/images/mv 2.png new file mode 100644 index 000000000..8f04da967 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mv 2.png differ diff --git a/projects/Speed_Game/macOS/images/mv.png b/projects/Speed_Game/macOS/images/mv.png new file mode 100644 index 000000000..8f04da967 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mv.png differ diff --git a/projects/Speed_Game/macOS/images/mw 2.png b/projects/Speed_Game/macOS/images/mw 2.png new file mode 100644 index 000000000..35672dbb6 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mw 2.png differ diff --git a/projects/Speed_Game/macOS/images/mw.png b/projects/Speed_Game/macOS/images/mw.png new file mode 100644 index 000000000..35672dbb6 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mw.png differ diff --git a/projects/Speed_Game/macOS/images/mx 2.png b/projects/Speed_Game/macOS/images/mx 2.png new file mode 100644 index 000000000..cd147f00f Binary files /dev/null and b/projects/Speed_Game/macOS/images/mx 2.png differ diff --git a/projects/Speed_Game/macOS/images/mx.png b/projects/Speed_Game/macOS/images/mx.png new file mode 100644 index 000000000..cd147f00f Binary files /dev/null and b/projects/Speed_Game/macOS/images/mx.png differ diff --git a/projects/Speed_Game/macOS/images/my 2.png b/projects/Speed_Game/macOS/images/my 2.png new file mode 100644 index 000000000..0c07dd052 Binary files /dev/null and b/projects/Speed_Game/macOS/images/my 2.png differ diff --git a/projects/Speed_Game/macOS/images/my.png b/projects/Speed_Game/macOS/images/my.png new file mode 100644 index 000000000..0c07dd052 Binary files /dev/null and b/projects/Speed_Game/macOS/images/my.png differ diff --git a/projects/Speed_Game/macOS/images/mz 2.png b/projects/Speed_Game/macOS/images/mz 2.png new file mode 100644 index 000000000..e6f741b34 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mz 2.png differ diff --git a/projects/Speed_Game/macOS/images/mz.png b/projects/Speed_Game/macOS/images/mz.png new file mode 100644 index 000000000..e6f741b34 Binary files /dev/null and b/projects/Speed_Game/macOS/images/mz.png differ diff --git a/projects/Speed_Game/macOS/images/na 2.png b/projects/Speed_Game/macOS/images/na 2.png new file mode 100644 index 000000000..3959e2691 Binary files /dev/null and b/projects/Speed_Game/macOS/images/na 2.png differ diff --git a/projects/Speed_Game/macOS/images/na.png b/projects/Speed_Game/macOS/images/na.png new file mode 100644 index 000000000..3959e2691 Binary files /dev/null and b/projects/Speed_Game/macOS/images/na.png differ diff --git a/projects/Speed_Game/macOS/images/nc 2.png b/projects/Speed_Game/macOS/images/nc 2.png new file mode 100644 index 000000000..754b25ef7 Binary files /dev/null and b/projects/Speed_Game/macOS/images/nc 2.png differ diff --git a/projects/Speed_Game/macOS/images/nc.png b/projects/Speed_Game/macOS/images/nc.png new file mode 100644 index 000000000..754b25ef7 Binary files /dev/null and b/projects/Speed_Game/macOS/images/nc.png differ diff --git a/projects/Speed_Game/macOS/images/ne 2.png b/projects/Speed_Game/macOS/images/ne 2.png new file mode 100644 index 000000000..1181e146c Binary files /dev/null and b/projects/Speed_Game/macOS/images/ne 2.png differ diff --git a/projects/Speed_Game/macOS/images/ne.png b/projects/Speed_Game/macOS/images/ne.png new file mode 100644 index 000000000..1181e146c Binary files /dev/null and b/projects/Speed_Game/macOS/images/ne.png differ diff --git a/projects/Speed_Game/macOS/images/nf 2.png b/projects/Speed_Game/macOS/images/nf 2.png new file mode 100644 index 000000000..69b4666c9 Binary files /dev/null and b/projects/Speed_Game/macOS/images/nf 2.png differ diff --git a/projects/Speed_Game/macOS/images/nf.png b/projects/Speed_Game/macOS/images/nf.png new file mode 100644 index 000000000..69b4666c9 Binary files /dev/null and b/projects/Speed_Game/macOS/images/nf.png differ diff --git a/projects/Speed_Game/macOS/images/ng 2.png b/projects/Speed_Game/macOS/images/ng 2.png new file mode 100644 index 000000000..24459d4f2 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ng 2.png differ diff --git a/projects/Speed_Game/macOS/images/ng.png b/projects/Speed_Game/macOS/images/ng.png new file mode 100644 index 000000000..24459d4f2 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ng.png differ diff --git a/projects/Speed_Game/macOS/images/ni 2.png b/projects/Speed_Game/macOS/images/ni 2.png new file mode 100644 index 000000000..c13312516 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ni 2.png differ diff --git a/projects/Speed_Game/macOS/images/ni.png b/projects/Speed_Game/macOS/images/ni.png new file mode 100644 index 000000000..c13312516 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ni.png differ diff --git a/projects/Speed_Game/macOS/images/nl 2.png b/projects/Speed_Game/macOS/images/nl 2.png new file mode 100644 index 000000000..e633b0af5 Binary files /dev/null and b/projects/Speed_Game/macOS/images/nl 2.png differ diff --git a/projects/Speed_Game/macOS/images/nl.png b/projects/Speed_Game/macOS/images/nl.png new file mode 100644 index 000000000..e633b0af5 Binary files /dev/null and b/projects/Speed_Game/macOS/images/nl.png differ diff --git a/projects/Speed_Game/macOS/images/no 2.png b/projects/Speed_Game/macOS/images/no 2.png new file mode 100644 index 000000000..db3d73415 Binary files /dev/null and b/projects/Speed_Game/macOS/images/no 2.png differ diff --git a/projects/Speed_Game/macOS/images/no.png b/projects/Speed_Game/macOS/images/no.png new file mode 100644 index 000000000..db3d73415 Binary files /dev/null and b/projects/Speed_Game/macOS/images/no.png differ diff --git a/projects/Speed_Game/macOS/images/np 2.png b/projects/Speed_Game/macOS/images/np 2.png new file mode 100644 index 000000000..e2e82c7c6 Binary files /dev/null and b/projects/Speed_Game/macOS/images/np 2.png differ diff --git a/projects/Speed_Game/macOS/images/np.png b/projects/Speed_Game/macOS/images/np.png new file mode 100644 index 000000000..e2e82c7c6 Binary files /dev/null and b/projects/Speed_Game/macOS/images/np.png differ diff --git a/projects/Speed_Game/macOS/images/nr 2.png b/projects/Speed_Game/macOS/images/nr 2.png new file mode 100644 index 000000000..5ee1a200c Binary files /dev/null and b/projects/Speed_Game/macOS/images/nr 2.png differ diff --git a/projects/Speed_Game/macOS/images/nr.png b/projects/Speed_Game/macOS/images/nr.png new file mode 100644 index 000000000..5ee1a200c Binary files /dev/null and b/projects/Speed_Game/macOS/images/nr.png differ diff --git a/projects/Speed_Game/macOS/images/nu 2.png b/projects/Speed_Game/macOS/images/nu 2.png new file mode 100644 index 000000000..6c5b22c0a Binary files /dev/null and b/projects/Speed_Game/macOS/images/nu 2.png differ diff --git a/projects/Speed_Game/macOS/images/nu.png b/projects/Speed_Game/macOS/images/nu.png new file mode 100644 index 000000000..6c5b22c0a Binary files /dev/null and b/projects/Speed_Game/macOS/images/nu.png differ diff --git a/projects/Speed_Game/macOS/images/nz 2.png b/projects/Speed_Game/macOS/images/nz 2.png new file mode 100644 index 000000000..042446118 Binary files /dev/null and b/projects/Speed_Game/macOS/images/nz 2.png differ diff --git a/projects/Speed_Game/macOS/images/nz.png b/projects/Speed_Game/macOS/images/nz.png new file mode 100644 index 000000000..042446118 Binary files /dev/null and b/projects/Speed_Game/macOS/images/nz.png differ diff --git a/projects/Speed_Game/macOS/images/om 2.png b/projects/Speed_Game/macOS/images/om 2.png new file mode 100644 index 000000000..fd07e4fd7 Binary files /dev/null and b/projects/Speed_Game/macOS/images/om 2.png differ diff --git a/projects/Speed_Game/macOS/images/om.png b/projects/Speed_Game/macOS/images/om.png new file mode 100644 index 000000000..fd07e4fd7 Binary files /dev/null and b/projects/Speed_Game/macOS/images/om.png differ diff --git a/projects/Speed_Game/macOS/images/pa 2.png b/projects/Speed_Game/macOS/images/pa 2.png new file mode 100644 index 000000000..a7cf0284e Binary files /dev/null and b/projects/Speed_Game/macOS/images/pa 2.png differ diff --git a/projects/Speed_Game/macOS/images/pa.png b/projects/Speed_Game/macOS/images/pa.png new file mode 100644 index 000000000..a7cf0284e Binary files /dev/null and b/projects/Speed_Game/macOS/images/pa.png differ diff --git a/projects/Speed_Game/macOS/images/pe 2.png b/projects/Speed_Game/macOS/images/pe 2.png new file mode 100644 index 000000000..36b7cba74 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pe 2.png differ diff --git a/projects/Speed_Game/macOS/images/pe.png b/projects/Speed_Game/macOS/images/pe.png new file mode 100644 index 000000000..36b7cba74 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pe.png differ diff --git a/projects/Speed_Game/macOS/images/pf 2.png b/projects/Speed_Game/macOS/images/pf 2.png new file mode 100644 index 000000000..452db5575 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pf 2.png differ diff --git a/projects/Speed_Game/macOS/images/pf.png b/projects/Speed_Game/macOS/images/pf.png new file mode 100644 index 000000000..452db5575 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pf.png differ diff --git a/projects/Speed_Game/macOS/images/pg 2.png b/projects/Speed_Game/macOS/images/pg 2.png new file mode 100644 index 000000000..3ec7b0274 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pg 2.png differ diff --git a/projects/Speed_Game/macOS/images/pg.png b/projects/Speed_Game/macOS/images/pg.png new file mode 100644 index 000000000..3ec7b0274 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pg.png differ diff --git a/projects/Speed_Game/macOS/images/ph 2.png b/projects/Speed_Game/macOS/images/ph 2.png new file mode 100644 index 000000000..a6d2212d2 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ph 2.png differ diff --git a/projects/Speed_Game/macOS/images/ph.png b/projects/Speed_Game/macOS/images/ph.png new file mode 100644 index 000000000..a6d2212d2 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ph.png differ diff --git a/projects/Speed_Game/macOS/images/pk 2.png b/projects/Speed_Game/macOS/images/pk 2.png new file mode 100644 index 000000000..62bb96191 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pk 2.png differ diff --git a/projects/Speed_Game/macOS/images/pk.png b/projects/Speed_Game/macOS/images/pk.png new file mode 100644 index 000000000..62bb96191 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pk.png differ diff --git a/projects/Speed_Game/macOS/images/pl 2.png b/projects/Speed_Game/macOS/images/pl 2.png new file mode 100644 index 000000000..1e51f810b Binary files /dev/null and b/projects/Speed_Game/macOS/images/pl 2.png differ diff --git a/projects/Speed_Game/macOS/images/pl.png b/projects/Speed_Game/macOS/images/pl.png new file mode 100644 index 000000000..1e51f810b Binary files /dev/null and b/projects/Speed_Game/macOS/images/pl.png differ diff --git a/projects/Speed_Game/macOS/images/pm 2.png b/projects/Speed_Game/macOS/images/pm 2.png new file mode 100644 index 000000000..3a826f484 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pm 2.png differ diff --git a/projects/Speed_Game/macOS/images/pm.png b/projects/Speed_Game/macOS/images/pm.png new file mode 100644 index 000000000..3a826f484 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pm.png differ diff --git a/projects/Speed_Game/macOS/images/pn 2.png b/projects/Speed_Game/macOS/images/pn 2.png new file mode 100644 index 000000000..ee90c1f62 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pn 2.png differ diff --git a/projects/Speed_Game/macOS/images/pn.png b/projects/Speed_Game/macOS/images/pn.png new file mode 100644 index 000000000..ee90c1f62 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pn.png differ diff --git a/projects/Speed_Game/macOS/images/pr 2.png b/projects/Speed_Game/macOS/images/pr 2.png new file mode 100644 index 000000000..ee8b59420 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pr 2.png differ diff --git a/projects/Speed_Game/macOS/images/pr.png b/projects/Speed_Game/macOS/images/pr.png new file mode 100644 index 000000000..ee8b59420 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pr.png differ diff --git a/projects/Speed_Game/macOS/images/ps 2.png b/projects/Speed_Game/macOS/images/ps 2.png new file mode 100644 index 000000000..bf268ee7c Binary files /dev/null and b/projects/Speed_Game/macOS/images/ps 2.png differ diff --git a/projects/Speed_Game/macOS/images/ps.png b/projects/Speed_Game/macOS/images/ps.png new file mode 100644 index 000000000..bf268ee7c Binary files /dev/null and b/projects/Speed_Game/macOS/images/ps.png differ diff --git a/projects/Speed_Game/macOS/images/pt 2.png b/projects/Speed_Game/macOS/images/pt 2.png new file mode 100644 index 000000000..eb24f79b4 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pt 2.png differ diff --git a/projects/Speed_Game/macOS/images/pt.png b/projects/Speed_Game/macOS/images/pt.png new file mode 100644 index 000000000..eb24f79b4 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pt.png differ diff --git a/projects/Speed_Game/macOS/images/pw 2.png b/projects/Speed_Game/macOS/images/pw 2.png new file mode 100644 index 000000000..cb5694ee2 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pw 2.png differ diff --git a/projects/Speed_Game/macOS/images/pw.png b/projects/Speed_Game/macOS/images/pw.png new file mode 100644 index 000000000..cb5694ee2 Binary files /dev/null and b/projects/Speed_Game/macOS/images/pw.png differ diff --git a/projects/Speed_Game/macOS/images/py 2.png b/projects/Speed_Game/macOS/images/py 2.png new file mode 100644 index 000000000..c4df0c1f9 Binary files /dev/null and b/projects/Speed_Game/macOS/images/py 2.png differ diff --git a/projects/Speed_Game/macOS/images/py.png b/projects/Speed_Game/macOS/images/py.png new file mode 100644 index 000000000..c4df0c1f9 Binary files /dev/null and b/projects/Speed_Game/macOS/images/py.png differ diff --git a/projects/Speed_Game/macOS/images/qa 2.png b/projects/Speed_Game/macOS/images/qa 2.png new file mode 100644 index 000000000..1f5bc3d09 Binary files /dev/null and b/projects/Speed_Game/macOS/images/qa 2.png differ diff --git a/projects/Speed_Game/macOS/images/qa.png b/projects/Speed_Game/macOS/images/qa.png new file mode 100644 index 000000000..1f5bc3d09 Binary files /dev/null and b/projects/Speed_Game/macOS/images/qa.png differ diff --git a/projects/Speed_Game/macOS/images/re 2.png b/projects/Speed_Game/macOS/images/re 2.png new file mode 100644 index 000000000..4817253e5 Binary files /dev/null and b/projects/Speed_Game/macOS/images/re 2.png differ diff --git a/projects/Speed_Game/macOS/images/re.png b/projects/Speed_Game/macOS/images/re.png new file mode 100644 index 000000000..4817253e5 Binary files /dev/null and b/projects/Speed_Game/macOS/images/re.png differ diff --git a/projects/Speed_Game/macOS/images/ro 2.png b/projects/Speed_Game/macOS/images/ro 2.png new file mode 100644 index 000000000..4bb28efea Binary files /dev/null and b/projects/Speed_Game/macOS/images/ro 2.png differ diff --git a/projects/Speed_Game/macOS/images/ro.png b/projects/Speed_Game/macOS/images/ro.png new file mode 100644 index 000000000..4bb28efea Binary files /dev/null and b/projects/Speed_Game/macOS/images/ro.png differ diff --git a/projects/Speed_Game/macOS/images/rs 2.png b/projects/Speed_Game/macOS/images/rs 2.png new file mode 100644 index 000000000..6ea1e68b2 Binary files /dev/null and b/projects/Speed_Game/macOS/images/rs 2.png differ diff --git a/projects/Speed_Game/macOS/images/rs.png b/projects/Speed_Game/macOS/images/rs.png new file mode 100644 index 000000000..6ea1e68b2 Binary files /dev/null and b/projects/Speed_Game/macOS/images/rs.png differ diff --git a/projects/Speed_Game/macOS/images/ru 2.png b/projects/Speed_Game/macOS/images/ru 2.png new file mode 100644 index 000000000..220d7f370 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ru 2.png differ diff --git a/projects/Speed_Game/macOS/images/ru.png b/projects/Speed_Game/macOS/images/ru.png new file mode 100644 index 000000000..220d7f370 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ru.png differ diff --git a/projects/Speed_Game/macOS/images/rw 2.png b/projects/Speed_Game/macOS/images/rw 2.png new file mode 100644 index 000000000..980e3cdf3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/rw 2.png differ diff --git a/projects/Speed_Game/macOS/images/rw.png b/projects/Speed_Game/macOS/images/rw.png new file mode 100644 index 000000000..980e3cdf3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/rw.png differ diff --git a/projects/Speed_Game/macOS/images/sa 2.png b/projects/Speed_Game/macOS/images/sa 2.png new file mode 100644 index 000000000..117003a21 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sa 2.png differ diff --git a/projects/Speed_Game/macOS/images/sa.png b/projects/Speed_Game/macOS/images/sa.png new file mode 100644 index 000000000..117003a21 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sa.png differ diff --git a/projects/Speed_Game/macOS/images/sb 2.png b/projects/Speed_Game/macOS/images/sb 2.png new file mode 100644 index 000000000..7ec90d30f Binary files /dev/null and b/projects/Speed_Game/macOS/images/sb 2.png differ diff --git a/projects/Speed_Game/macOS/images/sb.png b/projects/Speed_Game/macOS/images/sb.png new file mode 100644 index 000000000..7ec90d30f Binary files /dev/null and b/projects/Speed_Game/macOS/images/sb.png differ diff --git a/projects/Speed_Game/macOS/images/sc 2.png b/projects/Speed_Game/macOS/images/sc 2.png new file mode 100644 index 000000000..8f64c8c31 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sc 2.png differ diff --git a/projects/Speed_Game/macOS/images/sc.png b/projects/Speed_Game/macOS/images/sc.png new file mode 100644 index 000000000..8f64c8c31 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sc.png differ diff --git a/projects/Speed_Game/macOS/images/sd 2.png b/projects/Speed_Game/macOS/images/sd 2.png new file mode 100644 index 000000000..9f5c34491 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sd 2.png differ diff --git a/projects/Speed_Game/macOS/images/sd.png b/projects/Speed_Game/macOS/images/sd.png new file mode 100644 index 000000000..9f5c34491 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sd.png differ diff --git a/projects/Speed_Game/macOS/images/se 2.png b/projects/Speed_Game/macOS/images/se 2.png new file mode 100644 index 000000000..14e8b9aee Binary files /dev/null and b/projects/Speed_Game/macOS/images/se 2.png differ diff --git a/projects/Speed_Game/macOS/images/se.png b/projects/Speed_Game/macOS/images/se.png new file mode 100644 index 000000000..14e8b9aee Binary files /dev/null and b/projects/Speed_Game/macOS/images/se.png differ diff --git a/projects/Speed_Game/macOS/images/sg 2.png b/projects/Speed_Game/macOS/images/sg 2.png new file mode 100644 index 000000000..3c86eca18 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sg 2.png differ diff --git a/projects/Speed_Game/macOS/images/sg.png b/projects/Speed_Game/macOS/images/sg.png new file mode 100644 index 000000000..3c86eca18 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sg.png differ diff --git a/projects/Speed_Game/macOS/images/sh 2.png b/projects/Speed_Game/macOS/images/sh 2.png new file mode 100644 index 000000000..94a6266b1 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sh 2.png differ diff --git a/projects/Speed_Game/macOS/images/sh.png b/projects/Speed_Game/macOS/images/sh.png new file mode 100644 index 000000000..94a6266b1 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sh.png differ diff --git a/projects/Speed_Game/macOS/images/si 2.png b/projects/Speed_Game/macOS/images/si 2.png new file mode 100644 index 000000000..80dd781db Binary files /dev/null and b/projects/Speed_Game/macOS/images/si 2.png differ diff --git a/projects/Speed_Game/macOS/images/si.png b/projects/Speed_Game/macOS/images/si.png new file mode 100644 index 000000000..80dd781db Binary files /dev/null and b/projects/Speed_Game/macOS/images/si.png differ diff --git a/projects/Speed_Game/macOS/images/sj 2.png b/projects/Speed_Game/macOS/images/sj 2.png new file mode 100644 index 000000000..db3d73415 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sj 2.png differ diff --git a/projects/Speed_Game/macOS/images/sj.png b/projects/Speed_Game/macOS/images/sj.png new file mode 100644 index 000000000..db3d73415 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sj.png differ diff --git a/projects/Speed_Game/macOS/images/sk 2.png b/projects/Speed_Game/macOS/images/sk 2.png new file mode 100644 index 000000000..7883d6182 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sk 2.png differ diff --git a/projects/Speed_Game/macOS/images/sk.png b/projects/Speed_Game/macOS/images/sk.png new file mode 100644 index 000000000..7883d6182 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sk.png differ diff --git a/projects/Speed_Game/macOS/images/sl 2.png b/projects/Speed_Game/macOS/images/sl 2.png new file mode 100644 index 000000000..f395562cf Binary files /dev/null and b/projects/Speed_Game/macOS/images/sl 2.png differ diff --git a/projects/Speed_Game/macOS/images/sl.png b/projects/Speed_Game/macOS/images/sl.png new file mode 100644 index 000000000..f395562cf Binary files /dev/null and b/projects/Speed_Game/macOS/images/sl.png differ diff --git a/projects/Speed_Game/macOS/images/sm 2.png b/projects/Speed_Game/macOS/images/sm 2.png new file mode 100644 index 000000000..df3ffe1eb Binary files /dev/null and b/projects/Speed_Game/macOS/images/sm 2.png differ diff --git a/projects/Speed_Game/macOS/images/sm.png b/projects/Speed_Game/macOS/images/sm.png new file mode 100644 index 000000000..df3ffe1eb Binary files /dev/null and b/projects/Speed_Game/macOS/images/sm.png differ diff --git a/projects/Speed_Game/macOS/images/sn 2.png b/projects/Speed_Game/macOS/images/sn 2.png new file mode 100644 index 000000000..69fe5ae9f Binary files /dev/null and b/projects/Speed_Game/macOS/images/sn 2.png differ diff --git a/projects/Speed_Game/macOS/images/sn.png b/projects/Speed_Game/macOS/images/sn.png new file mode 100644 index 000000000..69fe5ae9f Binary files /dev/null and b/projects/Speed_Game/macOS/images/sn.png differ diff --git a/projects/Speed_Game/macOS/images/so 2.png b/projects/Speed_Game/macOS/images/so 2.png new file mode 100644 index 000000000..365e52d96 Binary files /dev/null and b/projects/Speed_Game/macOS/images/so 2.png differ diff --git a/projects/Speed_Game/macOS/images/so.png b/projects/Speed_Game/macOS/images/so.png new file mode 100644 index 000000000..365e52d96 Binary files /dev/null and b/projects/Speed_Game/macOS/images/so.png differ diff --git a/projects/Speed_Game/macOS/images/sr 2.png b/projects/Speed_Game/macOS/images/sr 2.png new file mode 100644 index 000000000..922e8af2c Binary files /dev/null and b/projects/Speed_Game/macOS/images/sr 2.png differ diff --git a/projects/Speed_Game/macOS/images/sr.png b/projects/Speed_Game/macOS/images/sr.png new file mode 100644 index 000000000..922e8af2c Binary files /dev/null and b/projects/Speed_Game/macOS/images/sr.png differ diff --git a/projects/Speed_Game/macOS/images/ss 2.png b/projects/Speed_Game/macOS/images/ss 2.png new file mode 100644 index 000000000..d217e7590 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ss 2.png differ diff --git a/projects/Speed_Game/macOS/images/ss.png b/projects/Speed_Game/macOS/images/ss.png new file mode 100644 index 000000000..d217e7590 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ss.png differ diff --git a/projects/Speed_Game/macOS/images/st 2.png b/projects/Speed_Game/macOS/images/st 2.png new file mode 100644 index 000000000..b4f3333aa Binary files /dev/null and b/projects/Speed_Game/macOS/images/st 2.png differ diff --git a/projects/Speed_Game/macOS/images/st.png b/projects/Speed_Game/macOS/images/st.png new file mode 100644 index 000000000..b4f3333aa Binary files /dev/null and b/projects/Speed_Game/macOS/images/st.png differ diff --git a/projects/Speed_Game/macOS/images/sv 2.png b/projects/Speed_Game/macOS/images/sv 2.png new file mode 100644 index 000000000..dd2609813 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sv 2.png differ diff --git a/projects/Speed_Game/macOS/images/sv.png b/projects/Speed_Game/macOS/images/sv.png new file mode 100644 index 000000000..dd2609813 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sv.png differ diff --git a/projects/Speed_Game/macOS/images/sx 2.png b/projects/Speed_Game/macOS/images/sx 2.png new file mode 100644 index 000000000..e1a8d099f Binary files /dev/null and b/projects/Speed_Game/macOS/images/sx 2.png differ diff --git a/projects/Speed_Game/macOS/images/sx.png b/projects/Speed_Game/macOS/images/sx.png new file mode 100644 index 000000000..e1a8d099f Binary files /dev/null and b/projects/Speed_Game/macOS/images/sx.png differ diff --git a/projects/Speed_Game/macOS/images/sy 2.png b/projects/Speed_Game/macOS/images/sy 2.png new file mode 100644 index 000000000..127f94735 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sy 2.png differ diff --git a/projects/Speed_Game/macOS/images/sy.png b/projects/Speed_Game/macOS/images/sy.png new file mode 100644 index 000000000..127f94735 Binary files /dev/null and b/projects/Speed_Game/macOS/images/sy.png differ diff --git a/projects/Speed_Game/macOS/images/sz 2.png b/projects/Speed_Game/macOS/images/sz 2.png new file mode 100644 index 000000000..d41b6a1df Binary files /dev/null and b/projects/Speed_Game/macOS/images/sz 2.png differ diff --git a/projects/Speed_Game/macOS/images/sz.png b/projects/Speed_Game/macOS/images/sz.png new file mode 100644 index 000000000..d41b6a1df Binary files /dev/null and b/projects/Speed_Game/macOS/images/sz.png differ diff --git a/projects/Speed_Game/macOS/images/tc 2.png b/projects/Speed_Game/macOS/images/tc 2.png new file mode 100644 index 000000000..d0c131484 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tc 2.png differ diff --git a/projects/Speed_Game/macOS/images/tc.png b/projects/Speed_Game/macOS/images/tc.png new file mode 100644 index 000000000..d0c131484 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tc.png differ diff --git a/projects/Speed_Game/macOS/images/td 2.png b/projects/Speed_Game/macOS/images/td 2.png new file mode 100644 index 000000000..b5b590d15 Binary files /dev/null and b/projects/Speed_Game/macOS/images/td 2.png differ diff --git a/projects/Speed_Game/macOS/images/td.png b/projects/Speed_Game/macOS/images/td.png new file mode 100644 index 000000000..b5b590d15 Binary files /dev/null and b/projects/Speed_Game/macOS/images/td.png differ diff --git a/projects/Speed_Game/macOS/images/tf 2.png b/projects/Speed_Game/macOS/images/tf 2.png new file mode 100644 index 000000000..8eca2a0dd Binary files /dev/null and b/projects/Speed_Game/macOS/images/tf 2.png differ diff --git a/projects/Speed_Game/macOS/images/tf.png b/projects/Speed_Game/macOS/images/tf.png new file mode 100644 index 000000000..8eca2a0dd Binary files /dev/null and b/projects/Speed_Game/macOS/images/tf.png differ diff --git a/projects/Speed_Game/macOS/images/tg 2.png b/projects/Speed_Game/macOS/images/tg 2.png new file mode 100644 index 000000000..09ee0368b Binary files /dev/null and b/projects/Speed_Game/macOS/images/tg 2.png differ diff --git a/projects/Speed_Game/macOS/images/tg.png b/projects/Speed_Game/macOS/images/tg.png new file mode 100644 index 000000000..09ee0368b Binary files /dev/null and b/projects/Speed_Game/macOS/images/tg.png differ diff --git a/projects/Speed_Game/macOS/images/th 2.png b/projects/Speed_Game/macOS/images/th 2.png new file mode 100644 index 000000000..ff42ccf5a Binary files /dev/null and b/projects/Speed_Game/macOS/images/th 2.png differ diff --git a/projects/Speed_Game/macOS/images/th.png b/projects/Speed_Game/macOS/images/th.png new file mode 100644 index 000000000..ff42ccf5a Binary files /dev/null and b/projects/Speed_Game/macOS/images/th.png differ diff --git a/projects/Speed_Game/macOS/images/tj 2.png b/projects/Speed_Game/macOS/images/tj 2.png new file mode 100644 index 000000000..ed0db20a6 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tj 2.png differ diff --git a/projects/Speed_Game/macOS/images/tj.png b/projects/Speed_Game/macOS/images/tj.png new file mode 100644 index 000000000..ed0db20a6 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tj.png differ diff --git a/projects/Speed_Game/macOS/images/tk 2.png b/projects/Speed_Game/macOS/images/tk 2.png new file mode 100644 index 000000000..95c082c86 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tk 2.png differ diff --git a/projects/Speed_Game/macOS/images/tk.png b/projects/Speed_Game/macOS/images/tk.png new file mode 100644 index 000000000..95c082c86 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tk.png differ diff --git a/projects/Speed_Game/macOS/images/tl 2.png b/projects/Speed_Game/macOS/images/tl 2.png new file mode 100644 index 000000000..d1f48aff6 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tl 2.png differ diff --git a/projects/Speed_Game/macOS/images/tl.png b/projects/Speed_Game/macOS/images/tl.png new file mode 100644 index 000000000..d1f48aff6 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tl.png differ diff --git a/projects/Speed_Game/macOS/images/tm 2.png b/projects/Speed_Game/macOS/images/tm 2.png new file mode 100644 index 000000000..c0ae220b3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tm 2.png differ diff --git a/projects/Speed_Game/macOS/images/tm.png b/projects/Speed_Game/macOS/images/tm.png new file mode 100644 index 000000000..c0ae220b3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tm.png differ diff --git a/projects/Speed_Game/macOS/images/tn 2.png b/projects/Speed_Game/macOS/images/tn 2.png new file mode 100644 index 000000000..1dd76623a Binary files /dev/null and b/projects/Speed_Game/macOS/images/tn 2.png differ diff --git a/projects/Speed_Game/macOS/images/tn.png b/projects/Speed_Game/macOS/images/tn.png new file mode 100644 index 000000000..1dd76623a Binary files /dev/null and b/projects/Speed_Game/macOS/images/tn.png differ diff --git a/projects/Speed_Game/macOS/images/to 2.png b/projects/Speed_Game/macOS/images/to 2.png new file mode 100644 index 000000000..fabdc04c2 Binary files /dev/null and b/projects/Speed_Game/macOS/images/to 2.png differ diff --git a/projects/Speed_Game/macOS/images/to.png b/projects/Speed_Game/macOS/images/to.png new file mode 100644 index 000000000..fabdc04c2 Binary files /dev/null and b/projects/Speed_Game/macOS/images/to.png differ diff --git a/projects/Speed_Game/macOS/images/tr 2.png b/projects/Speed_Game/macOS/images/tr 2.png new file mode 100644 index 000000000..2e010dd3d Binary files /dev/null and b/projects/Speed_Game/macOS/images/tr 2.png differ diff --git a/projects/Speed_Game/macOS/images/tr.png b/projects/Speed_Game/macOS/images/tr.png new file mode 100644 index 000000000..2e010dd3d Binary files /dev/null and b/projects/Speed_Game/macOS/images/tr.png differ diff --git a/projects/Speed_Game/macOS/images/tt 2.png b/projects/Speed_Game/macOS/images/tt 2.png new file mode 100644 index 000000000..46e99c844 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tt 2.png differ diff --git a/projects/Speed_Game/macOS/images/tt.png b/projects/Speed_Game/macOS/images/tt.png new file mode 100644 index 000000000..46e99c844 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tt.png differ diff --git a/projects/Speed_Game/macOS/images/tv 2.png b/projects/Speed_Game/macOS/images/tv 2.png new file mode 100644 index 000000000..bf69cfc2f Binary files /dev/null and b/projects/Speed_Game/macOS/images/tv 2.png differ diff --git a/projects/Speed_Game/macOS/images/tv.png b/projects/Speed_Game/macOS/images/tv.png new file mode 100644 index 000000000..bf69cfc2f Binary files /dev/null and b/projects/Speed_Game/macOS/images/tv.png differ diff --git a/projects/Speed_Game/macOS/images/tw 2.png b/projects/Speed_Game/macOS/images/tw 2.png new file mode 100644 index 000000000..131bef718 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tw 2.png differ diff --git a/projects/Speed_Game/macOS/images/tw.png b/projects/Speed_Game/macOS/images/tw.png new file mode 100644 index 000000000..131bef718 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tw.png differ diff --git a/projects/Speed_Game/macOS/images/tz 2.png b/projects/Speed_Game/macOS/images/tz 2.png new file mode 100644 index 000000000..9ee560fd3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tz 2.png differ diff --git a/projects/Speed_Game/macOS/images/tz.png b/projects/Speed_Game/macOS/images/tz.png new file mode 100644 index 000000000..9ee560fd3 Binary files /dev/null and b/projects/Speed_Game/macOS/images/tz.png differ diff --git a/projects/Speed_Game/macOS/images/ua 2.png b/projects/Speed_Game/macOS/images/ua 2.png new file mode 100644 index 000000000..b18613c41 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ua 2.png differ diff --git a/projects/Speed_Game/macOS/images/ua.png b/projects/Speed_Game/macOS/images/ua.png new file mode 100644 index 000000000..b18613c41 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ua.png differ diff --git a/projects/Speed_Game/macOS/images/ug 2.png b/projects/Speed_Game/macOS/images/ug 2.png new file mode 100644 index 000000000..a370c1616 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ug 2.png differ diff --git a/projects/Speed_Game/macOS/images/ug.png b/projects/Speed_Game/macOS/images/ug.png new file mode 100644 index 000000000..a370c1616 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ug.png differ diff --git a/projects/Speed_Game/macOS/images/um 2.png b/projects/Speed_Game/macOS/images/um 2.png new file mode 100644 index 000000000..837ce54a0 Binary files /dev/null and b/projects/Speed_Game/macOS/images/um 2.png differ diff --git a/projects/Speed_Game/macOS/images/um.png b/projects/Speed_Game/macOS/images/um.png new file mode 100644 index 000000000..837ce54a0 Binary files /dev/null and b/projects/Speed_Game/macOS/images/um.png differ diff --git a/projects/Speed_Game/macOS/images/us 2.png b/projects/Speed_Game/macOS/images/us 2.png new file mode 100644 index 000000000..837ce54a0 Binary files /dev/null and b/projects/Speed_Game/macOS/images/us 2.png differ diff --git a/projects/Speed_Game/macOS/images/us.png b/projects/Speed_Game/macOS/images/us.png new file mode 100644 index 000000000..837ce54a0 Binary files /dev/null and b/projects/Speed_Game/macOS/images/us.png differ diff --git a/projects/Speed_Game/macOS/images/uy 2.png b/projects/Speed_Game/macOS/images/uy 2.png new file mode 100644 index 000000000..fa52ee344 Binary files /dev/null and b/projects/Speed_Game/macOS/images/uy 2.png differ diff --git a/projects/Speed_Game/macOS/images/uy.png b/projects/Speed_Game/macOS/images/uy.png new file mode 100644 index 000000000..fa52ee344 Binary files /dev/null and b/projects/Speed_Game/macOS/images/uy.png differ diff --git a/projects/Speed_Game/macOS/images/uz 2.png b/projects/Speed_Game/macOS/images/uz 2.png new file mode 100644 index 000000000..7c6388e40 Binary files /dev/null and b/projects/Speed_Game/macOS/images/uz 2.png differ diff --git a/projects/Speed_Game/macOS/images/uz.png b/projects/Speed_Game/macOS/images/uz.png new file mode 100644 index 000000000..7c6388e40 Binary files /dev/null and b/projects/Speed_Game/macOS/images/uz.png differ diff --git a/projects/Speed_Game/macOS/images/va 2.png b/projects/Speed_Game/macOS/images/va 2.png new file mode 100644 index 000000000..7e1dff4ad Binary files /dev/null and b/projects/Speed_Game/macOS/images/va 2.png differ diff --git a/projects/Speed_Game/macOS/images/va.png b/projects/Speed_Game/macOS/images/va.png new file mode 100644 index 000000000..7e1dff4ad Binary files /dev/null and b/projects/Speed_Game/macOS/images/va.png differ diff --git a/projects/Speed_Game/macOS/images/vc 2.png b/projects/Speed_Game/macOS/images/vc 2.png new file mode 100644 index 000000000..1719e7a0d Binary files /dev/null and b/projects/Speed_Game/macOS/images/vc 2.png differ diff --git a/projects/Speed_Game/macOS/images/vc.png b/projects/Speed_Game/macOS/images/vc.png new file mode 100644 index 000000000..1719e7a0d Binary files /dev/null and b/projects/Speed_Game/macOS/images/vc.png differ diff --git a/projects/Speed_Game/macOS/images/ve 2.png b/projects/Speed_Game/macOS/images/ve 2.png new file mode 100644 index 000000000..fe1521544 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ve 2.png differ diff --git a/projects/Speed_Game/macOS/images/ve.png b/projects/Speed_Game/macOS/images/ve.png new file mode 100644 index 000000000..fe1521544 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ve.png differ diff --git a/projects/Speed_Game/macOS/images/vg 2.png b/projects/Speed_Game/macOS/images/vg 2.png new file mode 100644 index 000000000..33e329901 Binary files /dev/null and b/projects/Speed_Game/macOS/images/vg 2.png differ diff --git a/projects/Speed_Game/macOS/images/vg.png b/projects/Speed_Game/macOS/images/vg.png new file mode 100644 index 000000000..33e329901 Binary files /dev/null and b/projects/Speed_Game/macOS/images/vg.png differ diff --git a/projects/Speed_Game/macOS/images/vi 2.png b/projects/Speed_Game/macOS/images/vi 2.png new file mode 100644 index 000000000..72222a1fc Binary files /dev/null and b/projects/Speed_Game/macOS/images/vi 2.png differ diff --git a/projects/Speed_Game/macOS/images/vi.png b/projects/Speed_Game/macOS/images/vi.png new file mode 100644 index 000000000..72222a1fc Binary files /dev/null and b/projects/Speed_Game/macOS/images/vi.png differ diff --git a/projects/Speed_Game/macOS/images/vn 2.png b/projects/Speed_Game/macOS/images/vn 2.png new file mode 100644 index 000000000..2a3c51b84 Binary files /dev/null and b/projects/Speed_Game/macOS/images/vn 2.png differ diff --git a/projects/Speed_Game/macOS/images/vn.png b/projects/Speed_Game/macOS/images/vn.png new file mode 100644 index 000000000..2a3c51b84 Binary files /dev/null and b/projects/Speed_Game/macOS/images/vn.png differ diff --git a/projects/Speed_Game/macOS/images/vu 2.png b/projects/Speed_Game/macOS/images/vu 2.png new file mode 100644 index 000000000..fa3a9f613 Binary files /dev/null and b/projects/Speed_Game/macOS/images/vu 2.png differ diff --git a/projects/Speed_Game/macOS/images/vu.png b/projects/Speed_Game/macOS/images/vu.png new file mode 100644 index 000000000..fa3a9f613 Binary files /dev/null and b/projects/Speed_Game/macOS/images/vu.png differ diff --git a/projects/Speed_Game/macOS/images/wf 2.png b/projects/Speed_Game/macOS/images/wf 2.png new file mode 100644 index 000000000..2358bc41c Binary files /dev/null and b/projects/Speed_Game/macOS/images/wf 2.png differ diff --git a/projects/Speed_Game/macOS/images/wf.png b/projects/Speed_Game/macOS/images/wf.png new file mode 100644 index 000000000..2358bc41c Binary files /dev/null and b/projects/Speed_Game/macOS/images/wf.png differ diff --git a/projects/Speed_Game/macOS/images/ws 2.png b/projects/Speed_Game/macOS/images/ws 2.png new file mode 100644 index 000000000..7fd973b41 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ws 2.png differ diff --git a/projects/Speed_Game/macOS/images/ws.png b/projects/Speed_Game/macOS/images/ws.png new file mode 100644 index 000000000..7fd973b41 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ws.png differ diff --git a/projects/Speed_Game/macOS/images/xk 2.png b/projects/Speed_Game/macOS/images/xk 2.png new file mode 100644 index 000000000..60e1cac61 Binary files /dev/null and b/projects/Speed_Game/macOS/images/xk 2.png differ diff --git a/projects/Speed_Game/macOS/images/xk.png b/projects/Speed_Game/macOS/images/xk.png new file mode 100644 index 000000000..60e1cac61 Binary files /dev/null and b/projects/Speed_Game/macOS/images/xk.png differ diff --git a/projects/Speed_Game/macOS/images/ye 2.png b/projects/Speed_Game/macOS/images/ye 2.png new file mode 100644 index 000000000..ad007a679 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ye 2.png differ diff --git a/projects/Speed_Game/macOS/images/ye.png b/projects/Speed_Game/macOS/images/ye.png new file mode 100644 index 000000000..ad007a679 Binary files /dev/null and b/projects/Speed_Game/macOS/images/ye.png differ diff --git a/projects/Speed_Game/macOS/images/yt 2.png b/projects/Speed_Game/macOS/images/yt 2.png new file mode 100644 index 000000000..dd9167436 Binary files /dev/null and b/projects/Speed_Game/macOS/images/yt 2.png differ diff --git a/projects/Speed_Game/macOS/images/yt.png b/projects/Speed_Game/macOS/images/yt.png new file mode 100644 index 000000000..dd9167436 Binary files /dev/null and b/projects/Speed_Game/macOS/images/yt.png differ diff --git a/projects/Speed_Game/macOS/images/za 2.png b/projects/Speed_Game/macOS/images/za 2.png new file mode 100644 index 000000000..c1648f7b6 Binary files /dev/null and b/projects/Speed_Game/macOS/images/za 2.png differ diff --git a/projects/Speed_Game/macOS/images/za.png b/projects/Speed_Game/macOS/images/za.png new file mode 100644 index 000000000..c1648f7b6 Binary files /dev/null and b/projects/Speed_Game/macOS/images/za.png differ diff --git a/projects/Speed_Game/macOS/images/zm 2.png b/projects/Speed_Game/macOS/images/zm 2.png new file mode 100644 index 000000000..29049f27f Binary files /dev/null and b/projects/Speed_Game/macOS/images/zm 2.png differ diff --git a/projects/Speed_Game/macOS/images/zm.png b/projects/Speed_Game/macOS/images/zm.png new file mode 100644 index 000000000..29049f27f Binary files /dev/null and b/projects/Speed_Game/macOS/images/zm.png differ diff --git a/projects/Speed_Game/macOS/images/zw 2.png b/projects/Speed_Game/macOS/images/zw 2.png new file mode 100644 index 000000000..71e461a61 Binary files /dev/null and b/projects/Speed_Game/macOS/images/zw 2.png differ diff --git a/projects/Speed_Game/macOS/images/zw.png b/projects/Speed_Game/macOS/images/zw.png new file mode 100644 index 000000000..71e461a61 Binary files /dev/null and b/projects/Speed_Game/macOS/images/zw.png differ diff --git a/projects/Speed_Game/macOS/main.py b/projects/Speed_Game/macOS/main.py new file mode 100644 index 000000000..fc1ca6a51 --- /dev/null +++ b/projects/Speed_Game/macOS/main.py @@ -0,0 +1,272 @@ +import tkinter.font as tkFont +from tkinter import messagebox +import pandas as pd +import os +import random +from PIL import Image, ImageTk +import time +import threading +from tkinter import messagebox + +try: + import tkinter as tk +except: + import tkinter as tk + +class SampleApp(tk.Tk): + def __init__(self): + tk.Tk.__init__(self) + self._frame = None + self.switch_frame(StartPage) + + def switch_frame(self, frame_class): + new_frame = frame_class(self) + if self._frame is not None: + self._frame.destroy() + self._frame = new_frame + self._frame.pack() + + +class StartPage(tk.Frame): + def __init__(self, master): + tk.Frame.__init__(self, master) + + ImagePath = 'halloween.png' + canv = tk.Canvas(self, width=600, height=500, bg='white') + canv.pack(side='bottom') + self.img = ImageTk.PhotoImage(Image.open(ImagePath).resize((600, 500), Image.ANTIALIAS)) + canv.create_image(0, 0, anchor="nw", image=self.img) + + labelFont = tkFont.Font(family="Arial", size=40, weight="bold", slant="italic") + canv.create_text((600 // 2), (500 // 2) - 40, fill="white", text="Speed Game", font=labelFont) + + startBtnFont = tkFont.Font(family="Consolas", size=20) + startBtn = tk.Button(canv, text="START", font=startBtnFont, foreground="black", background="black", + relief="ridge", borderwidth=5, highlightbackground="yellow", + activebackground="yellow", activeforeground="black", + command=lambda: master.switch_frame(CategoryPage)) + canv.create_window((600 // 2), (500 // 2) + 100, window=startBtn) + + +class CategoryPage(tk.Frame): + def __init__(self, master): + tk.Frame.__init__(self, master) + + ImagePath = 'halloween.png' + canv = tk.Canvas(self, width=600, height=500, bg='white') + canv.pack(side='bottom') + self.img = ImageTk.PhotoImage(Image.open(ImagePath).resize((600, 500), Image.ANTIALIAS)) + canv.create_image(0, 0, anchor="nw", image=self.img) + + labelFont = tkFont.Font(family="Arial", size=40, weight="bold", slant="italic") + canv.create_text((600 // 2), (500 // 2) - 190, fill="white", text="Speed Game", font=labelFont) + + btnFont = tkFont.Font(family="Consolas", size=20) + countryBtn = tk.Button(self, text="country", foreground="black", + width=15, height=1, + background="yellow", font=btnFont, relief="ridge", + borderwidth=5, highlightbackground="yellow", + activebackground="yellow", activeforeground="yellow", + command=lambda: master.switch_frame(CountryPage)) + canv.create_window((600 // 2), (500 // 2) - 100, window=countryBtn) + + prevBtn = tk.Button(self, text="preve page", foreground="black", + width=15, height=1, + background="yellow", font=btnFont, relief="ridge", + borderwidth=5, highlightbackground="yellow", + activebackground="yellow", activeforeground="yellow", + command=lambda: master.switch_frame(StartPage)) + canv.create_window((600 // 2), (500 // 2) - 10, window=prevBtn) + + +class CountryPage(tk.Frame): + def __init__(self, master): + global pass_count, answer, country_img + global df, pass_window + tk.Frame.__init__(self, master) + + filename = random.choice(os.listdir("./images")) + code = filename.split(".")[0] + + # data not in excel file + while code.upper() not in df.index: + filename = random.choice(os.listdir("./images")) + code = filename.split(".")[0] + + countryPath = "./images/" + filename + + print(countryPath) + print(df["country"][code.upper()]) + print(filename) + answer = df["country"][code.upper()] + + backgroundPath = 'halloween.png' + canv = tk.Canvas(self, width=600, height=500, bg='white') + canv.pack() + self.img1 = ImageTk.PhotoImage(Image.open(backgroundPath).resize((600, 500), Image.ANTIALIAS)) + canv.create_image(0, 0, anchor="nw", image=self.img1) + + titleFont = tkFont.Font(family="Arial", size=40, weight="bold", slant="italic") + canv.create_text((600 // 2), (500 // 2) - 190, fill="white", text="Country", font=titleFont) + + self.img2 = ImageTk.PhotoImage(Image.open(countryPath).resize((180, 130), Image.ANTIALIAS)) + country_img = canv.create_image(210, 130, anchor="nw", image=self.img2) + + labelFont = tkFont.Font(family="Arial", size=17, slant="italic") + BtnFont = tkFont.Font(family="Consolas", size=15) + + canv.create_text((600 // 2), (500 // 2) + 40, fill="white", text="answer", font=labelFont) + + input_text = tk.Entry(self, width=30) + canv.create_window((600 // 2), (500 // 2) + 70, window=input_text) + + check_btn = tk.Button(self, text="check", + width=10, height=1, font=BtnFont, foreground="black", + background="yellow", relief="ridge", + activebackground="yellow", activeforeground="black", + command=lambda: self.checkBtn_click(master, input_text.get(), answer, canv,country_img)) + canv.create_window((600 // 2) - 80, (500 // 2) + 140, window=check_btn) + + pass_btn = tk.Button(self, text="pass: " + str(pass_count) + "/3", + width=10, height=1, font=BtnFont, foreground="black", + background="yellow", relief="ridge", + activebackground="yellow", activeforeground="black", + command=lambda: self.passBtn_click(tk, canv, country_img)) + pass_window = canv.create_window((600 // 2) + 80, (500 // 2) + 140, window=pass_btn) + + self.num = 180 + mins, secs = divmod(self.num, 60) + timeformat = '{:02d}:{:02d}'.format(mins, secs) + TimerFont = tkFont.Font(family="Arial", size=30, weight="bold", slant="italic") + timer_text = canv.create_text(100, 100, fill="white", text=timeformat, font=TimerFont) + canv.after(1, self.count, canv, timer_text) + + def count(self, canv, timer_text): + mins, secs = divmod(self.num, 60) + timeformat = '{:02d}:{:02d}'.format(mins, secs) + canv.delete(timer_text) + TimerFont = tkFont.Font(family="Arial", size=30, weight="bold", slant="italic") + timer_text = canv.create_text(100, 100, fill="white", text=timeformat, font=TimerFont) + self.num -= 1 + if self.num < 0: + msgBox = tk.messagebox.askretrycancel('Exit App', 'Really Quit?') + if msgBox == True: + self.master.switch_frame(StartPage) + else: + self.master.switch_frame(FinishPage) + else: + canv.after(1000, self.count, canv, timer_text) + + # click check button + def checkBtn_click(self, master, user_text, check_answer, canv, check_img): + global answer, country_img + global correct_count, problem_count + problem_count -= 1 + + user_text = user_text.upper().replace(" ", "") + check_answer = check_answer.replace(" ", "") + + if (user_text == check_answer): + # correct + print('correct') + ImagePath = 'correct.png' + self.img3 = ImageTk.PhotoImage(Image.open(ImagePath).resize((100, 100), Image.ANTIALIAS)) + resultImage = canv.create_image(450, 30, anchor="nw", image=self.img3) + correct_count += 1 + else: + # wrong + print('wrong') + ImagePath = 'wrong.png' + self.img4 = ImageTk.PhotoImage(Image.open(ImagePath).resize((100, 100), Image.ANTIALIAS)) + + resultImage = canv.create_image(450, 30, anchor="nw", image=self.img4) + + # resolve 15 problems + if problem_count <= 0: + master.switch_frame(FinishPage) + canv.after(1000, self.delete_img, canv, resultImage) + filename = random.choice(os.listdir("./images")) + code = filename.split(".")[0] + + # data not in excel file + while code.upper() not in df.index: + filename = random.choice(os.listdir("./images")) + code = filename.split(".")[0] + + countryPath = "./images/" + filename + canv.after(1000,self.delete_img, canv, check_img) + self.img2 = ImageTk.PhotoImage(Image.open(countryPath).resize((180, 130), Image.ANTIALIAS)) + country_img = canv.create_image(210, 130, anchor="nw", image=self.img2) + answer = df["country"][code.upper()] + + print(answer) + + def passBtn_click(self, tk, canv, check_img): + global pass_count, pass_window + global country_img, answer + pass_count = pass_count - 1 + if (pass_count < 0): + print("패스 그만") + pass_count = 0 + tk.messagebox.showerror('Pass', 'You Don\'t have pass ticket!') + else: + filename = random.choice(os.listdir("./images")) + code = filename.split(".")[0] + + # data not in excel file + while code.upper() not in df.index: + filename = random.choice(os.listdir("./images")) + code = filename.split(".")[0] + + countryPath = "./images/" + filename + canv.after(1000, self.delete_img, canv, check_img) + self.img2 = ImageTk.PhotoImage(Image.open(countryPath).resize((180, 130), Image.ANTIALIAS)) + country_img = canv.create_image(210, 130, anchor="nw", image=self.img2) + answer = df["country"][code.upper()] + + self.delete_img(canv, pass_window) + BtnFont = tkFont.Font(family="Consolas", size=15) + pass_btn = tk.Button(self, text="pass: " + str(pass_count) + "/3", + width=10, height=1, font=BtnFont, foreground="yellow", + background="black", relief="ridge", + activebackground="yellow", activeforeground="black", + command=lambda: self.passBtn_click(tk, canv, country_img)) + pass_window = canv.create_window((600 // 2) + 80, (500 // 2) + 140, window=pass_btn) + + def delete_img(self, canv, dele_img_name): + canv.delete(dele_img_name) + + +class FinishPage(tk.Frame): + def __init__(self, master): + tk.Frame.__init__(self, master) + ImagePath = 'halloween.png' + canv = tk.Canvas(self, width=600, height=500, bg='white') + canv.pack(side='bottom') + self.img = ImageTk.PhotoImage(Image.open(ImagePath).resize((600, 500), Image.ANTIALIAS)) + canv.create_image(0, 0, anchor="nw", image=self.img) + + labelFont = tkFont.Font(family="Arial", size=40, weight="bold") + canv.create_text((600 // 2), (500 // 2) - 50, fill="white", text="total score : " + str(correct_count)+ "/15", font=labelFont) + canv.create_text((600 // 2), (500 // 2) + 50, fill="white", text="Good Job!", font=labelFont) + + +if __name__ == "__main__": + #pygame.init() + #mySound = pygame.mixer.Sound("SpeedGameBgm.mp3") + #mySound.play(-1) + pass_count = 3 + problem_count = 15 + correct_count = 0 + answer = 0 + country_img = 0 + pass_window = 0 + + df = pd.read_excel("./CountryCodeData.xlsx", index_col=0, names=["code", "country"]) + print(df["country"]["KR"]) + + app = SampleApp() + app.title("Speed Game") + + app.geometry('600x500+100+100') + app.mainloop() diff --git a/projects/Speed_Game/macOS/wrong.png b/projects/Speed_Game/macOS/wrong.png new file mode 100644 index 000000000..ac6f1bc3d Binary files /dev/null and b/projects/Speed_Game/macOS/wrong.png differ diff --git a/projects/Speed_Game/requirements.txt b/projects/Speed_Game/requirements.txt new file mode 100644 index 000000000..7bef0f86f --- /dev/null +++ b/projects/Speed_Game/requirements.txt @@ -0,0 +1,8 @@ +et-xmlfile==1.1.0 +numpy==1.21.4 +openpyxl==3.0.9 +pandas==1.3.4 +Pillow==8.4.0 +python-dateutil==2.8.2 +pytz==2021.3 +six==1.16.0 diff --git a/projects/Speed_Game/windows/.DS_Store b/projects/Speed_Game/windows/.DS_Store new file mode 100644 index 000000000..789e1d55d Binary files /dev/null and b/projects/Speed_Game/windows/.DS_Store differ diff --git a/projects/Speed_Game/windows/CountryCodeData.xlsx b/projects/Speed_Game/windows/CountryCodeData.xlsx new file mode 100644 index 000000000..6f9f8b786 Binary files /dev/null and b/projects/Speed_Game/windows/CountryCodeData.xlsx differ diff --git a/projects/Speed_Game/windows/SpeedGameBgm.mp3 b/projects/Speed_Game/windows/SpeedGameBgm.mp3 new file mode 100644 index 000000000..1644ebaab Binary files /dev/null and b/projects/Speed_Game/windows/SpeedGameBgm.mp3 differ diff --git a/projects/Speed_Game/windows/correct.png b/projects/Speed_Game/windows/correct.png new file mode 100644 index 000000000..faf20d508 Binary files /dev/null and b/projects/Speed_Game/windows/correct.png differ diff --git a/projects/Speed_Game/windows/halloween.png b/projects/Speed_Game/windows/halloween.png new file mode 100644 index 000000000..8f395dd01 Binary files /dev/null and b/projects/Speed_Game/windows/halloween.png differ diff --git a/projects/Speed_Game/windows/images/.DS_Store b/projects/Speed_Game/windows/images/.DS_Store new file mode 100644 index 000000000..5008ddfcf Binary files /dev/null and b/projects/Speed_Game/windows/images/.DS_Store differ diff --git a/projects/Speed_Game/windows/images/ad 2.png b/projects/Speed_Game/windows/images/ad 2.png new file mode 100644 index 000000000..c0656421c Binary files /dev/null and b/projects/Speed_Game/windows/images/ad 2.png differ diff --git a/projects/Speed_Game/windows/images/ad.png b/projects/Speed_Game/windows/images/ad.png new file mode 100644 index 000000000..c0656421c Binary files /dev/null and b/projects/Speed_Game/windows/images/ad.png differ diff --git a/projects/Speed_Game/windows/images/ae 2.png b/projects/Speed_Game/windows/images/ae 2.png new file mode 100644 index 000000000..256597d6f Binary files /dev/null and b/projects/Speed_Game/windows/images/ae 2.png differ diff --git a/projects/Speed_Game/windows/images/ae.png b/projects/Speed_Game/windows/images/ae.png new file mode 100644 index 000000000..256597d6f Binary files /dev/null and b/projects/Speed_Game/windows/images/ae.png differ diff --git a/projects/Speed_Game/windows/images/af 2.png b/projects/Speed_Game/windows/images/af 2.png new file mode 100644 index 000000000..45586b8ad Binary files /dev/null and b/projects/Speed_Game/windows/images/af 2.png differ diff --git a/projects/Speed_Game/windows/images/af.png b/projects/Speed_Game/windows/images/af.png new file mode 100644 index 000000000..45586b8ad Binary files /dev/null and b/projects/Speed_Game/windows/images/af.png differ diff --git a/projects/Speed_Game/windows/images/ag 2.png b/projects/Speed_Game/windows/images/ag 2.png new file mode 100644 index 000000000..0a9a562bf Binary files /dev/null and b/projects/Speed_Game/windows/images/ag 2.png differ diff --git a/projects/Speed_Game/windows/images/ag.png b/projects/Speed_Game/windows/images/ag.png new file mode 100644 index 000000000..0a9a562bf Binary files /dev/null and b/projects/Speed_Game/windows/images/ag.png differ diff --git a/projects/Speed_Game/windows/images/ai 2.png b/projects/Speed_Game/windows/images/ai 2.png new file mode 100644 index 000000000..3af01534b Binary files /dev/null and b/projects/Speed_Game/windows/images/ai 2.png differ diff --git a/projects/Speed_Game/windows/images/ai.png b/projects/Speed_Game/windows/images/ai.png new file mode 100644 index 000000000..3af01534b Binary files /dev/null and b/projects/Speed_Game/windows/images/ai.png differ diff --git a/projects/Speed_Game/windows/images/al 2.png b/projects/Speed_Game/windows/images/al 2.png new file mode 100644 index 000000000..11b394875 Binary files /dev/null and b/projects/Speed_Game/windows/images/al 2.png differ diff --git a/projects/Speed_Game/windows/images/al.png b/projects/Speed_Game/windows/images/al.png new file mode 100644 index 000000000..11b394875 Binary files /dev/null and b/projects/Speed_Game/windows/images/al.png differ diff --git a/projects/Speed_Game/windows/images/am 2.png b/projects/Speed_Game/windows/images/am 2.png new file mode 100644 index 000000000..5dca3170c Binary files /dev/null and b/projects/Speed_Game/windows/images/am 2.png differ diff --git a/projects/Speed_Game/windows/images/am.png b/projects/Speed_Game/windows/images/am.png new file mode 100644 index 000000000..5dca3170c Binary files /dev/null and b/projects/Speed_Game/windows/images/am.png differ diff --git a/projects/Speed_Game/windows/images/ao 2.png b/projects/Speed_Game/windows/images/ao 2.png new file mode 100644 index 000000000..97c970700 Binary files /dev/null and b/projects/Speed_Game/windows/images/ao 2.png differ diff --git a/projects/Speed_Game/windows/images/ao.png b/projects/Speed_Game/windows/images/ao.png new file mode 100644 index 000000000..97c970700 Binary files /dev/null and b/projects/Speed_Game/windows/images/ao.png differ diff --git a/projects/Speed_Game/windows/images/aq 2.png b/projects/Speed_Game/windows/images/aq 2.png new file mode 100644 index 000000000..b08f70681 Binary files /dev/null and b/projects/Speed_Game/windows/images/aq 2.png differ diff --git a/projects/Speed_Game/windows/images/aq.png b/projects/Speed_Game/windows/images/aq.png new file mode 100644 index 000000000..b08f70681 Binary files /dev/null and b/projects/Speed_Game/windows/images/aq.png differ diff --git a/projects/Speed_Game/windows/images/ar 2.png b/projects/Speed_Game/windows/images/ar 2.png new file mode 100644 index 000000000..558cb97a3 Binary files /dev/null and b/projects/Speed_Game/windows/images/ar 2.png differ diff --git a/projects/Speed_Game/windows/images/ar.png b/projects/Speed_Game/windows/images/ar.png new file mode 100644 index 000000000..558cb97a3 Binary files /dev/null and b/projects/Speed_Game/windows/images/ar.png differ diff --git a/projects/Speed_Game/windows/images/as 2.png b/projects/Speed_Game/windows/images/as 2.png new file mode 100644 index 000000000..2b8a82d79 Binary files /dev/null and b/projects/Speed_Game/windows/images/as 2.png differ diff --git a/projects/Speed_Game/windows/images/as.png b/projects/Speed_Game/windows/images/as.png new file mode 100644 index 000000000..2b8a82d79 Binary files /dev/null and b/projects/Speed_Game/windows/images/as.png differ diff --git a/projects/Speed_Game/windows/images/at 2.png b/projects/Speed_Game/windows/images/at 2.png new file mode 100644 index 000000000..60a7c7b32 Binary files /dev/null and b/projects/Speed_Game/windows/images/at 2.png differ diff --git a/projects/Speed_Game/windows/images/at.png b/projects/Speed_Game/windows/images/at.png new file mode 100644 index 000000000..60a7c7b32 Binary files /dev/null and b/projects/Speed_Game/windows/images/at.png differ diff --git a/projects/Speed_Game/windows/images/au 2.png b/projects/Speed_Game/windows/images/au 2.png new file mode 100644 index 000000000..b40a2963c Binary files /dev/null and b/projects/Speed_Game/windows/images/au 2.png differ diff --git a/projects/Speed_Game/windows/images/au.png b/projects/Speed_Game/windows/images/au.png new file mode 100644 index 000000000..b40a2963c Binary files /dev/null and b/projects/Speed_Game/windows/images/au.png differ diff --git a/projects/Speed_Game/windows/images/aw 2.png b/projects/Speed_Game/windows/images/aw 2.png new file mode 100644 index 000000000..05a152767 Binary files /dev/null and b/projects/Speed_Game/windows/images/aw 2.png differ diff --git a/projects/Speed_Game/windows/images/aw.png b/projects/Speed_Game/windows/images/aw.png new file mode 100644 index 000000000..05a152767 Binary files /dev/null and b/projects/Speed_Game/windows/images/aw.png differ diff --git a/projects/Speed_Game/windows/images/ax 2.png b/projects/Speed_Game/windows/images/ax 2.png new file mode 100644 index 000000000..7b0887a97 Binary files /dev/null and b/projects/Speed_Game/windows/images/ax 2.png differ diff --git a/projects/Speed_Game/windows/images/ax.png b/projects/Speed_Game/windows/images/ax.png new file mode 100644 index 000000000..7b0887a97 Binary files /dev/null and b/projects/Speed_Game/windows/images/ax.png differ diff --git a/projects/Speed_Game/windows/images/az 2.png b/projects/Speed_Game/windows/images/az 2.png new file mode 100644 index 000000000..ca8a381e3 Binary files /dev/null and b/projects/Speed_Game/windows/images/az 2.png differ diff --git a/projects/Speed_Game/windows/images/az.png b/projects/Speed_Game/windows/images/az.png new file mode 100644 index 000000000..ca8a381e3 Binary files /dev/null and b/projects/Speed_Game/windows/images/az.png differ diff --git a/projects/Speed_Game/windows/images/ba 2.png b/projects/Speed_Game/windows/images/ba 2.png new file mode 100644 index 000000000..58968e4da Binary files /dev/null and b/projects/Speed_Game/windows/images/ba 2.png differ diff --git a/projects/Speed_Game/windows/images/ba.png b/projects/Speed_Game/windows/images/ba.png new file mode 100644 index 000000000..58968e4da Binary files /dev/null and b/projects/Speed_Game/windows/images/ba.png differ diff --git a/projects/Speed_Game/windows/images/bb 2.png b/projects/Speed_Game/windows/images/bb 2.png new file mode 100644 index 000000000..6053834fc Binary files /dev/null and b/projects/Speed_Game/windows/images/bb 2.png differ diff --git a/projects/Speed_Game/windows/images/bb.png b/projects/Speed_Game/windows/images/bb.png new file mode 100644 index 000000000..6053834fc Binary files /dev/null and b/projects/Speed_Game/windows/images/bb.png differ diff --git a/projects/Speed_Game/windows/images/bd 2.png b/projects/Speed_Game/windows/images/bd 2.png new file mode 100644 index 000000000..fc18a2e1a Binary files /dev/null and b/projects/Speed_Game/windows/images/bd 2.png differ diff --git a/projects/Speed_Game/windows/images/bd.png b/projects/Speed_Game/windows/images/bd.png new file mode 100644 index 000000000..fc18a2e1a Binary files /dev/null and b/projects/Speed_Game/windows/images/bd.png differ diff --git a/projects/Speed_Game/windows/images/be 2.png b/projects/Speed_Game/windows/images/be 2.png new file mode 100644 index 000000000..c95afa677 Binary files /dev/null and b/projects/Speed_Game/windows/images/be 2.png differ diff --git a/projects/Speed_Game/windows/images/be.png b/projects/Speed_Game/windows/images/be.png new file mode 100644 index 000000000..c95afa677 Binary files /dev/null and b/projects/Speed_Game/windows/images/be.png differ diff --git a/projects/Speed_Game/windows/images/bf 2.png b/projects/Speed_Game/windows/images/bf 2.png new file mode 100644 index 000000000..669d53fe8 Binary files /dev/null and b/projects/Speed_Game/windows/images/bf 2.png differ diff --git a/projects/Speed_Game/windows/images/bf.png b/projects/Speed_Game/windows/images/bf.png new file mode 100644 index 000000000..669d53fe8 Binary files /dev/null and b/projects/Speed_Game/windows/images/bf.png differ diff --git a/projects/Speed_Game/windows/images/bg 2.png b/projects/Speed_Game/windows/images/bg 2.png new file mode 100644 index 000000000..88bbcaebd Binary files /dev/null and b/projects/Speed_Game/windows/images/bg 2.png differ diff --git a/projects/Speed_Game/windows/images/bg.png b/projects/Speed_Game/windows/images/bg.png new file mode 100644 index 000000000..88bbcaebd Binary files /dev/null and b/projects/Speed_Game/windows/images/bg.png differ diff --git a/projects/Speed_Game/windows/images/bh 2.png b/projects/Speed_Game/windows/images/bh 2.png new file mode 100644 index 000000000..3fb7de48b Binary files /dev/null and b/projects/Speed_Game/windows/images/bh 2.png differ diff --git a/projects/Speed_Game/windows/images/bh.png b/projects/Speed_Game/windows/images/bh.png new file mode 100644 index 000000000..3fb7de48b Binary files /dev/null and b/projects/Speed_Game/windows/images/bh.png differ diff --git a/projects/Speed_Game/windows/images/bi 2.png b/projects/Speed_Game/windows/images/bi 2.png new file mode 100644 index 000000000..9e83202d7 Binary files /dev/null and b/projects/Speed_Game/windows/images/bi 2.png differ diff --git a/projects/Speed_Game/windows/images/bi.png b/projects/Speed_Game/windows/images/bi.png new file mode 100644 index 000000000..9e83202d7 Binary files /dev/null and b/projects/Speed_Game/windows/images/bi.png differ diff --git a/projects/Speed_Game/windows/images/bj 2.png b/projects/Speed_Game/windows/images/bj 2.png new file mode 100644 index 000000000..7761839bf Binary files /dev/null and b/projects/Speed_Game/windows/images/bj 2.png differ diff --git a/projects/Speed_Game/windows/images/bj.png b/projects/Speed_Game/windows/images/bj.png new file mode 100644 index 000000000..7761839bf Binary files /dev/null and b/projects/Speed_Game/windows/images/bj.png differ diff --git a/projects/Speed_Game/windows/images/bl 2.png b/projects/Speed_Game/windows/images/bl 2.png new file mode 100644 index 000000000..46737bb57 Binary files /dev/null and b/projects/Speed_Game/windows/images/bl 2.png differ diff --git a/projects/Speed_Game/windows/images/bl.png b/projects/Speed_Game/windows/images/bl.png new file mode 100644 index 000000000..46737bb57 Binary files /dev/null and b/projects/Speed_Game/windows/images/bl.png differ diff --git a/projects/Speed_Game/windows/images/bm 2.png b/projects/Speed_Game/windows/images/bm 2.png new file mode 100644 index 000000000..48793b50e Binary files /dev/null and b/projects/Speed_Game/windows/images/bm 2.png differ diff --git a/projects/Speed_Game/windows/images/bm.png b/projects/Speed_Game/windows/images/bm.png new file mode 100644 index 000000000..48793b50e Binary files /dev/null and b/projects/Speed_Game/windows/images/bm.png differ diff --git a/projects/Speed_Game/windows/images/bn 2.png b/projects/Speed_Game/windows/images/bn 2.png new file mode 100644 index 000000000..1cd991cca Binary files /dev/null and b/projects/Speed_Game/windows/images/bn 2.png differ diff --git a/projects/Speed_Game/windows/images/bn.png b/projects/Speed_Game/windows/images/bn.png new file mode 100644 index 000000000..1cd991cca Binary files /dev/null and b/projects/Speed_Game/windows/images/bn.png differ diff --git a/projects/Speed_Game/windows/images/bo 2.png b/projects/Speed_Game/windows/images/bo 2.png new file mode 100644 index 000000000..0a5b8025c Binary files /dev/null and b/projects/Speed_Game/windows/images/bo 2.png differ diff --git a/projects/Speed_Game/windows/images/bo.png b/projects/Speed_Game/windows/images/bo.png new file mode 100644 index 000000000..0a5b8025c Binary files /dev/null and b/projects/Speed_Game/windows/images/bo.png differ diff --git a/projects/Speed_Game/windows/images/bq 2.png b/projects/Speed_Game/windows/images/bq 2.png new file mode 100644 index 000000000..957ab7a99 Binary files /dev/null and b/projects/Speed_Game/windows/images/bq 2.png differ diff --git a/projects/Speed_Game/windows/images/bq.png b/projects/Speed_Game/windows/images/bq.png new file mode 100644 index 000000000..957ab7a99 Binary files /dev/null and b/projects/Speed_Game/windows/images/bq.png differ diff --git a/projects/Speed_Game/windows/images/br 2.png b/projects/Speed_Game/windows/images/br 2.png new file mode 100644 index 000000000..1dba51c07 Binary files /dev/null and b/projects/Speed_Game/windows/images/br 2.png differ diff --git a/projects/Speed_Game/windows/images/br.png b/projects/Speed_Game/windows/images/br.png new file mode 100644 index 000000000..1dba51c07 Binary files /dev/null and b/projects/Speed_Game/windows/images/br.png differ diff --git a/projects/Speed_Game/windows/images/bs 2.png b/projects/Speed_Game/windows/images/bs 2.png new file mode 100644 index 000000000..36d87627e Binary files /dev/null and b/projects/Speed_Game/windows/images/bs 2.png differ diff --git a/projects/Speed_Game/windows/images/bs.png b/projects/Speed_Game/windows/images/bs.png new file mode 100644 index 000000000..36d87627e Binary files /dev/null and b/projects/Speed_Game/windows/images/bs.png differ diff --git a/projects/Speed_Game/windows/images/bt 2.png b/projects/Speed_Game/windows/images/bt 2.png new file mode 100644 index 000000000..9590b30c1 Binary files /dev/null and b/projects/Speed_Game/windows/images/bt 2.png differ diff --git a/projects/Speed_Game/windows/images/bt.png b/projects/Speed_Game/windows/images/bt.png new file mode 100644 index 000000000..9590b30c1 Binary files /dev/null and b/projects/Speed_Game/windows/images/bt.png differ diff --git a/projects/Speed_Game/windows/images/bv 2.png b/projects/Speed_Game/windows/images/bv 2.png new file mode 100644 index 000000000..db3d73415 Binary files /dev/null and b/projects/Speed_Game/windows/images/bv 2.png differ diff --git a/projects/Speed_Game/windows/images/bv.png b/projects/Speed_Game/windows/images/bv.png new file mode 100644 index 000000000..db3d73415 Binary files /dev/null and b/projects/Speed_Game/windows/images/bv.png differ diff --git a/projects/Speed_Game/windows/images/bw 2.png b/projects/Speed_Game/windows/images/bw 2.png new file mode 100644 index 000000000..3e59fd3c0 Binary files /dev/null and b/projects/Speed_Game/windows/images/bw 2.png differ diff --git a/projects/Speed_Game/windows/images/bw.png b/projects/Speed_Game/windows/images/bw.png new file mode 100644 index 000000000..3e59fd3c0 Binary files /dev/null and b/projects/Speed_Game/windows/images/bw.png differ diff --git a/projects/Speed_Game/windows/images/by 2.png b/projects/Speed_Game/windows/images/by 2.png new file mode 100644 index 000000000..e2cf5ee10 Binary files /dev/null and b/projects/Speed_Game/windows/images/by 2.png differ diff --git a/projects/Speed_Game/windows/images/by.png b/projects/Speed_Game/windows/images/by.png new file mode 100644 index 000000000..e2cf5ee10 Binary files /dev/null and b/projects/Speed_Game/windows/images/by.png differ diff --git a/projects/Speed_Game/windows/images/bz 2.png b/projects/Speed_Game/windows/images/bz 2.png new file mode 100644 index 000000000..2f6992999 Binary files /dev/null and b/projects/Speed_Game/windows/images/bz 2.png differ diff --git a/projects/Speed_Game/windows/images/bz.png b/projects/Speed_Game/windows/images/bz.png new file mode 100644 index 000000000..2f6992999 Binary files /dev/null and b/projects/Speed_Game/windows/images/bz.png differ diff --git a/projects/Speed_Game/windows/images/ca 2.png b/projects/Speed_Game/windows/images/ca 2.png new file mode 100644 index 000000000..e0c6b6a72 Binary files /dev/null and b/projects/Speed_Game/windows/images/ca 2.png differ diff --git a/projects/Speed_Game/windows/images/ca.png b/projects/Speed_Game/windows/images/ca.png new file mode 100644 index 000000000..e0c6b6a72 Binary files /dev/null and b/projects/Speed_Game/windows/images/ca.png differ diff --git a/projects/Speed_Game/windows/images/cc 2.png b/projects/Speed_Game/windows/images/cc 2.png new file mode 100644 index 000000000..72f7f82c0 Binary files /dev/null and b/projects/Speed_Game/windows/images/cc 2.png differ diff --git a/projects/Speed_Game/windows/images/cc.png b/projects/Speed_Game/windows/images/cc.png new file mode 100644 index 000000000..72f7f82c0 Binary files /dev/null and b/projects/Speed_Game/windows/images/cc.png differ diff --git a/projects/Speed_Game/windows/images/cd 2.png b/projects/Speed_Game/windows/images/cd 2.png new file mode 100644 index 000000000..d91e8b269 Binary files /dev/null and b/projects/Speed_Game/windows/images/cd 2.png differ diff --git a/projects/Speed_Game/windows/images/cd.png b/projects/Speed_Game/windows/images/cd.png new file mode 100644 index 000000000..d91e8b269 Binary files /dev/null and b/projects/Speed_Game/windows/images/cd.png differ diff --git a/projects/Speed_Game/windows/images/cf 2.png b/projects/Speed_Game/windows/images/cf 2.png new file mode 100644 index 000000000..3679edc15 Binary files /dev/null and b/projects/Speed_Game/windows/images/cf 2.png differ diff --git a/projects/Speed_Game/windows/images/cf.png b/projects/Speed_Game/windows/images/cf.png new file mode 100644 index 000000000..3679edc15 Binary files /dev/null and b/projects/Speed_Game/windows/images/cf.png differ diff --git a/projects/Speed_Game/windows/images/cg 2.png b/projects/Speed_Game/windows/images/cg 2.png new file mode 100644 index 000000000..8cf4d97a5 Binary files /dev/null and b/projects/Speed_Game/windows/images/cg 2.png differ diff --git a/projects/Speed_Game/windows/images/cg.png b/projects/Speed_Game/windows/images/cg.png new file mode 100644 index 000000000..8cf4d97a5 Binary files /dev/null and b/projects/Speed_Game/windows/images/cg.png differ diff --git a/projects/Speed_Game/windows/images/ch 2.png b/projects/Speed_Game/windows/images/ch 2.png new file mode 100644 index 000000000..3358a3322 Binary files /dev/null and b/projects/Speed_Game/windows/images/ch 2.png differ diff --git a/projects/Speed_Game/windows/images/ch.png b/projects/Speed_Game/windows/images/ch.png new file mode 100644 index 000000000..3358a3322 Binary files /dev/null and b/projects/Speed_Game/windows/images/ch.png differ diff --git a/projects/Speed_Game/windows/images/ci 2.png b/projects/Speed_Game/windows/images/ci 2.png new file mode 100644 index 000000000..7f16b10b5 Binary files /dev/null and b/projects/Speed_Game/windows/images/ci 2.png differ diff --git a/projects/Speed_Game/windows/images/ci.png b/projects/Speed_Game/windows/images/ci.png new file mode 100644 index 000000000..7f16b10b5 Binary files /dev/null and b/projects/Speed_Game/windows/images/ci.png differ diff --git a/projects/Speed_Game/windows/images/ck 2.png b/projects/Speed_Game/windows/images/ck 2.png new file mode 100644 index 000000000..5a1f5725b Binary files /dev/null and b/projects/Speed_Game/windows/images/ck 2.png differ diff --git a/projects/Speed_Game/windows/images/ck.png b/projects/Speed_Game/windows/images/ck.png new file mode 100644 index 000000000..5a1f5725b Binary files /dev/null and b/projects/Speed_Game/windows/images/ck.png differ diff --git a/projects/Speed_Game/windows/images/cl 2.png b/projects/Speed_Game/windows/images/cl 2.png new file mode 100644 index 000000000..2e1f15990 Binary files /dev/null and b/projects/Speed_Game/windows/images/cl 2.png differ diff --git a/projects/Speed_Game/windows/images/cl.png b/projects/Speed_Game/windows/images/cl.png new file mode 100644 index 000000000..2e1f15990 Binary files /dev/null and b/projects/Speed_Game/windows/images/cl.png differ diff --git a/projects/Speed_Game/windows/images/cm 2.png b/projects/Speed_Game/windows/images/cm 2.png new file mode 100644 index 000000000..46f2ba974 Binary files /dev/null and b/projects/Speed_Game/windows/images/cm 2.png differ diff --git a/projects/Speed_Game/windows/images/cm.png b/projects/Speed_Game/windows/images/cm.png new file mode 100644 index 000000000..46f2ba974 Binary files /dev/null and b/projects/Speed_Game/windows/images/cm.png differ diff --git a/projects/Speed_Game/windows/images/cn 2.png b/projects/Speed_Game/windows/images/cn 2.png new file mode 100644 index 000000000..649a67e7f Binary files /dev/null and b/projects/Speed_Game/windows/images/cn 2.png differ diff --git a/projects/Speed_Game/windows/images/cn.png b/projects/Speed_Game/windows/images/cn.png new file mode 100644 index 000000000..649a67e7f Binary files /dev/null and b/projects/Speed_Game/windows/images/cn.png differ diff --git a/projects/Speed_Game/windows/images/co 2.png b/projects/Speed_Game/windows/images/co 2.png new file mode 100644 index 000000000..09c669012 Binary files /dev/null and b/projects/Speed_Game/windows/images/co 2.png differ diff --git a/projects/Speed_Game/windows/images/co.png b/projects/Speed_Game/windows/images/co.png new file mode 100644 index 000000000..09c669012 Binary files /dev/null and b/projects/Speed_Game/windows/images/co.png differ diff --git a/projects/Speed_Game/windows/images/cr 2.png b/projects/Speed_Game/windows/images/cr 2.png new file mode 100644 index 000000000..45d4f2add Binary files /dev/null and b/projects/Speed_Game/windows/images/cr 2.png differ diff --git a/projects/Speed_Game/windows/images/cr.png b/projects/Speed_Game/windows/images/cr.png new file mode 100644 index 000000000..45d4f2add Binary files /dev/null and b/projects/Speed_Game/windows/images/cr.png differ diff --git a/projects/Speed_Game/windows/images/cu 2.png b/projects/Speed_Game/windows/images/cu 2.png new file mode 100644 index 000000000..911ce8f48 Binary files /dev/null and b/projects/Speed_Game/windows/images/cu 2.png differ diff --git a/projects/Speed_Game/windows/images/cu.png b/projects/Speed_Game/windows/images/cu.png new file mode 100644 index 000000000..911ce8f48 Binary files /dev/null and b/projects/Speed_Game/windows/images/cu.png differ diff --git a/projects/Speed_Game/windows/images/cv 2.png b/projects/Speed_Game/windows/images/cv 2.png new file mode 100644 index 000000000..91bd31794 Binary files /dev/null and b/projects/Speed_Game/windows/images/cv 2.png differ diff --git a/projects/Speed_Game/windows/images/cv.png b/projects/Speed_Game/windows/images/cv.png new file mode 100644 index 000000000..91bd31794 Binary files /dev/null and b/projects/Speed_Game/windows/images/cv.png differ diff --git a/projects/Speed_Game/windows/images/cw 2.png b/projects/Speed_Game/windows/images/cw 2.png new file mode 100644 index 000000000..48b1830b3 Binary files /dev/null and b/projects/Speed_Game/windows/images/cw 2.png differ diff --git a/projects/Speed_Game/windows/images/cw.png b/projects/Speed_Game/windows/images/cw.png new file mode 100644 index 000000000..48b1830b3 Binary files /dev/null and b/projects/Speed_Game/windows/images/cw.png differ diff --git a/projects/Speed_Game/windows/images/cx 2.png b/projects/Speed_Game/windows/images/cx 2.png new file mode 100644 index 000000000..6e792ad9f Binary files /dev/null and b/projects/Speed_Game/windows/images/cx 2.png differ diff --git a/projects/Speed_Game/windows/images/cx.png b/projects/Speed_Game/windows/images/cx.png new file mode 100644 index 000000000..6e792ad9f Binary files /dev/null and b/projects/Speed_Game/windows/images/cx.png differ diff --git a/projects/Speed_Game/windows/images/cy 2.png b/projects/Speed_Game/windows/images/cy 2.png new file mode 100644 index 000000000..04415b396 Binary files /dev/null and b/projects/Speed_Game/windows/images/cy 2.png differ diff --git a/projects/Speed_Game/windows/images/cy.png b/projects/Speed_Game/windows/images/cy.png new file mode 100644 index 000000000..04415b396 Binary files /dev/null and b/projects/Speed_Game/windows/images/cy.png differ diff --git a/projects/Speed_Game/windows/images/cz 2.png b/projects/Speed_Game/windows/images/cz 2.png new file mode 100644 index 000000000..52b89d7bc Binary files /dev/null and b/projects/Speed_Game/windows/images/cz 2.png differ diff --git a/projects/Speed_Game/windows/images/cz.png b/projects/Speed_Game/windows/images/cz.png new file mode 100644 index 000000000..52b89d7bc Binary files /dev/null and b/projects/Speed_Game/windows/images/cz.png differ diff --git a/projects/Speed_Game/windows/images/de 2.png b/projects/Speed_Game/windows/images/de 2.png new file mode 100644 index 000000000..99ccd352d Binary files /dev/null and b/projects/Speed_Game/windows/images/de 2.png differ diff --git a/projects/Speed_Game/windows/images/de.png b/projects/Speed_Game/windows/images/de.png new file mode 100644 index 000000000..99ccd352d Binary files /dev/null and b/projects/Speed_Game/windows/images/de.png differ diff --git a/projects/Speed_Game/windows/images/dj 2.png b/projects/Speed_Game/windows/images/dj 2.png new file mode 100644 index 000000000..1b5f04d52 Binary files /dev/null and b/projects/Speed_Game/windows/images/dj 2.png differ diff --git a/projects/Speed_Game/windows/images/dj.png b/projects/Speed_Game/windows/images/dj.png new file mode 100644 index 000000000..1b5f04d52 Binary files /dev/null and b/projects/Speed_Game/windows/images/dj.png differ diff --git a/projects/Speed_Game/windows/images/dk 2.png b/projects/Speed_Game/windows/images/dk 2.png new file mode 100644 index 000000000..07b090211 Binary files /dev/null and b/projects/Speed_Game/windows/images/dk 2.png differ diff --git a/projects/Speed_Game/windows/images/dk.png b/projects/Speed_Game/windows/images/dk.png new file mode 100644 index 000000000..07b090211 Binary files /dev/null and b/projects/Speed_Game/windows/images/dk.png differ diff --git a/projects/Speed_Game/windows/images/dm 2.png b/projects/Speed_Game/windows/images/dm 2.png new file mode 100644 index 000000000..53eeb96ea Binary files /dev/null and b/projects/Speed_Game/windows/images/dm 2.png differ diff --git a/projects/Speed_Game/windows/images/dm.png b/projects/Speed_Game/windows/images/dm.png new file mode 100644 index 000000000..53eeb96ea Binary files /dev/null and b/projects/Speed_Game/windows/images/dm.png differ diff --git a/projects/Speed_Game/windows/images/do 2.png b/projects/Speed_Game/windows/images/do 2.png new file mode 100644 index 000000000..d57e3a82a Binary files /dev/null and b/projects/Speed_Game/windows/images/do 2.png differ diff --git a/projects/Speed_Game/windows/images/do.png b/projects/Speed_Game/windows/images/do.png new file mode 100644 index 000000000..d57e3a82a Binary files /dev/null and b/projects/Speed_Game/windows/images/do.png differ diff --git a/projects/Speed_Game/windows/images/dz 2.png b/projects/Speed_Game/windows/images/dz 2.png new file mode 100644 index 000000000..1a53178af Binary files /dev/null and b/projects/Speed_Game/windows/images/dz 2.png differ diff --git a/projects/Speed_Game/windows/images/dz.png b/projects/Speed_Game/windows/images/dz.png new file mode 100644 index 000000000..1a53178af Binary files /dev/null and b/projects/Speed_Game/windows/images/dz.png differ diff --git a/projects/Speed_Game/windows/images/ec 2.png b/projects/Speed_Game/windows/images/ec 2.png new file mode 100644 index 000000000..4ef8468c4 Binary files /dev/null and b/projects/Speed_Game/windows/images/ec 2.png differ diff --git a/projects/Speed_Game/windows/images/ec.png b/projects/Speed_Game/windows/images/ec.png new file mode 100644 index 000000000..4ef8468c4 Binary files /dev/null and b/projects/Speed_Game/windows/images/ec.png differ diff --git a/projects/Speed_Game/windows/images/ee 2.png b/projects/Speed_Game/windows/images/ee 2.png new file mode 100644 index 000000000..94cc351ee Binary files /dev/null and b/projects/Speed_Game/windows/images/ee 2.png differ diff --git a/projects/Speed_Game/windows/images/ee.png b/projects/Speed_Game/windows/images/ee.png new file mode 100644 index 000000000..94cc351ee Binary files /dev/null and b/projects/Speed_Game/windows/images/ee.png differ diff --git a/projects/Speed_Game/windows/images/eg 2.png b/projects/Speed_Game/windows/images/eg 2.png new file mode 100644 index 000000000..a50c693f3 Binary files /dev/null and b/projects/Speed_Game/windows/images/eg 2.png differ diff --git a/projects/Speed_Game/windows/images/eg.png b/projects/Speed_Game/windows/images/eg.png new file mode 100644 index 000000000..a50c693f3 Binary files /dev/null and b/projects/Speed_Game/windows/images/eg.png differ diff --git a/projects/Speed_Game/windows/images/eh 2.png b/projects/Speed_Game/windows/images/eh 2.png new file mode 100644 index 000000000..466b34430 Binary files /dev/null and b/projects/Speed_Game/windows/images/eh 2.png differ diff --git a/projects/Speed_Game/windows/images/eh.png b/projects/Speed_Game/windows/images/eh.png new file mode 100644 index 000000000..466b34430 Binary files /dev/null and b/projects/Speed_Game/windows/images/eh.png differ diff --git a/projects/Speed_Game/windows/images/er 2.png b/projects/Speed_Game/windows/images/er 2.png new file mode 100644 index 000000000..8dd05a1ed Binary files /dev/null and b/projects/Speed_Game/windows/images/er 2.png differ diff --git a/projects/Speed_Game/windows/images/er.png b/projects/Speed_Game/windows/images/er.png new file mode 100644 index 000000000..8dd05a1ed Binary files /dev/null and b/projects/Speed_Game/windows/images/er.png differ diff --git a/projects/Speed_Game/windows/images/es 2.png b/projects/Speed_Game/windows/images/es 2.png new file mode 100644 index 000000000..80693e710 Binary files /dev/null and b/projects/Speed_Game/windows/images/es 2.png differ diff --git a/projects/Speed_Game/windows/images/es.png b/projects/Speed_Game/windows/images/es.png new file mode 100644 index 000000000..80693e710 Binary files /dev/null and b/projects/Speed_Game/windows/images/es.png differ diff --git a/projects/Speed_Game/windows/images/et 2.png b/projects/Speed_Game/windows/images/et 2.png new file mode 100644 index 000000000..2b585fcff Binary files /dev/null and b/projects/Speed_Game/windows/images/et 2.png differ diff --git a/projects/Speed_Game/windows/images/et.png b/projects/Speed_Game/windows/images/et.png new file mode 100644 index 000000000..2b585fcff Binary files /dev/null and b/projects/Speed_Game/windows/images/et.png differ diff --git a/projects/Speed_Game/windows/images/fi 2.png b/projects/Speed_Game/windows/images/fi 2.png new file mode 100644 index 000000000..f0739d20b Binary files /dev/null and b/projects/Speed_Game/windows/images/fi 2.png differ diff --git a/projects/Speed_Game/windows/images/fi.png b/projects/Speed_Game/windows/images/fi.png new file mode 100644 index 000000000..f0739d20b Binary files /dev/null and b/projects/Speed_Game/windows/images/fi.png differ diff --git a/projects/Speed_Game/windows/images/fj 2.png b/projects/Speed_Game/windows/images/fj 2.png new file mode 100644 index 000000000..6b3425818 Binary files /dev/null and b/projects/Speed_Game/windows/images/fj 2.png differ diff --git a/projects/Speed_Game/windows/images/fj.png b/projects/Speed_Game/windows/images/fj.png new file mode 100644 index 000000000..6b3425818 Binary files /dev/null and b/projects/Speed_Game/windows/images/fj.png differ diff --git a/projects/Speed_Game/windows/images/fk 2.png b/projects/Speed_Game/windows/images/fk 2.png new file mode 100644 index 000000000..5094ab197 Binary files /dev/null and b/projects/Speed_Game/windows/images/fk 2.png differ diff --git a/projects/Speed_Game/windows/images/fk.png b/projects/Speed_Game/windows/images/fk.png new file mode 100644 index 000000000..5094ab197 Binary files /dev/null and b/projects/Speed_Game/windows/images/fk.png differ diff --git a/projects/Speed_Game/windows/images/fm 2.png b/projects/Speed_Game/windows/images/fm 2.png new file mode 100644 index 000000000..41e911a98 Binary files /dev/null and b/projects/Speed_Game/windows/images/fm 2.png differ diff --git a/projects/Speed_Game/windows/images/fm.png b/projects/Speed_Game/windows/images/fm.png new file mode 100644 index 000000000..41e911a98 Binary files /dev/null and b/projects/Speed_Game/windows/images/fm.png differ diff --git a/projects/Speed_Game/windows/images/fo 2.png b/projects/Speed_Game/windows/images/fo 2.png new file mode 100644 index 000000000..48eff3417 Binary files /dev/null and b/projects/Speed_Game/windows/images/fo 2.png differ diff --git a/projects/Speed_Game/windows/images/fo.png b/projects/Speed_Game/windows/images/fo.png new file mode 100644 index 000000000..48eff3417 Binary files /dev/null and b/projects/Speed_Game/windows/images/fo.png differ diff --git a/projects/Speed_Game/windows/images/fr 2.png b/projects/Speed_Game/windows/images/fr 2.png new file mode 100644 index 000000000..d5f30b427 Binary files /dev/null and b/projects/Speed_Game/windows/images/fr 2.png differ diff --git a/projects/Speed_Game/windows/images/fr.png b/projects/Speed_Game/windows/images/fr.png new file mode 100644 index 000000000..d5f30b427 Binary files /dev/null and b/projects/Speed_Game/windows/images/fr.png differ diff --git a/projects/Speed_Game/windows/images/ga 2.png b/projects/Speed_Game/windows/images/ga 2.png new file mode 100644 index 000000000..0e8ed5218 Binary files /dev/null and b/projects/Speed_Game/windows/images/ga 2.png differ diff --git a/projects/Speed_Game/windows/images/ga.png b/projects/Speed_Game/windows/images/ga.png new file mode 100644 index 000000000..0e8ed5218 Binary files /dev/null and b/projects/Speed_Game/windows/images/ga.png differ diff --git a/projects/Speed_Game/windows/images/gb 2.png b/projects/Speed_Game/windows/images/gb 2.png new file mode 100644 index 000000000..3188a24c2 Binary files /dev/null and b/projects/Speed_Game/windows/images/gb 2.png differ diff --git a/projects/Speed_Game/windows/images/gb-eng 2.png b/projects/Speed_Game/windows/images/gb-eng 2.png new file mode 100644 index 000000000..f6aeda130 Binary files /dev/null and b/projects/Speed_Game/windows/images/gb-eng 2.png differ diff --git a/projects/Speed_Game/windows/images/gb-eng.png b/projects/Speed_Game/windows/images/gb-eng.png new file mode 100644 index 000000000..f6aeda130 Binary files /dev/null and b/projects/Speed_Game/windows/images/gb-eng.png differ diff --git a/projects/Speed_Game/windows/images/gb-nir 2.png b/projects/Speed_Game/windows/images/gb-nir 2.png new file mode 100644 index 000000000..1de5843c6 Binary files /dev/null and b/projects/Speed_Game/windows/images/gb-nir 2.png differ diff --git a/projects/Speed_Game/windows/images/gb-nir.png b/projects/Speed_Game/windows/images/gb-nir.png new file mode 100644 index 000000000..1de5843c6 Binary files /dev/null and b/projects/Speed_Game/windows/images/gb-nir.png differ diff --git a/projects/Speed_Game/windows/images/gb-sct 2.png b/projects/Speed_Game/windows/images/gb-sct 2.png new file mode 100644 index 000000000..0cff8df3c Binary files /dev/null and b/projects/Speed_Game/windows/images/gb-sct 2.png differ diff --git a/projects/Speed_Game/windows/images/gb-sct.png b/projects/Speed_Game/windows/images/gb-sct.png new file mode 100644 index 000000000..0cff8df3c Binary files /dev/null and b/projects/Speed_Game/windows/images/gb-sct.png differ diff --git a/projects/Speed_Game/windows/images/gb-wls 2.png b/projects/Speed_Game/windows/images/gb-wls 2.png new file mode 100644 index 000000000..a1343ac46 Binary files /dev/null and b/projects/Speed_Game/windows/images/gb-wls 2.png differ diff --git a/projects/Speed_Game/windows/images/gb-wls.png b/projects/Speed_Game/windows/images/gb-wls.png new file mode 100644 index 000000000..a1343ac46 Binary files /dev/null and b/projects/Speed_Game/windows/images/gb-wls.png differ diff --git a/projects/Speed_Game/windows/images/gb.png b/projects/Speed_Game/windows/images/gb.png new file mode 100644 index 000000000..3188a24c2 Binary files /dev/null and b/projects/Speed_Game/windows/images/gb.png differ diff --git a/projects/Speed_Game/windows/images/gd 2.png b/projects/Speed_Game/windows/images/gd 2.png new file mode 100644 index 000000000..e96883363 Binary files /dev/null and b/projects/Speed_Game/windows/images/gd 2.png differ diff --git a/projects/Speed_Game/windows/images/gd.png b/projects/Speed_Game/windows/images/gd.png new file mode 100644 index 000000000..e96883363 Binary files /dev/null and b/projects/Speed_Game/windows/images/gd.png differ diff --git a/projects/Speed_Game/windows/images/ge 2.png b/projects/Speed_Game/windows/images/ge 2.png new file mode 100644 index 000000000..262ac5e09 Binary files /dev/null and b/projects/Speed_Game/windows/images/ge 2.png differ diff --git a/projects/Speed_Game/windows/images/ge.png b/projects/Speed_Game/windows/images/ge.png new file mode 100644 index 000000000..262ac5e09 Binary files /dev/null and b/projects/Speed_Game/windows/images/ge.png differ diff --git a/projects/Speed_Game/windows/images/gf 2.png b/projects/Speed_Game/windows/images/gf 2.png new file mode 100644 index 000000000..0dd8f9010 Binary files /dev/null and b/projects/Speed_Game/windows/images/gf 2.png differ diff --git a/projects/Speed_Game/windows/images/gf.png b/projects/Speed_Game/windows/images/gf.png new file mode 100644 index 000000000..0dd8f9010 Binary files /dev/null and b/projects/Speed_Game/windows/images/gf.png differ diff --git a/projects/Speed_Game/windows/images/gg 2.png b/projects/Speed_Game/windows/images/gg 2.png new file mode 100644 index 000000000..b2146712b Binary files /dev/null and b/projects/Speed_Game/windows/images/gg 2.png differ diff --git a/projects/Speed_Game/windows/images/gg.png b/projects/Speed_Game/windows/images/gg.png new file mode 100644 index 000000000..b2146712b Binary files /dev/null and b/projects/Speed_Game/windows/images/gg.png differ diff --git a/projects/Speed_Game/windows/images/gh 2.png b/projects/Speed_Game/windows/images/gh 2.png new file mode 100644 index 000000000..7fdf73af0 Binary files /dev/null and b/projects/Speed_Game/windows/images/gh 2.png differ diff --git a/projects/Speed_Game/windows/images/gh.png b/projects/Speed_Game/windows/images/gh.png new file mode 100644 index 000000000..7fdf73af0 Binary files /dev/null and b/projects/Speed_Game/windows/images/gh.png differ diff --git a/projects/Speed_Game/windows/images/gi 2.png b/projects/Speed_Game/windows/images/gi 2.png new file mode 100644 index 000000000..eb06888b0 Binary files /dev/null and b/projects/Speed_Game/windows/images/gi 2.png differ diff --git a/projects/Speed_Game/windows/images/gi.png b/projects/Speed_Game/windows/images/gi.png new file mode 100644 index 000000000..eb06888b0 Binary files /dev/null and b/projects/Speed_Game/windows/images/gi.png differ diff --git a/projects/Speed_Game/windows/images/gl 2.png b/projects/Speed_Game/windows/images/gl 2.png new file mode 100644 index 000000000..c9e75102b Binary files /dev/null and b/projects/Speed_Game/windows/images/gl 2.png differ diff --git a/projects/Speed_Game/windows/images/gl.png b/projects/Speed_Game/windows/images/gl.png new file mode 100644 index 000000000..c9e75102b Binary files /dev/null and b/projects/Speed_Game/windows/images/gl.png differ diff --git a/projects/Speed_Game/windows/images/gm 2.png b/projects/Speed_Game/windows/images/gm 2.png new file mode 100644 index 000000000..9b1008078 Binary files /dev/null and b/projects/Speed_Game/windows/images/gm 2.png differ diff --git a/projects/Speed_Game/windows/images/gm.png b/projects/Speed_Game/windows/images/gm.png new file mode 100644 index 000000000..9b1008078 Binary files /dev/null and b/projects/Speed_Game/windows/images/gm.png differ diff --git a/projects/Speed_Game/windows/images/gn 2.png b/projects/Speed_Game/windows/images/gn 2.png new file mode 100644 index 000000000..e54ecfeb5 Binary files /dev/null and b/projects/Speed_Game/windows/images/gn 2.png differ diff --git a/projects/Speed_Game/windows/images/gn.png b/projects/Speed_Game/windows/images/gn.png new file mode 100644 index 000000000..e54ecfeb5 Binary files /dev/null and b/projects/Speed_Game/windows/images/gn.png differ diff --git a/projects/Speed_Game/windows/images/gp 2.png b/projects/Speed_Game/windows/images/gp 2.png new file mode 100644 index 000000000..c2d8120f1 Binary files /dev/null and b/projects/Speed_Game/windows/images/gp 2.png differ diff --git a/projects/Speed_Game/windows/images/gp.png b/projects/Speed_Game/windows/images/gp.png new file mode 100644 index 000000000..c2d8120f1 Binary files /dev/null and b/projects/Speed_Game/windows/images/gp.png differ diff --git a/projects/Speed_Game/windows/images/gq 2.png b/projects/Speed_Game/windows/images/gq 2.png new file mode 100644 index 000000000..f8e8d7023 Binary files /dev/null and b/projects/Speed_Game/windows/images/gq 2.png differ diff --git a/projects/Speed_Game/windows/images/gq.png b/projects/Speed_Game/windows/images/gq.png new file mode 100644 index 000000000..f8e8d7023 Binary files /dev/null and b/projects/Speed_Game/windows/images/gq.png differ diff --git a/projects/Speed_Game/windows/images/gr 2.png b/projects/Speed_Game/windows/images/gr 2.png new file mode 100644 index 000000000..71690ad85 Binary files /dev/null and b/projects/Speed_Game/windows/images/gr 2.png differ diff --git a/projects/Speed_Game/windows/images/gr.png b/projects/Speed_Game/windows/images/gr.png new file mode 100644 index 000000000..71690ad85 Binary files /dev/null and b/projects/Speed_Game/windows/images/gr.png differ diff --git a/projects/Speed_Game/windows/images/gs 2.png b/projects/Speed_Game/windows/images/gs 2.png new file mode 100644 index 000000000..4e5e94550 Binary files /dev/null and b/projects/Speed_Game/windows/images/gs 2.png differ diff --git a/projects/Speed_Game/windows/images/gs.png b/projects/Speed_Game/windows/images/gs.png new file mode 100644 index 000000000..4e5e94550 Binary files /dev/null and b/projects/Speed_Game/windows/images/gs.png differ diff --git a/projects/Speed_Game/windows/images/gt 2.png b/projects/Speed_Game/windows/images/gt 2.png new file mode 100644 index 000000000..e99752148 Binary files /dev/null and b/projects/Speed_Game/windows/images/gt 2.png differ diff --git a/projects/Speed_Game/windows/images/gt.png b/projects/Speed_Game/windows/images/gt.png new file mode 100644 index 000000000..e99752148 Binary files /dev/null and b/projects/Speed_Game/windows/images/gt.png differ diff --git a/projects/Speed_Game/windows/images/gu 2.png b/projects/Speed_Game/windows/images/gu 2.png new file mode 100644 index 000000000..36cf14c37 Binary files /dev/null and b/projects/Speed_Game/windows/images/gu 2.png differ diff --git a/projects/Speed_Game/windows/images/gu.png b/projects/Speed_Game/windows/images/gu.png new file mode 100644 index 000000000..36cf14c37 Binary files /dev/null and b/projects/Speed_Game/windows/images/gu.png differ diff --git a/projects/Speed_Game/windows/images/gw 2.png b/projects/Speed_Game/windows/images/gw 2.png new file mode 100644 index 000000000..2a5f1a0f2 Binary files /dev/null and b/projects/Speed_Game/windows/images/gw 2.png differ diff --git a/projects/Speed_Game/windows/images/gw.png b/projects/Speed_Game/windows/images/gw.png new file mode 100644 index 000000000..2a5f1a0f2 Binary files /dev/null and b/projects/Speed_Game/windows/images/gw.png differ diff --git a/projects/Speed_Game/windows/images/gy 2.png b/projects/Speed_Game/windows/images/gy 2.png new file mode 100644 index 000000000..89f291916 Binary files /dev/null and b/projects/Speed_Game/windows/images/gy 2.png differ diff --git a/projects/Speed_Game/windows/images/gy.png b/projects/Speed_Game/windows/images/gy.png new file mode 100644 index 000000000..89f291916 Binary files /dev/null and b/projects/Speed_Game/windows/images/gy.png differ diff --git a/projects/Speed_Game/windows/images/hk 2.png b/projects/Speed_Game/windows/images/hk 2.png new file mode 100644 index 000000000..c15c3cdf3 Binary files /dev/null and b/projects/Speed_Game/windows/images/hk 2.png differ diff --git a/projects/Speed_Game/windows/images/hk.png b/projects/Speed_Game/windows/images/hk.png new file mode 100644 index 000000000..c15c3cdf3 Binary files /dev/null and b/projects/Speed_Game/windows/images/hk.png differ diff --git a/projects/Speed_Game/windows/images/hm 2.png b/projects/Speed_Game/windows/images/hm 2.png new file mode 100644 index 000000000..b33d7359a Binary files /dev/null and b/projects/Speed_Game/windows/images/hm 2.png differ diff --git a/projects/Speed_Game/windows/images/hm.png b/projects/Speed_Game/windows/images/hm.png new file mode 100644 index 000000000..b33d7359a Binary files /dev/null and b/projects/Speed_Game/windows/images/hm.png differ diff --git a/projects/Speed_Game/windows/images/hn 2.png b/projects/Speed_Game/windows/images/hn 2.png new file mode 100644 index 000000000..916405502 Binary files /dev/null and b/projects/Speed_Game/windows/images/hn 2.png differ diff --git a/projects/Speed_Game/windows/images/hn.png b/projects/Speed_Game/windows/images/hn.png new file mode 100644 index 000000000..916405502 Binary files /dev/null and b/projects/Speed_Game/windows/images/hn.png differ diff --git a/projects/Speed_Game/windows/images/hr 2.png b/projects/Speed_Game/windows/images/hr 2.png new file mode 100644 index 000000000..e9718875a Binary files /dev/null and b/projects/Speed_Game/windows/images/hr 2.png differ diff --git a/projects/Speed_Game/windows/images/hr.png b/projects/Speed_Game/windows/images/hr.png new file mode 100644 index 000000000..e9718875a Binary files /dev/null and b/projects/Speed_Game/windows/images/hr.png differ diff --git a/projects/Speed_Game/windows/images/ht 2.png b/projects/Speed_Game/windows/images/ht 2.png new file mode 100644 index 000000000..10742d121 Binary files /dev/null and b/projects/Speed_Game/windows/images/ht 2.png differ diff --git a/projects/Speed_Game/windows/images/ht.png b/projects/Speed_Game/windows/images/ht.png new file mode 100644 index 000000000..10742d121 Binary files /dev/null and b/projects/Speed_Game/windows/images/ht.png differ diff --git a/projects/Speed_Game/windows/images/hu 2.png b/projects/Speed_Game/windows/images/hu 2.png new file mode 100644 index 000000000..744824cfd Binary files /dev/null and b/projects/Speed_Game/windows/images/hu 2.png differ diff --git a/projects/Speed_Game/windows/images/hu.png b/projects/Speed_Game/windows/images/hu.png new file mode 100644 index 000000000..744824cfd Binary files /dev/null and b/projects/Speed_Game/windows/images/hu.png differ diff --git a/projects/Speed_Game/windows/images/id 2.png b/projects/Speed_Game/windows/images/id 2.png new file mode 100644 index 000000000..2085f328b Binary files /dev/null and b/projects/Speed_Game/windows/images/id 2.png differ diff --git a/projects/Speed_Game/windows/images/id.png b/projects/Speed_Game/windows/images/id.png new file mode 100644 index 000000000..2085f328b Binary files /dev/null and b/projects/Speed_Game/windows/images/id.png differ diff --git a/projects/Speed_Game/windows/images/ie 2.png b/projects/Speed_Game/windows/images/ie 2.png new file mode 100644 index 000000000..4af13c97e Binary files /dev/null and b/projects/Speed_Game/windows/images/ie 2.png differ diff --git a/projects/Speed_Game/windows/images/ie.png b/projects/Speed_Game/windows/images/ie.png new file mode 100644 index 000000000..4af13c97e Binary files /dev/null and b/projects/Speed_Game/windows/images/ie.png differ diff --git a/projects/Speed_Game/windows/images/il 2.png b/projects/Speed_Game/windows/images/il 2.png new file mode 100644 index 000000000..852e65640 Binary files /dev/null and b/projects/Speed_Game/windows/images/il 2.png differ diff --git a/projects/Speed_Game/windows/images/il.png b/projects/Speed_Game/windows/images/il.png new file mode 100644 index 000000000..852e65640 Binary files /dev/null and b/projects/Speed_Game/windows/images/il.png differ diff --git a/projects/Speed_Game/windows/images/im 2.png b/projects/Speed_Game/windows/images/im 2.png new file mode 100644 index 000000000..59cc34a36 Binary files /dev/null and b/projects/Speed_Game/windows/images/im 2.png differ diff --git a/projects/Speed_Game/windows/images/im.png b/projects/Speed_Game/windows/images/im.png new file mode 100644 index 000000000..59cc34a36 Binary files /dev/null and b/projects/Speed_Game/windows/images/im.png differ diff --git a/projects/Speed_Game/windows/images/in 2.png b/projects/Speed_Game/windows/images/in 2.png new file mode 100644 index 000000000..46b99add9 Binary files /dev/null and b/projects/Speed_Game/windows/images/in 2.png differ diff --git a/projects/Speed_Game/windows/images/in.png b/projects/Speed_Game/windows/images/in.png new file mode 100644 index 000000000..46b99add9 Binary files /dev/null and b/projects/Speed_Game/windows/images/in.png differ diff --git a/projects/Speed_Game/windows/images/io 2.png b/projects/Speed_Game/windows/images/io 2.png new file mode 100644 index 000000000..97fc903d7 Binary files /dev/null and b/projects/Speed_Game/windows/images/io 2.png differ diff --git a/projects/Speed_Game/windows/images/io.png b/projects/Speed_Game/windows/images/io.png new file mode 100644 index 000000000..97fc903d7 Binary files /dev/null and b/projects/Speed_Game/windows/images/io.png differ diff --git a/projects/Speed_Game/windows/images/iq 2.png b/projects/Speed_Game/windows/images/iq 2.png new file mode 100644 index 000000000..0b57fd4b3 Binary files /dev/null and b/projects/Speed_Game/windows/images/iq 2.png differ diff --git a/projects/Speed_Game/windows/images/iq.png b/projects/Speed_Game/windows/images/iq.png new file mode 100644 index 000000000..0b57fd4b3 Binary files /dev/null and b/projects/Speed_Game/windows/images/iq.png differ diff --git a/projects/Speed_Game/windows/images/ir 2.png b/projects/Speed_Game/windows/images/ir 2.png new file mode 100644 index 000000000..b9dacb07d Binary files /dev/null and b/projects/Speed_Game/windows/images/ir 2.png differ diff --git a/projects/Speed_Game/windows/images/ir.png b/projects/Speed_Game/windows/images/ir.png new file mode 100644 index 000000000..b9dacb07d Binary files /dev/null and b/projects/Speed_Game/windows/images/ir.png differ diff --git a/projects/Speed_Game/windows/images/is 2.png b/projects/Speed_Game/windows/images/is 2.png new file mode 100644 index 000000000..2f2523798 Binary files /dev/null and b/projects/Speed_Game/windows/images/is 2.png differ diff --git a/projects/Speed_Game/windows/images/is.png b/projects/Speed_Game/windows/images/is.png new file mode 100644 index 000000000..2f2523798 Binary files /dev/null and b/projects/Speed_Game/windows/images/is.png differ diff --git a/projects/Speed_Game/windows/images/it 2.png b/projects/Speed_Game/windows/images/it 2.png new file mode 100644 index 000000000..2abfc6b2e Binary files /dev/null and b/projects/Speed_Game/windows/images/it 2.png differ diff --git a/projects/Speed_Game/windows/images/it.png b/projects/Speed_Game/windows/images/it.png new file mode 100644 index 000000000..2abfc6b2e Binary files /dev/null and b/projects/Speed_Game/windows/images/it.png differ diff --git a/projects/Speed_Game/windows/images/je 2.png b/projects/Speed_Game/windows/images/je 2.png new file mode 100644 index 000000000..910212a6e Binary files /dev/null and b/projects/Speed_Game/windows/images/je 2.png differ diff --git a/projects/Speed_Game/windows/images/je.png b/projects/Speed_Game/windows/images/je.png new file mode 100644 index 000000000..910212a6e Binary files /dev/null and b/projects/Speed_Game/windows/images/je.png differ diff --git a/projects/Speed_Game/windows/images/jm 2.png b/projects/Speed_Game/windows/images/jm 2.png new file mode 100644 index 000000000..63736421f Binary files /dev/null and b/projects/Speed_Game/windows/images/jm 2.png differ diff --git a/projects/Speed_Game/windows/images/jm.png b/projects/Speed_Game/windows/images/jm.png new file mode 100644 index 000000000..63736421f Binary files /dev/null and b/projects/Speed_Game/windows/images/jm.png differ diff --git a/projects/Speed_Game/windows/images/jo 2.png b/projects/Speed_Game/windows/images/jo 2.png new file mode 100644 index 000000000..08da5d7c3 Binary files /dev/null and b/projects/Speed_Game/windows/images/jo 2.png differ diff --git a/projects/Speed_Game/windows/images/jo.png b/projects/Speed_Game/windows/images/jo.png new file mode 100644 index 000000000..08da5d7c3 Binary files /dev/null and b/projects/Speed_Game/windows/images/jo.png differ diff --git a/projects/Speed_Game/windows/images/jp 2.png b/projects/Speed_Game/windows/images/jp 2.png new file mode 100644 index 000000000..1f9badaf1 Binary files /dev/null and b/projects/Speed_Game/windows/images/jp 2.png differ diff --git a/projects/Speed_Game/windows/images/jp.png b/projects/Speed_Game/windows/images/jp.png new file mode 100644 index 000000000..1f9badaf1 Binary files /dev/null and b/projects/Speed_Game/windows/images/jp.png differ diff --git a/projects/Speed_Game/windows/images/ke 2.png b/projects/Speed_Game/windows/images/ke 2.png new file mode 100644 index 000000000..08379eced Binary files /dev/null and b/projects/Speed_Game/windows/images/ke 2.png differ diff --git a/projects/Speed_Game/windows/images/ke.png b/projects/Speed_Game/windows/images/ke.png new file mode 100644 index 000000000..08379eced Binary files /dev/null and b/projects/Speed_Game/windows/images/ke.png differ diff --git a/projects/Speed_Game/windows/images/kg 2.png b/projects/Speed_Game/windows/images/kg 2.png new file mode 100644 index 000000000..3097fb61e Binary files /dev/null and b/projects/Speed_Game/windows/images/kg 2.png differ diff --git a/projects/Speed_Game/windows/images/kg.png b/projects/Speed_Game/windows/images/kg.png new file mode 100644 index 000000000..3097fb61e Binary files /dev/null and b/projects/Speed_Game/windows/images/kg.png differ diff --git a/projects/Speed_Game/windows/images/kh 2.png b/projects/Speed_Game/windows/images/kh 2.png new file mode 100644 index 000000000..cd51b9746 Binary files /dev/null and b/projects/Speed_Game/windows/images/kh 2.png differ diff --git a/projects/Speed_Game/windows/images/kh.png b/projects/Speed_Game/windows/images/kh.png new file mode 100644 index 000000000..cd51b9746 Binary files /dev/null and b/projects/Speed_Game/windows/images/kh.png differ diff --git a/projects/Speed_Game/windows/images/ki 2.png b/projects/Speed_Game/windows/images/ki 2.png new file mode 100644 index 000000000..38bc17567 Binary files /dev/null and b/projects/Speed_Game/windows/images/ki 2.png differ diff --git a/projects/Speed_Game/windows/images/ki.png b/projects/Speed_Game/windows/images/ki.png new file mode 100644 index 000000000..38bc17567 Binary files /dev/null and b/projects/Speed_Game/windows/images/ki.png differ diff --git a/projects/Speed_Game/windows/images/km 2.png b/projects/Speed_Game/windows/images/km 2.png new file mode 100644 index 000000000..0e05d31fb Binary files /dev/null and b/projects/Speed_Game/windows/images/km 2.png differ diff --git a/projects/Speed_Game/windows/images/km.png b/projects/Speed_Game/windows/images/km.png new file mode 100644 index 000000000..0e05d31fb Binary files /dev/null and b/projects/Speed_Game/windows/images/km.png differ diff --git a/projects/Speed_Game/windows/images/kn 2.png b/projects/Speed_Game/windows/images/kn 2.png new file mode 100644 index 000000000..96732f64f Binary files /dev/null and b/projects/Speed_Game/windows/images/kn 2.png differ diff --git a/projects/Speed_Game/windows/images/kn.png b/projects/Speed_Game/windows/images/kn.png new file mode 100644 index 000000000..96732f64f Binary files /dev/null and b/projects/Speed_Game/windows/images/kn.png differ diff --git a/projects/Speed_Game/windows/images/kp 2.png b/projects/Speed_Game/windows/images/kp 2.png new file mode 100644 index 000000000..9edcfe3c7 Binary files /dev/null and b/projects/Speed_Game/windows/images/kp 2.png differ diff --git a/projects/Speed_Game/windows/images/kp.png b/projects/Speed_Game/windows/images/kp.png new file mode 100644 index 000000000..9edcfe3c7 Binary files /dev/null and b/projects/Speed_Game/windows/images/kp.png differ diff --git a/projects/Speed_Game/windows/images/kr 2.png b/projects/Speed_Game/windows/images/kr 2.png new file mode 100644 index 000000000..2424e4c58 Binary files /dev/null and b/projects/Speed_Game/windows/images/kr 2.png differ diff --git a/projects/Speed_Game/windows/images/kr.png b/projects/Speed_Game/windows/images/kr.png new file mode 100644 index 000000000..2424e4c58 Binary files /dev/null and b/projects/Speed_Game/windows/images/kr.png differ diff --git a/projects/Speed_Game/windows/images/kw 2.png b/projects/Speed_Game/windows/images/kw 2.png new file mode 100644 index 000000000..ce1f32c5f Binary files /dev/null and b/projects/Speed_Game/windows/images/kw 2.png differ diff --git a/projects/Speed_Game/windows/images/kw.png b/projects/Speed_Game/windows/images/kw.png new file mode 100644 index 000000000..ce1f32c5f Binary files /dev/null and b/projects/Speed_Game/windows/images/kw.png differ diff --git a/projects/Speed_Game/windows/images/ky 2.png b/projects/Speed_Game/windows/images/ky 2.png new file mode 100644 index 000000000..bc6209837 Binary files /dev/null and b/projects/Speed_Game/windows/images/ky 2.png differ diff --git a/projects/Speed_Game/windows/images/ky.png b/projects/Speed_Game/windows/images/ky.png new file mode 100644 index 000000000..bc6209837 Binary files /dev/null and b/projects/Speed_Game/windows/images/ky.png differ diff --git a/projects/Speed_Game/windows/images/kz 2.png b/projects/Speed_Game/windows/images/kz 2.png new file mode 100644 index 000000000..bddc74c48 Binary files /dev/null and b/projects/Speed_Game/windows/images/kz 2.png differ diff --git a/projects/Speed_Game/windows/images/kz.png b/projects/Speed_Game/windows/images/kz.png new file mode 100644 index 000000000..bddc74c48 Binary files /dev/null and b/projects/Speed_Game/windows/images/kz.png differ diff --git a/projects/Speed_Game/windows/images/la 2.png b/projects/Speed_Game/windows/images/la 2.png new file mode 100644 index 000000000..d2a549ba1 Binary files /dev/null and b/projects/Speed_Game/windows/images/la 2.png differ diff --git a/projects/Speed_Game/windows/images/la.png b/projects/Speed_Game/windows/images/la.png new file mode 100644 index 000000000..d2a549ba1 Binary files /dev/null and b/projects/Speed_Game/windows/images/la.png differ diff --git a/projects/Speed_Game/windows/images/lb 2.png b/projects/Speed_Game/windows/images/lb 2.png new file mode 100644 index 000000000..bc7859e17 Binary files /dev/null and b/projects/Speed_Game/windows/images/lb 2.png differ diff --git a/projects/Speed_Game/windows/images/lb.png b/projects/Speed_Game/windows/images/lb.png new file mode 100644 index 000000000..bc7859e17 Binary files /dev/null and b/projects/Speed_Game/windows/images/lb.png differ diff --git a/projects/Speed_Game/windows/images/lc 2.png b/projects/Speed_Game/windows/images/lc 2.png new file mode 100644 index 000000000..9e273a56a Binary files /dev/null and b/projects/Speed_Game/windows/images/lc 2.png differ diff --git a/projects/Speed_Game/windows/images/lc.png b/projects/Speed_Game/windows/images/lc.png new file mode 100644 index 000000000..9e273a56a Binary files /dev/null and b/projects/Speed_Game/windows/images/lc.png differ diff --git a/projects/Speed_Game/windows/images/li 2.png b/projects/Speed_Game/windows/images/li 2.png new file mode 100644 index 000000000..8c788578e Binary files /dev/null and b/projects/Speed_Game/windows/images/li 2.png differ diff --git a/projects/Speed_Game/windows/images/li.png b/projects/Speed_Game/windows/images/li.png new file mode 100644 index 000000000..8c788578e Binary files /dev/null and b/projects/Speed_Game/windows/images/li.png differ diff --git a/projects/Speed_Game/windows/images/lk 2.png b/projects/Speed_Game/windows/images/lk 2.png new file mode 100644 index 000000000..ea5ae4edd Binary files /dev/null and b/projects/Speed_Game/windows/images/lk 2.png differ diff --git a/projects/Speed_Game/windows/images/lk.png b/projects/Speed_Game/windows/images/lk.png new file mode 100644 index 000000000..ea5ae4edd Binary files /dev/null and b/projects/Speed_Game/windows/images/lk.png differ diff --git a/projects/Speed_Game/windows/images/lr 2.png b/projects/Speed_Game/windows/images/lr 2.png new file mode 100644 index 000000000..7a76660af Binary files /dev/null and b/projects/Speed_Game/windows/images/lr 2.png differ diff --git a/projects/Speed_Game/windows/images/lr.png b/projects/Speed_Game/windows/images/lr.png new file mode 100644 index 000000000..7a76660af Binary files /dev/null and b/projects/Speed_Game/windows/images/lr.png differ diff --git a/projects/Speed_Game/windows/images/ls 2.png b/projects/Speed_Game/windows/images/ls 2.png new file mode 100644 index 000000000..29af93eea Binary files /dev/null and b/projects/Speed_Game/windows/images/ls 2.png differ diff --git a/projects/Speed_Game/windows/images/ls.png b/projects/Speed_Game/windows/images/ls.png new file mode 100644 index 000000000..29af93eea Binary files /dev/null and b/projects/Speed_Game/windows/images/ls.png differ diff --git a/projects/Speed_Game/windows/images/lt 2.png b/projects/Speed_Game/windows/images/lt 2.png new file mode 100644 index 000000000..f3362743d Binary files /dev/null and b/projects/Speed_Game/windows/images/lt 2.png differ diff --git a/projects/Speed_Game/windows/images/lt.png b/projects/Speed_Game/windows/images/lt.png new file mode 100644 index 000000000..f3362743d Binary files /dev/null and b/projects/Speed_Game/windows/images/lt.png differ diff --git a/projects/Speed_Game/windows/images/lu 2.png b/projects/Speed_Game/windows/images/lu 2.png new file mode 100644 index 000000000..ec1c41ad1 Binary files /dev/null and b/projects/Speed_Game/windows/images/lu 2.png differ diff --git a/projects/Speed_Game/windows/images/lu.png b/projects/Speed_Game/windows/images/lu.png new file mode 100644 index 000000000..ec1c41ad1 Binary files /dev/null and b/projects/Speed_Game/windows/images/lu.png differ diff --git a/projects/Speed_Game/windows/images/lv 2.png b/projects/Speed_Game/windows/images/lv 2.png new file mode 100644 index 000000000..406289ccd Binary files /dev/null and b/projects/Speed_Game/windows/images/lv 2.png differ diff --git a/projects/Speed_Game/windows/images/lv.png b/projects/Speed_Game/windows/images/lv.png new file mode 100644 index 000000000..406289ccd Binary files /dev/null and b/projects/Speed_Game/windows/images/lv.png differ diff --git a/projects/Speed_Game/windows/images/ly 2.png b/projects/Speed_Game/windows/images/ly 2.png new file mode 100644 index 000000000..7d4bcdf73 Binary files /dev/null and b/projects/Speed_Game/windows/images/ly 2.png differ diff --git a/projects/Speed_Game/windows/images/ly.png b/projects/Speed_Game/windows/images/ly.png new file mode 100644 index 000000000..7d4bcdf73 Binary files /dev/null and b/projects/Speed_Game/windows/images/ly.png differ diff --git a/projects/Speed_Game/windows/images/ma 2.png b/projects/Speed_Game/windows/images/ma 2.png new file mode 100644 index 000000000..0eb5815bd Binary files /dev/null and b/projects/Speed_Game/windows/images/ma 2.png differ diff --git a/projects/Speed_Game/windows/images/ma.png b/projects/Speed_Game/windows/images/ma.png new file mode 100644 index 000000000..0eb5815bd Binary files /dev/null and b/projects/Speed_Game/windows/images/ma.png differ diff --git a/projects/Speed_Game/windows/images/mc 2.png b/projects/Speed_Game/windows/images/mc 2.png new file mode 100644 index 000000000..637ca2809 Binary files /dev/null and b/projects/Speed_Game/windows/images/mc 2.png differ diff --git a/projects/Speed_Game/windows/images/mc.png b/projects/Speed_Game/windows/images/mc.png new file mode 100644 index 000000000..637ca2809 Binary files /dev/null and b/projects/Speed_Game/windows/images/mc.png differ diff --git a/projects/Speed_Game/windows/images/md 2.png b/projects/Speed_Game/windows/images/md 2.png new file mode 100644 index 000000000..c315bd34b Binary files /dev/null and b/projects/Speed_Game/windows/images/md 2.png differ diff --git a/projects/Speed_Game/windows/images/md.png b/projects/Speed_Game/windows/images/md.png new file mode 100644 index 000000000..c315bd34b Binary files /dev/null and b/projects/Speed_Game/windows/images/md.png differ diff --git a/projects/Speed_Game/windows/images/me 2.png b/projects/Speed_Game/windows/images/me 2.png new file mode 100644 index 000000000..f3f629136 Binary files /dev/null and b/projects/Speed_Game/windows/images/me 2.png differ diff --git a/projects/Speed_Game/windows/images/me.png b/projects/Speed_Game/windows/images/me.png new file mode 100644 index 000000000..f3f629136 Binary files /dev/null and b/projects/Speed_Game/windows/images/me.png differ diff --git a/projects/Speed_Game/windows/images/mf 2.png b/projects/Speed_Game/windows/images/mf 2.png new file mode 100644 index 000000000..d5f30b427 Binary files /dev/null and b/projects/Speed_Game/windows/images/mf 2.png differ diff --git a/projects/Speed_Game/windows/images/mf.png b/projects/Speed_Game/windows/images/mf.png new file mode 100644 index 000000000..d5f30b427 Binary files /dev/null and b/projects/Speed_Game/windows/images/mf.png differ diff --git a/projects/Speed_Game/windows/images/mg 2.png b/projects/Speed_Game/windows/images/mg 2.png new file mode 100644 index 000000000..c98660443 Binary files /dev/null and b/projects/Speed_Game/windows/images/mg 2.png differ diff --git a/projects/Speed_Game/windows/images/mg.png b/projects/Speed_Game/windows/images/mg.png new file mode 100644 index 000000000..c98660443 Binary files /dev/null and b/projects/Speed_Game/windows/images/mg.png differ diff --git a/projects/Speed_Game/windows/images/mh 2.png b/projects/Speed_Game/windows/images/mh 2.png new file mode 100644 index 000000000..9a3262663 Binary files /dev/null and b/projects/Speed_Game/windows/images/mh 2.png differ diff --git a/projects/Speed_Game/windows/images/mh.png b/projects/Speed_Game/windows/images/mh.png new file mode 100644 index 000000000..9a3262663 Binary files /dev/null and b/projects/Speed_Game/windows/images/mh.png differ diff --git a/projects/Speed_Game/windows/images/mk 2.png b/projects/Speed_Game/windows/images/mk 2.png new file mode 100644 index 000000000..b51836a93 Binary files /dev/null and b/projects/Speed_Game/windows/images/mk 2.png differ diff --git a/projects/Speed_Game/windows/images/mk.png b/projects/Speed_Game/windows/images/mk.png new file mode 100644 index 000000000..b51836a93 Binary files /dev/null and b/projects/Speed_Game/windows/images/mk.png differ diff --git a/projects/Speed_Game/windows/images/ml 2.png b/projects/Speed_Game/windows/images/ml 2.png new file mode 100644 index 000000000..6148eefba Binary files /dev/null and b/projects/Speed_Game/windows/images/ml 2.png differ diff --git a/projects/Speed_Game/windows/images/ml.png b/projects/Speed_Game/windows/images/ml.png new file mode 100644 index 000000000..6148eefba Binary files /dev/null and b/projects/Speed_Game/windows/images/ml.png differ diff --git a/projects/Speed_Game/windows/images/mm 2.png b/projects/Speed_Game/windows/images/mm 2.png new file mode 100644 index 000000000..929c1781f Binary files /dev/null and b/projects/Speed_Game/windows/images/mm 2.png differ diff --git a/projects/Speed_Game/windows/images/mm.png b/projects/Speed_Game/windows/images/mm.png new file mode 100644 index 000000000..929c1781f Binary files /dev/null and b/projects/Speed_Game/windows/images/mm.png differ diff --git a/projects/Speed_Game/windows/images/mn 2.png b/projects/Speed_Game/windows/images/mn 2.png new file mode 100644 index 000000000..8c18dfb66 Binary files /dev/null and b/projects/Speed_Game/windows/images/mn 2.png differ diff --git a/projects/Speed_Game/windows/images/mn.png b/projects/Speed_Game/windows/images/mn.png new file mode 100644 index 000000000..8c18dfb66 Binary files /dev/null and b/projects/Speed_Game/windows/images/mn.png differ diff --git a/projects/Speed_Game/windows/images/mo 2.png b/projects/Speed_Game/windows/images/mo 2.png new file mode 100644 index 000000000..494c04b12 Binary files /dev/null and b/projects/Speed_Game/windows/images/mo 2.png differ diff --git a/projects/Speed_Game/windows/images/mo.png b/projects/Speed_Game/windows/images/mo.png new file mode 100644 index 000000000..494c04b12 Binary files /dev/null and b/projects/Speed_Game/windows/images/mo.png differ diff --git a/projects/Speed_Game/windows/images/mp 2.png b/projects/Speed_Game/windows/images/mp 2.png new file mode 100644 index 000000000..1c386c030 Binary files /dev/null and b/projects/Speed_Game/windows/images/mp 2.png differ diff --git a/projects/Speed_Game/windows/images/mp.png b/projects/Speed_Game/windows/images/mp.png new file mode 100644 index 000000000..1c386c030 Binary files /dev/null and b/projects/Speed_Game/windows/images/mp.png differ diff --git a/projects/Speed_Game/windows/images/mq 2.png b/projects/Speed_Game/windows/images/mq 2.png new file mode 100644 index 000000000..82d2f3113 Binary files /dev/null and b/projects/Speed_Game/windows/images/mq 2.png differ diff --git a/projects/Speed_Game/windows/images/mq.png b/projects/Speed_Game/windows/images/mq.png new file mode 100644 index 000000000..82d2f3113 Binary files /dev/null and b/projects/Speed_Game/windows/images/mq.png differ diff --git a/projects/Speed_Game/windows/images/mr 2.png b/projects/Speed_Game/windows/images/mr 2.png new file mode 100644 index 000000000..560f899d0 Binary files /dev/null and b/projects/Speed_Game/windows/images/mr 2.png differ diff --git a/projects/Speed_Game/windows/images/mr.png b/projects/Speed_Game/windows/images/mr.png new file mode 100644 index 000000000..560f899d0 Binary files /dev/null and b/projects/Speed_Game/windows/images/mr.png differ diff --git a/projects/Speed_Game/windows/images/ms 2.png b/projects/Speed_Game/windows/images/ms 2.png new file mode 100644 index 000000000..758b65174 Binary files /dev/null and b/projects/Speed_Game/windows/images/ms 2.png differ diff --git a/projects/Speed_Game/windows/images/ms.png b/projects/Speed_Game/windows/images/ms.png new file mode 100644 index 000000000..758b65174 Binary files /dev/null and b/projects/Speed_Game/windows/images/ms.png differ diff --git a/projects/Speed_Game/windows/images/mt 2.png b/projects/Speed_Game/windows/images/mt 2.png new file mode 100644 index 000000000..93d8927e5 Binary files /dev/null and b/projects/Speed_Game/windows/images/mt 2.png differ diff --git a/projects/Speed_Game/windows/images/mt.png b/projects/Speed_Game/windows/images/mt.png new file mode 100644 index 000000000..93d8927e5 Binary files /dev/null and b/projects/Speed_Game/windows/images/mt.png differ diff --git a/projects/Speed_Game/windows/images/mu 2.png b/projects/Speed_Game/windows/images/mu 2.png new file mode 100644 index 000000000..6d313e5a5 Binary files /dev/null and b/projects/Speed_Game/windows/images/mu 2.png differ diff --git a/projects/Speed_Game/windows/images/mu.png b/projects/Speed_Game/windows/images/mu.png new file mode 100644 index 000000000..6d313e5a5 Binary files /dev/null and b/projects/Speed_Game/windows/images/mu.png differ diff --git a/projects/Speed_Game/windows/images/mv 2.png b/projects/Speed_Game/windows/images/mv 2.png new file mode 100644 index 000000000..8f04da967 Binary files /dev/null and b/projects/Speed_Game/windows/images/mv 2.png differ diff --git a/projects/Speed_Game/windows/images/mv.png b/projects/Speed_Game/windows/images/mv.png new file mode 100644 index 000000000..8f04da967 Binary files /dev/null and b/projects/Speed_Game/windows/images/mv.png differ diff --git a/projects/Speed_Game/windows/images/mw 2.png b/projects/Speed_Game/windows/images/mw 2.png new file mode 100644 index 000000000..35672dbb6 Binary files /dev/null and b/projects/Speed_Game/windows/images/mw 2.png differ diff --git a/projects/Speed_Game/windows/images/mw.png b/projects/Speed_Game/windows/images/mw.png new file mode 100644 index 000000000..35672dbb6 Binary files /dev/null and b/projects/Speed_Game/windows/images/mw.png differ diff --git a/projects/Speed_Game/windows/images/mx 2.png b/projects/Speed_Game/windows/images/mx 2.png new file mode 100644 index 000000000..cd147f00f Binary files /dev/null and b/projects/Speed_Game/windows/images/mx 2.png differ diff --git a/projects/Speed_Game/windows/images/mx.png b/projects/Speed_Game/windows/images/mx.png new file mode 100644 index 000000000..cd147f00f Binary files /dev/null and b/projects/Speed_Game/windows/images/mx.png differ diff --git a/projects/Speed_Game/windows/images/my 2.png b/projects/Speed_Game/windows/images/my 2.png new file mode 100644 index 000000000..0c07dd052 Binary files /dev/null and b/projects/Speed_Game/windows/images/my 2.png differ diff --git a/projects/Speed_Game/windows/images/my.png b/projects/Speed_Game/windows/images/my.png new file mode 100644 index 000000000..0c07dd052 Binary files /dev/null and b/projects/Speed_Game/windows/images/my.png differ diff --git a/projects/Speed_Game/windows/images/mz 2.png b/projects/Speed_Game/windows/images/mz 2.png new file mode 100644 index 000000000..e6f741b34 Binary files /dev/null and b/projects/Speed_Game/windows/images/mz 2.png differ diff --git a/projects/Speed_Game/windows/images/mz.png b/projects/Speed_Game/windows/images/mz.png new file mode 100644 index 000000000..e6f741b34 Binary files /dev/null and b/projects/Speed_Game/windows/images/mz.png differ diff --git a/projects/Speed_Game/windows/images/na 2.png b/projects/Speed_Game/windows/images/na 2.png new file mode 100644 index 000000000..3959e2691 Binary files /dev/null and b/projects/Speed_Game/windows/images/na 2.png differ diff --git a/projects/Speed_Game/windows/images/na.png b/projects/Speed_Game/windows/images/na.png new file mode 100644 index 000000000..3959e2691 Binary files /dev/null and b/projects/Speed_Game/windows/images/na.png differ diff --git a/projects/Speed_Game/windows/images/nc 2.png b/projects/Speed_Game/windows/images/nc 2.png new file mode 100644 index 000000000..754b25ef7 Binary files /dev/null and b/projects/Speed_Game/windows/images/nc 2.png differ diff --git a/projects/Speed_Game/windows/images/nc.png b/projects/Speed_Game/windows/images/nc.png new file mode 100644 index 000000000..754b25ef7 Binary files /dev/null and b/projects/Speed_Game/windows/images/nc.png differ diff --git a/projects/Speed_Game/windows/images/ne 2.png b/projects/Speed_Game/windows/images/ne 2.png new file mode 100644 index 000000000..1181e146c Binary files /dev/null and b/projects/Speed_Game/windows/images/ne 2.png differ diff --git a/projects/Speed_Game/windows/images/ne.png b/projects/Speed_Game/windows/images/ne.png new file mode 100644 index 000000000..1181e146c Binary files /dev/null and b/projects/Speed_Game/windows/images/ne.png differ diff --git a/projects/Speed_Game/windows/images/nf 2.png b/projects/Speed_Game/windows/images/nf 2.png new file mode 100644 index 000000000..69b4666c9 Binary files /dev/null and b/projects/Speed_Game/windows/images/nf 2.png differ diff --git a/projects/Speed_Game/windows/images/nf.png b/projects/Speed_Game/windows/images/nf.png new file mode 100644 index 000000000..69b4666c9 Binary files /dev/null and b/projects/Speed_Game/windows/images/nf.png differ diff --git a/projects/Speed_Game/windows/images/ng 2.png b/projects/Speed_Game/windows/images/ng 2.png new file mode 100644 index 000000000..24459d4f2 Binary files /dev/null and b/projects/Speed_Game/windows/images/ng 2.png differ diff --git a/projects/Speed_Game/windows/images/ng.png b/projects/Speed_Game/windows/images/ng.png new file mode 100644 index 000000000..24459d4f2 Binary files /dev/null and b/projects/Speed_Game/windows/images/ng.png differ diff --git a/projects/Speed_Game/windows/images/ni 2.png b/projects/Speed_Game/windows/images/ni 2.png new file mode 100644 index 000000000..c13312516 Binary files /dev/null and b/projects/Speed_Game/windows/images/ni 2.png differ diff --git a/projects/Speed_Game/windows/images/ni.png b/projects/Speed_Game/windows/images/ni.png new file mode 100644 index 000000000..c13312516 Binary files /dev/null and b/projects/Speed_Game/windows/images/ni.png differ diff --git a/projects/Speed_Game/windows/images/nl 2.png b/projects/Speed_Game/windows/images/nl 2.png new file mode 100644 index 000000000..e633b0af5 Binary files /dev/null and b/projects/Speed_Game/windows/images/nl 2.png differ diff --git a/projects/Speed_Game/windows/images/nl.png b/projects/Speed_Game/windows/images/nl.png new file mode 100644 index 000000000..e633b0af5 Binary files /dev/null and b/projects/Speed_Game/windows/images/nl.png differ diff --git a/projects/Speed_Game/windows/images/no 2.png b/projects/Speed_Game/windows/images/no 2.png new file mode 100644 index 000000000..db3d73415 Binary files /dev/null and b/projects/Speed_Game/windows/images/no 2.png differ diff --git a/projects/Speed_Game/windows/images/no.png b/projects/Speed_Game/windows/images/no.png new file mode 100644 index 000000000..db3d73415 Binary files /dev/null and b/projects/Speed_Game/windows/images/no.png differ diff --git a/projects/Speed_Game/windows/images/np 2.png b/projects/Speed_Game/windows/images/np 2.png new file mode 100644 index 000000000..e2e82c7c6 Binary files /dev/null and b/projects/Speed_Game/windows/images/np 2.png differ diff --git a/projects/Speed_Game/windows/images/np.png b/projects/Speed_Game/windows/images/np.png new file mode 100644 index 000000000..e2e82c7c6 Binary files /dev/null and b/projects/Speed_Game/windows/images/np.png differ diff --git a/projects/Speed_Game/windows/images/nr 2.png b/projects/Speed_Game/windows/images/nr 2.png new file mode 100644 index 000000000..5ee1a200c Binary files /dev/null and b/projects/Speed_Game/windows/images/nr 2.png differ diff --git a/projects/Speed_Game/windows/images/nr.png b/projects/Speed_Game/windows/images/nr.png new file mode 100644 index 000000000..5ee1a200c Binary files /dev/null and b/projects/Speed_Game/windows/images/nr.png differ diff --git a/projects/Speed_Game/windows/images/nu 2.png b/projects/Speed_Game/windows/images/nu 2.png new file mode 100644 index 000000000..6c5b22c0a Binary files /dev/null and b/projects/Speed_Game/windows/images/nu 2.png differ diff --git a/projects/Speed_Game/windows/images/nu.png b/projects/Speed_Game/windows/images/nu.png new file mode 100644 index 000000000..6c5b22c0a Binary files /dev/null and b/projects/Speed_Game/windows/images/nu.png differ diff --git a/projects/Speed_Game/windows/images/nz 2.png b/projects/Speed_Game/windows/images/nz 2.png new file mode 100644 index 000000000..042446118 Binary files /dev/null and b/projects/Speed_Game/windows/images/nz 2.png differ diff --git a/projects/Speed_Game/windows/images/nz.png b/projects/Speed_Game/windows/images/nz.png new file mode 100644 index 000000000..042446118 Binary files /dev/null and b/projects/Speed_Game/windows/images/nz.png differ diff --git a/projects/Speed_Game/windows/images/om 2.png b/projects/Speed_Game/windows/images/om 2.png new file mode 100644 index 000000000..fd07e4fd7 Binary files /dev/null and b/projects/Speed_Game/windows/images/om 2.png differ diff --git a/projects/Speed_Game/windows/images/om.png b/projects/Speed_Game/windows/images/om.png new file mode 100644 index 000000000..fd07e4fd7 Binary files /dev/null and b/projects/Speed_Game/windows/images/om.png differ diff --git a/projects/Speed_Game/windows/images/pa 2.png b/projects/Speed_Game/windows/images/pa 2.png new file mode 100644 index 000000000..a7cf0284e Binary files /dev/null and b/projects/Speed_Game/windows/images/pa 2.png differ diff --git a/projects/Speed_Game/windows/images/pa.png b/projects/Speed_Game/windows/images/pa.png new file mode 100644 index 000000000..a7cf0284e Binary files /dev/null and b/projects/Speed_Game/windows/images/pa.png differ diff --git a/projects/Speed_Game/windows/images/pe 2.png b/projects/Speed_Game/windows/images/pe 2.png new file mode 100644 index 000000000..36b7cba74 Binary files /dev/null and b/projects/Speed_Game/windows/images/pe 2.png differ diff --git a/projects/Speed_Game/windows/images/pe.png b/projects/Speed_Game/windows/images/pe.png new file mode 100644 index 000000000..36b7cba74 Binary files /dev/null and b/projects/Speed_Game/windows/images/pe.png differ diff --git a/projects/Speed_Game/windows/images/pf 2.png b/projects/Speed_Game/windows/images/pf 2.png new file mode 100644 index 000000000..452db5575 Binary files /dev/null and b/projects/Speed_Game/windows/images/pf 2.png differ diff --git a/projects/Speed_Game/windows/images/pf.png b/projects/Speed_Game/windows/images/pf.png new file mode 100644 index 000000000..452db5575 Binary files /dev/null and b/projects/Speed_Game/windows/images/pf.png differ diff --git a/projects/Speed_Game/windows/images/pg 2.png b/projects/Speed_Game/windows/images/pg 2.png new file mode 100644 index 000000000..3ec7b0274 Binary files /dev/null and b/projects/Speed_Game/windows/images/pg 2.png differ diff --git a/projects/Speed_Game/windows/images/pg.png b/projects/Speed_Game/windows/images/pg.png new file mode 100644 index 000000000..3ec7b0274 Binary files /dev/null and b/projects/Speed_Game/windows/images/pg.png differ diff --git a/projects/Speed_Game/windows/images/ph 2.png b/projects/Speed_Game/windows/images/ph 2.png new file mode 100644 index 000000000..a6d2212d2 Binary files /dev/null and b/projects/Speed_Game/windows/images/ph 2.png differ diff --git a/projects/Speed_Game/windows/images/ph.png b/projects/Speed_Game/windows/images/ph.png new file mode 100644 index 000000000..a6d2212d2 Binary files /dev/null and b/projects/Speed_Game/windows/images/ph.png differ diff --git a/projects/Speed_Game/windows/images/pk 2.png b/projects/Speed_Game/windows/images/pk 2.png new file mode 100644 index 000000000..62bb96191 Binary files /dev/null and b/projects/Speed_Game/windows/images/pk 2.png differ diff --git a/projects/Speed_Game/windows/images/pk.png b/projects/Speed_Game/windows/images/pk.png new file mode 100644 index 000000000..62bb96191 Binary files /dev/null and b/projects/Speed_Game/windows/images/pk.png differ diff --git a/projects/Speed_Game/windows/images/pl 2.png b/projects/Speed_Game/windows/images/pl 2.png new file mode 100644 index 000000000..1e51f810b Binary files /dev/null and b/projects/Speed_Game/windows/images/pl 2.png differ diff --git a/projects/Speed_Game/windows/images/pl.png b/projects/Speed_Game/windows/images/pl.png new file mode 100644 index 000000000..1e51f810b Binary files /dev/null and b/projects/Speed_Game/windows/images/pl.png differ diff --git a/projects/Speed_Game/windows/images/pm 2.png b/projects/Speed_Game/windows/images/pm 2.png new file mode 100644 index 000000000..3a826f484 Binary files /dev/null and b/projects/Speed_Game/windows/images/pm 2.png differ diff --git a/projects/Speed_Game/windows/images/pm.png b/projects/Speed_Game/windows/images/pm.png new file mode 100644 index 000000000..3a826f484 Binary files /dev/null and b/projects/Speed_Game/windows/images/pm.png differ diff --git a/projects/Speed_Game/windows/images/pn 2.png b/projects/Speed_Game/windows/images/pn 2.png new file mode 100644 index 000000000..ee90c1f62 Binary files /dev/null and b/projects/Speed_Game/windows/images/pn 2.png differ diff --git a/projects/Speed_Game/windows/images/pn.png b/projects/Speed_Game/windows/images/pn.png new file mode 100644 index 000000000..ee90c1f62 Binary files /dev/null and b/projects/Speed_Game/windows/images/pn.png differ diff --git a/projects/Speed_Game/windows/images/pr 2.png b/projects/Speed_Game/windows/images/pr 2.png new file mode 100644 index 000000000..ee8b59420 Binary files /dev/null and b/projects/Speed_Game/windows/images/pr 2.png differ diff --git a/projects/Speed_Game/windows/images/pr.png b/projects/Speed_Game/windows/images/pr.png new file mode 100644 index 000000000..ee8b59420 Binary files /dev/null and b/projects/Speed_Game/windows/images/pr.png differ diff --git a/projects/Speed_Game/windows/images/ps 2.png b/projects/Speed_Game/windows/images/ps 2.png new file mode 100644 index 000000000..bf268ee7c Binary files /dev/null and b/projects/Speed_Game/windows/images/ps 2.png differ diff --git a/projects/Speed_Game/windows/images/ps.png b/projects/Speed_Game/windows/images/ps.png new file mode 100644 index 000000000..bf268ee7c Binary files /dev/null and b/projects/Speed_Game/windows/images/ps.png differ diff --git a/projects/Speed_Game/windows/images/pt 2.png b/projects/Speed_Game/windows/images/pt 2.png new file mode 100644 index 000000000..eb24f79b4 Binary files /dev/null and b/projects/Speed_Game/windows/images/pt 2.png differ diff --git a/projects/Speed_Game/windows/images/pt.png b/projects/Speed_Game/windows/images/pt.png new file mode 100644 index 000000000..eb24f79b4 Binary files /dev/null and b/projects/Speed_Game/windows/images/pt.png differ diff --git a/projects/Speed_Game/windows/images/pw 2.png b/projects/Speed_Game/windows/images/pw 2.png new file mode 100644 index 000000000..cb5694ee2 Binary files /dev/null and b/projects/Speed_Game/windows/images/pw 2.png differ diff --git a/projects/Speed_Game/windows/images/pw.png b/projects/Speed_Game/windows/images/pw.png new file mode 100644 index 000000000..cb5694ee2 Binary files /dev/null and b/projects/Speed_Game/windows/images/pw.png differ diff --git a/projects/Speed_Game/windows/images/py 2.png b/projects/Speed_Game/windows/images/py 2.png new file mode 100644 index 000000000..c4df0c1f9 Binary files /dev/null and b/projects/Speed_Game/windows/images/py 2.png differ diff --git a/projects/Speed_Game/windows/images/py.png b/projects/Speed_Game/windows/images/py.png new file mode 100644 index 000000000..c4df0c1f9 Binary files /dev/null and b/projects/Speed_Game/windows/images/py.png differ diff --git a/projects/Speed_Game/windows/images/qa 2.png b/projects/Speed_Game/windows/images/qa 2.png new file mode 100644 index 000000000..1f5bc3d09 Binary files /dev/null and b/projects/Speed_Game/windows/images/qa 2.png differ diff --git a/projects/Speed_Game/windows/images/qa.png b/projects/Speed_Game/windows/images/qa.png new file mode 100644 index 000000000..1f5bc3d09 Binary files /dev/null and b/projects/Speed_Game/windows/images/qa.png differ diff --git a/projects/Speed_Game/windows/images/re 2.png b/projects/Speed_Game/windows/images/re 2.png new file mode 100644 index 000000000..4817253e5 Binary files /dev/null and b/projects/Speed_Game/windows/images/re 2.png differ diff --git a/projects/Speed_Game/windows/images/re.png b/projects/Speed_Game/windows/images/re.png new file mode 100644 index 000000000..4817253e5 Binary files /dev/null and b/projects/Speed_Game/windows/images/re.png differ diff --git a/projects/Speed_Game/windows/images/ro 2.png b/projects/Speed_Game/windows/images/ro 2.png new file mode 100644 index 000000000..4bb28efea Binary files /dev/null and b/projects/Speed_Game/windows/images/ro 2.png differ diff --git a/projects/Speed_Game/windows/images/ro.png b/projects/Speed_Game/windows/images/ro.png new file mode 100644 index 000000000..4bb28efea Binary files /dev/null and b/projects/Speed_Game/windows/images/ro.png differ diff --git a/projects/Speed_Game/windows/images/rs 2.png b/projects/Speed_Game/windows/images/rs 2.png new file mode 100644 index 000000000..6ea1e68b2 Binary files /dev/null and b/projects/Speed_Game/windows/images/rs 2.png differ diff --git a/projects/Speed_Game/windows/images/rs.png b/projects/Speed_Game/windows/images/rs.png new file mode 100644 index 000000000..6ea1e68b2 Binary files /dev/null and b/projects/Speed_Game/windows/images/rs.png differ diff --git a/projects/Speed_Game/windows/images/ru 2.png b/projects/Speed_Game/windows/images/ru 2.png new file mode 100644 index 000000000..220d7f370 Binary files /dev/null and b/projects/Speed_Game/windows/images/ru 2.png differ diff --git a/projects/Speed_Game/windows/images/ru.png b/projects/Speed_Game/windows/images/ru.png new file mode 100644 index 000000000..220d7f370 Binary files /dev/null and b/projects/Speed_Game/windows/images/ru.png differ diff --git a/projects/Speed_Game/windows/images/rw 2.png b/projects/Speed_Game/windows/images/rw 2.png new file mode 100644 index 000000000..980e3cdf3 Binary files /dev/null and b/projects/Speed_Game/windows/images/rw 2.png differ diff --git a/projects/Speed_Game/windows/images/rw.png b/projects/Speed_Game/windows/images/rw.png new file mode 100644 index 000000000..980e3cdf3 Binary files /dev/null and b/projects/Speed_Game/windows/images/rw.png differ diff --git a/projects/Speed_Game/windows/images/sa 2.png b/projects/Speed_Game/windows/images/sa 2.png new file mode 100644 index 000000000..117003a21 Binary files /dev/null and b/projects/Speed_Game/windows/images/sa 2.png differ diff --git a/projects/Speed_Game/windows/images/sa.png b/projects/Speed_Game/windows/images/sa.png new file mode 100644 index 000000000..117003a21 Binary files /dev/null and b/projects/Speed_Game/windows/images/sa.png differ diff --git a/projects/Speed_Game/windows/images/sb 2.png b/projects/Speed_Game/windows/images/sb 2.png new file mode 100644 index 000000000..7ec90d30f Binary files /dev/null and b/projects/Speed_Game/windows/images/sb 2.png differ diff --git a/projects/Speed_Game/windows/images/sb.png b/projects/Speed_Game/windows/images/sb.png new file mode 100644 index 000000000..7ec90d30f Binary files /dev/null and b/projects/Speed_Game/windows/images/sb.png differ diff --git a/projects/Speed_Game/windows/images/sc 2.png b/projects/Speed_Game/windows/images/sc 2.png new file mode 100644 index 000000000..8f64c8c31 Binary files /dev/null and b/projects/Speed_Game/windows/images/sc 2.png differ diff --git a/projects/Speed_Game/windows/images/sc.png b/projects/Speed_Game/windows/images/sc.png new file mode 100644 index 000000000..8f64c8c31 Binary files /dev/null and b/projects/Speed_Game/windows/images/sc.png differ diff --git a/projects/Speed_Game/windows/images/sd 2.png b/projects/Speed_Game/windows/images/sd 2.png new file mode 100644 index 000000000..9f5c34491 Binary files /dev/null and b/projects/Speed_Game/windows/images/sd 2.png differ diff --git a/projects/Speed_Game/windows/images/sd.png b/projects/Speed_Game/windows/images/sd.png new file mode 100644 index 000000000..9f5c34491 Binary files /dev/null and b/projects/Speed_Game/windows/images/sd.png differ diff --git a/projects/Speed_Game/windows/images/se 2.png b/projects/Speed_Game/windows/images/se 2.png new file mode 100644 index 000000000..14e8b9aee Binary files /dev/null and b/projects/Speed_Game/windows/images/se 2.png differ diff --git a/projects/Speed_Game/windows/images/se.png b/projects/Speed_Game/windows/images/se.png new file mode 100644 index 000000000..14e8b9aee Binary files /dev/null and b/projects/Speed_Game/windows/images/se.png differ diff --git a/projects/Speed_Game/windows/images/sg 2.png b/projects/Speed_Game/windows/images/sg 2.png new file mode 100644 index 000000000..3c86eca18 Binary files /dev/null and b/projects/Speed_Game/windows/images/sg 2.png differ diff --git a/projects/Speed_Game/windows/images/sg.png b/projects/Speed_Game/windows/images/sg.png new file mode 100644 index 000000000..3c86eca18 Binary files /dev/null and b/projects/Speed_Game/windows/images/sg.png differ diff --git a/projects/Speed_Game/windows/images/sh 2.png b/projects/Speed_Game/windows/images/sh 2.png new file mode 100644 index 000000000..94a6266b1 Binary files /dev/null and b/projects/Speed_Game/windows/images/sh 2.png differ diff --git a/projects/Speed_Game/windows/images/sh.png b/projects/Speed_Game/windows/images/sh.png new file mode 100644 index 000000000..94a6266b1 Binary files /dev/null and b/projects/Speed_Game/windows/images/sh.png differ diff --git a/projects/Speed_Game/windows/images/si 2.png b/projects/Speed_Game/windows/images/si 2.png new file mode 100644 index 000000000..80dd781db Binary files /dev/null and b/projects/Speed_Game/windows/images/si 2.png differ diff --git a/projects/Speed_Game/windows/images/si.png b/projects/Speed_Game/windows/images/si.png new file mode 100644 index 000000000..80dd781db Binary files /dev/null and b/projects/Speed_Game/windows/images/si.png differ diff --git a/projects/Speed_Game/windows/images/sj 2.png b/projects/Speed_Game/windows/images/sj 2.png new file mode 100644 index 000000000..db3d73415 Binary files /dev/null and b/projects/Speed_Game/windows/images/sj 2.png differ diff --git a/projects/Speed_Game/windows/images/sj.png b/projects/Speed_Game/windows/images/sj.png new file mode 100644 index 000000000..db3d73415 Binary files /dev/null and b/projects/Speed_Game/windows/images/sj.png differ diff --git a/projects/Speed_Game/windows/images/sk 2.png b/projects/Speed_Game/windows/images/sk 2.png new file mode 100644 index 000000000..7883d6182 Binary files /dev/null and b/projects/Speed_Game/windows/images/sk 2.png differ diff --git a/projects/Speed_Game/windows/images/sk.png b/projects/Speed_Game/windows/images/sk.png new file mode 100644 index 000000000..7883d6182 Binary files /dev/null and b/projects/Speed_Game/windows/images/sk.png differ diff --git a/projects/Speed_Game/windows/images/sl 2.png b/projects/Speed_Game/windows/images/sl 2.png new file mode 100644 index 000000000..f395562cf Binary files /dev/null and b/projects/Speed_Game/windows/images/sl 2.png differ diff --git a/projects/Speed_Game/windows/images/sl.png b/projects/Speed_Game/windows/images/sl.png new file mode 100644 index 000000000..f395562cf Binary files /dev/null and b/projects/Speed_Game/windows/images/sl.png differ diff --git a/projects/Speed_Game/windows/images/sm 2.png b/projects/Speed_Game/windows/images/sm 2.png new file mode 100644 index 000000000..df3ffe1eb Binary files /dev/null and b/projects/Speed_Game/windows/images/sm 2.png differ diff --git a/projects/Speed_Game/windows/images/sm.png b/projects/Speed_Game/windows/images/sm.png new file mode 100644 index 000000000..df3ffe1eb Binary files /dev/null and b/projects/Speed_Game/windows/images/sm.png differ diff --git a/projects/Speed_Game/windows/images/sn 2.png b/projects/Speed_Game/windows/images/sn 2.png new file mode 100644 index 000000000..69fe5ae9f Binary files /dev/null and b/projects/Speed_Game/windows/images/sn 2.png differ diff --git a/projects/Speed_Game/windows/images/sn.png b/projects/Speed_Game/windows/images/sn.png new file mode 100644 index 000000000..69fe5ae9f Binary files /dev/null and b/projects/Speed_Game/windows/images/sn.png differ diff --git a/projects/Speed_Game/windows/images/so 2.png b/projects/Speed_Game/windows/images/so 2.png new file mode 100644 index 000000000..365e52d96 Binary files /dev/null and b/projects/Speed_Game/windows/images/so 2.png differ diff --git a/projects/Speed_Game/windows/images/so.png b/projects/Speed_Game/windows/images/so.png new file mode 100644 index 000000000..365e52d96 Binary files /dev/null and b/projects/Speed_Game/windows/images/so.png differ diff --git a/projects/Speed_Game/windows/images/sr 2.png b/projects/Speed_Game/windows/images/sr 2.png new file mode 100644 index 000000000..922e8af2c Binary files /dev/null and b/projects/Speed_Game/windows/images/sr 2.png differ diff --git a/projects/Speed_Game/windows/images/sr.png b/projects/Speed_Game/windows/images/sr.png new file mode 100644 index 000000000..922e8af2c Binary files /dev/null and b/projects/Speed_Game/windows/images/sr.png differ diff --git a/projects/Speed_Game/windows/images/ss 2.png b/projects/Speed_Game/windows/images/ss 2.png new file mode 100644 index 000000000..d217e7590 Binary files /dev/null and b/projects/Speed_Game/windows/images/ss 2.png differ diff --git a/projects/Speed_Game/windows/images/ss.png b/projects/Speed_Game/windows/images/ss.png new file mode 100644 index 000000000..d217e7590 Binary files /dev/null and b/projects/Speed_Game/windows/images/ss.png differ diff --git a/projects/Speed_Game/windows/images/st 2.png b/projects/Speed_Game/windows/images/st 2.png new file mode 100644 index 000000000..b4f3333aa Binary files /dev/null and b/projects/Speed_Game/windows/images/st 2.png differ diff --git a/projects/Speed_Game/windows/images/st.png b/projects/Speed_Game/windows/images/st.png new file mode 100644 index 000000000..b4f3333aa Binary files /dev/null and b/projects/Speed_Game/windows/images/st.png differ diff --git a/projects/Speed_Game/windows/images/sv 2.png b/projects/Speed_Game/windows/images/sv 2.png new file mode 100644 index 000000000..dd2609813 Binary files /dev/null and b/projects/Speed_Game/windows/images/sv 2.png differ diff --git a/projects/Speed_Game/windows/images/sv.png b/projects/Speed_Game/windows/images/sv.png new file mode 100644 index 000000000..dd2609813 Binary files /dev/null and b/projects/Speed_Game/windows/images/sv.png differ diff --git a/projects/Speed_Game/windows/images/sx 2.png b/projects/Speed_Game/windows/images/sx 2.png new file mode 100644 index 000000000..e1a8d099f Binary files /dev/null and b/projects/Speed_Game/windows/images/sx 2.png differ diff --git a/projects/Speed_Game/windows/images/sx.png b/projects/Speed_Game/windows/images/sx.png new file mode 100644 index 000000000..e1a8d099f Binary files /dev/null and b/projects/Speed_Game/windows/images/sx.png differ diff --git a/projects/Speed_Game/windows/images/sy 2.png b/projects/Speed_Game/windows/images/sy 2.png new file mode 100644 index 000000000..127f94735 Binary files /dev/null and b/projects/Speed_Game/windows/images/sy 2.png differ diff --git a/projects/Speed_Game/windows/images/sy.png b/projects/Speed_Game/windows/images/sy.png new file mode 100644 index 000000000..127f94735 Binary files /dev/null and b/projects/Speed_Game/windows/images/sy.png differ diff --git a/projects/Speed_Game/windows/images/sz 2.png b/projects/Speed_Game/windows/images/sz 2.png new file mode 100644 index 000000000..d41b6a1df Binary files /dev/null and b/projects/Speed_Game/windows/images/sz 2.png differ diff --git a/projects/Speed_Game/windows/images/sz.png b/projects/Speed_Game/windows/images/sz.png new file mode 100644 index 000000000..d41b6a1df Binary files /dev/null and b/projects/Speed_Game/windows/images/sz.png differ diff --git a/projects/Speed_Game/windows/images/tc 2.png b/projects/Speed_Game/windows/images/tc 2.png new file mode 100644 index 000000000..d0c131484 Binary files /dev/null and b/projects/Speed_Game/windows/images/tc 2.png differ diff --git a/projects/Speed_Game/windows/images/tc.png b/projects/Speed_Game/windows/images/tc.png new file mode 100644 index 000000000..d0c131484 Binary files /dev/null and b/projects/Speed_Game/windows/images/tc.png differ diff --git a/projects/Speed_Game/windows/images/td 2.png b/projects/Speed_Game/windows/images/td 2.png new file mode 100644 index 000000000..b5b590d15 Binary files /dev/null and b/projects/Speed_Game/windows/images/td 2.png differ diff --git a/projects/Speed_Game/windows/images/td.png b/projects/Speed_Game/windows/images/td.png new file mode 100644 index 000000000..b5b590d15 Binary files /dev/null and b/projects/Speed_Game/windows/images/td.png differ diff --git a/projects/Speed_Game/windows/images/tf 2.png b/projects/Speed_Game/windows/images/tf 2.png new file mode 100644 index 000000000..8eca2a0dd Binary files /dev/null and b/projects/Speed_Game/windows/images/tf 2.png differ diff --git a/projects/Speed_Game/windows/images/tf.png b/projects/Speed_Game/windows/images/tf.png new file mode 100644 index 000000000..8eca2a0dd Binary files /dev/null and b/projects/Speed_Game/windows/images/tf.png differ diff --git a/projects/Speed_Game/windows/images/tg 2.png b/projects/Speed_Game/windows/images/tg 2.png new file mode 100644 index 000000000..09ee0368b Binary files /dev/null and b/projects/Speed_Game/windows/images/tg 2.png differ diff --git a/projects/Speed_Game/windows/images/tg.png b/projects/Speed_Game/windows/images/tg.png new file mode 100644 index 000000000..09ee0368b Binary files /dev/null and b/projects/Speed_Game/windows/images/tg.png differ diff --git a/projects/Speed_Game/windows/images/th 2.png b/projects/Speed_Game/windows/images/th 2.png new file mode 100644 index 000000000..ff42ccf5a Binary files /dev/null and b/projects/Speed_Game/windows/images/th 2.png differ diff --git a/projects/Speed_Game/windows/images/th.png b/projects/Speed_Game/windows/images/th.png new file mode 100644 index 000000000..ff42ccf5a Binary files /dev/null and b/projects/Speed_Game/windows/images/th.png differ diff --git a/projects/Speed_Game/windows/images/tj 2.png b/projects/Speed_Game/windows/images/tj 2.png new file mode 100644 index 000000000..ed0db20a6 Binary files /dev/null and b/projects/Speed_Game/windows/images/tj 2.png differ diff --git a/projects/Speed_Game/windows/images/tj.png b/projects/Speed_Game/windows/images/tj.png new file mode 100644 index 000000000..ed0db20a6 Binary files /dev/null and b/projects/Speed_Game/windows/images/tj.png differ diff --git a/projects/Speed_Game/windows/images/tk 2.png b/projects/Speed_Game/windows/images/tk 2.png new file mode 100644 index 000000000..95c082c86 Binary files /dev/null and b/projects/Speed_Game/windows/images/tk 2.png differ diff --git a/projects/Speed_Game/windows/images/tk.png b/projects/Speed_Game/windows/images/tk.png new file mode 100644 index 000000000..95c082c86 Binary files /dev/null and b/projects/Speed_Game/windows/images/tk.png differ diff --git a/projects/Speed_Game/windows/images/tl 2.png b/projects/Speed_Game/windows/images/tl 2.png new file mode 100644 index 000000000..d1f48aff6 Binary files /dev/null and b/projects/Speed_Game/windows/images/tl 2.png differ diff --git a/projects/Speed_Game/windows/images/tl.png b/projects/Speed_Game/windows/images/tl.png new file mode 100644 index 000000000..d1f48aff6 Binary files /dev/null and b/projects/Speed_Game/windows/images/tl.png differ diff --git a/projects/Speed_Game/windows/images/tm 2.png b/projects/Speed_Game/windows/images/tm 2.png new file mode 100644 index 000000000..c0ae220b3 Binary files /dev/null and b/projects/Speed_Game/windows/images/tm 2.png differ diff --git a/projects/Speed_Game/windows/images/tm.png b/projects/Speed_Game/windows/images/tm.png new file mode 100644 index 000000000..c0ae220b3 Binary files /dev/null and b/projects/Speed_Game/windows/images/tm.png differ diff --git a/projects/Speed_Game/windows/images/tn 2.png b/projects/Speed_Game/windows/images/tn 2.png new file mode 100644 index 000000000..1dd76623a Binary files /dev/null and b/projects/Speed_Game/windows/images/tn 2.png differ diff --git a/projects/Speed_Game/windows/images/tn.png b/projects/Speed_Game/windows/images/tn.png new file mode 100644 index 000000000..1dd76623a Binary files /dev/null and b/projects/Speed_Game/windows/images/tn.png differ diff --git a/projects/Speed_Game/windows/images/to 2.png b/projects/Speed_Game/windows/images/to 2.png new file mode 100644 index 000000000..fabdc04c2 Binary files /dev/null and b/projects/Speed_Game/windows/images/to 2.png differ diff --git a/projects/Speed_Game/windows/images/to.png b/projects/Speed_Game/windows/images/to.png new file mode 100644 index 000000000..fabdc04c2 Binary files /dev/null and b/projects/Speed_Game/windows/images/to.png differ diff --git a/projects/Speed_Game/windows/images/tr 2.png b/projects/Speed_Game/windows/images/tr 2.png new file mode 100644 index 000000000..2e010dd3d Binary files /dev/null and b/projects/Speed_Game/windows/images/tr 2.png differ diff --git a/projects/Speed_Game/windows/images/tr.png b/projects/Speed_Game/windows/images/tr.png new file mode 100644 index 000000000..2e010dd3d Binary files /dev/null and b/projects/Speed_Game/windows/images/tr.png differ diff --git a/projects/Speed_Game/windows/images/tt 2.png b/projects/Speed_Game/windows/images/tt 2.png new file mode 100644 index 000000000..46e99c844 Binary files /dev/null and b/projects/Speed_Game/windows/images/tt 2.png differ diff --git a/projects/Speed_Game/windows/images/tt.png b/projects/Speed_Game/windows/images/tt.png new file mode 100644 index 000000000..46e99c844 Binary files /dev/null and b/projects/Speed_Game/windows/images/tt.png differ diff --git a/projects/Speed_Game/windows/images/tv 2.png b/projects/Speed_Game/windows/images/tv 2.png new file mode 100644 index 000000000..bf69cfc2f Binary files /dev/null and b/projects/Speed_Game/windows/images/tv 2.png differ diff --git a/projects/Speed_Game/windows/images/tv.png b/projects/Speed_Game/windows/images/tv.png new file mode 100644 index 000000000..bf69cfc2f Binary files /dev/null and b/projects/Speed_Game/windows/images/tv.png differ diff --git a/projects/Speed_Game/windows/images/tw 2.png b/projects/Speed_Game/windows/images/tw 2.png new file mode 100644 index 000000000..131bef718 Binary files /dev/null and b/projects/Speed_Game/windows/images/tw 2.png differ diff --git a/projects/Speed_Game/windows/images/tw.png b/projects/Speed_Game/windows/images/tw.png new file mode 100644 index 000000000..131bef718 Binary files /dev/null and b/projects/Speed_Game/windows/images/tw.png differ diff --git a/projects/Speed_Game/windows/images/tz 2.png b/projects/Speed_Game/windows/images/tz 2.png new file mode 100644 index 000000000..9ee560fd3 Binary files /dev/null and b/projects/Speed_Game/windows/images/tz 2.png differ diff --git a/projects/Speed_Game/windows/images/tz.png b/projects/Speed_Game/windows/images/tz.png new file mode 100644 index 000000000..9ee560fd3 Binary files /dev/null and b/projects/Speed_Game/windows/images/tz.png differ diff --git a/projects/Speed_Game/windows/images/ua 2.png b/projects/Speed_Game/windows/images/ua 2.png new file mode 100644 index 000000000..b18613c41 Binary files /dev/null and b/projects/Speed_Game/windows/images/ua 2.png differ diff --git a/projects/Speed_Game/windows/images/ua.png b/projects/Speed_Game/windows/images/ua.png new file mode 100644 index 000000000..b18613c41 Binary files /dev/null and b/projects/Speed_Game/windows/images/ua.png differ diff --git a/projects/Speed_Game/windows/images/ug 2.png b/projects/Speed_Game/windows/images/ug 2.png new file mode 100644 index 000000000..a370c1616 Binary files /dev/null and b/projects/Speed_Game/windows/images/ug 2.png differ diff --git a/projects/Speed_Game/windows/images/ug.png b/projects/Speed_Game/windows/images/ug.png new file mode 100644 index 000000000..a370c1616 Binary files /dev/null and b/projects/Speed_Game/windows/images/ug.png differ diff --git a/projects/Speed_Game/windows/images/um 2.png b/projects/Speed_Game/windows/images/um 2.png new file mode 100644 index 000000000..837ce54a0 Binary files /dev/null and b/projects/Speed_Game/windows/images/um 2.png differ diff --git a/projects/Speed_Game/windows/images/um.png b/projects/Speed_Game/windows/images/um.png new file mode 100644 index 000000000..837ce54a0 Binary files /dev/null and b/projects/Speed_Game/windows/images/um.png differ diff --git a/projects/Speed_Game/windows/images/us 2.png b/projects/Speed_Game/windows/images/us 2.png new file mode 100644 index 000000000..837ce54a0 Binary files /dev/null and b/projects/Speed_Game/windows/images/us 2.png differ diff --git a/projects/Speed_Game/windows/images/us.png b/projects/Speed_Game/windows/images/us.png new file mode 100644 index 000000000..837ce54a0 Binary files /dev/null and b/projects/Speed_Game/windows/images/us.png differ diff --git a/projects/Speed_Game/windows/images/uy 2.png b/projects/Speed_Game/windows/images/uy 2.png new file mode 100644 index 000000000..fa52ee344 Binary files /dev/null and b/projects/Speed_Game/windows/images/uy 2.png differ diff --git a/projects/Speed_Game/windows/images/uy.png b/projects/Speed_Game/windows/images/uy.png new file mode 100644 index 000000000..fa52ee344 Binary files /dev/null and b/projects/Speed_Game/windows/images/uy.png differ diff --git a/projects/Speed_Game/windows/images/uz 2.png b/projects/Speed_Game/windows/images/uz 2.png new file mode 100644 index 000000000..7c6388e40 Binary files /dev/null and b/projects/Speed_Game/windows/images/uz 2.png differ diff --git a/projects/Speed_Game/windows/images/uz.png b/projects/Speed_Game/windows/images/uz.png new file mode 100644 index 000000000..7c6388e40 Binary files /dev/null and b/projects/Speed_Game/windows/images/uz.png differ diff --git a/projects/Speed_Game/windows/images/va 2.png b/projects/Speed_Game/windows/images/va 2.png new file mode 100644 index 000000000..7e1dff4ad Binary files /dev/null and b/projects/Speed_Game/windows/images/va 2.png differ diff --git a/projects/Speed_Game/windows/images/va.png b/projects/Speed_Game/windows/images/va.png new file mode 100644 index 000000000..7e1dff4ad Binary files /dev/null and b/projects/Speed_Game/windows/images/va.png differ diff --git a/projects/Speed_Game/windows/images/vc 2.png b/projects/Speed_Game/windows/images/vc 2.png new file mode 100644 index 000000000..1719e7a0d Binary files /dev/null and b/projects/Speed_Game/windows/images/vc 2.png differ diff --git a/projects/Speed_Game/windows/images/vc.png b/projects/Speed_Game/windows/images/vc.png new file mode 100644 index 000000000..1719e7a0d Binary files /dev/null and b/projects/Speed_Game/windows/images/vc.png differ diff --git a/projects/Speed_Game/windows/images/ve 2.png b/projects/Speed_Game/windows/images/ve 2.png new file mode 100644 index 000000000..fe1521544 Binary files /dev/null and b/projects/Speed_Game/windows/images/ve 2.png differ diff --git a/projects/Speed_Game/windows/images/ve.png b/projects/Speed_Game/windows/images/ve.png new file mode 100644 index 000000000..fe1521544 Binary files /dev/null and b/projects/Speed_Game/windows/images/ve.png differ diff --git a/projects/Speed_Game/windows/images/vg 2.png b/projects/Speed_Game/windows/images/vg 2.png new file mode 100644 index 000000000..33e329901 Binary files /dev/null and b/projects/Speed_Game/windows/images/vg 2.png differ diff --git a/projects/Speed_Game/windows/images/vg.png b/projects/Speed_Game/windows/images/vg.png new file mode 100644 index 000000000..33e329901 Binary files /dev/null and b/projects/Speed_Game/windows/images/vg.png differ diff --git a/projects/Speed_Game/windows/images/vi 2.png b/projects/Speed_Game/windows/images/vi 2.png new file mode 100644 index 000000000..72222a1fc Binary files /dev/null and b/projects/Speed_Game/windows/images/vi 2.png differ diff --git a/projects/Speed_Game/windows/images/vi.png b/projects/Speed_Game/windows/images/vi.png new file mode 100644 index 000000000..72222a1fc Binary files /dev/null and b/projects/Speed_Game/windows/images/vi.png differ diff --git a/projects/Speed_Game/windows/images/vn 2.png b/projects/Speed_Game/windows/images/vn 2.png new file mode 100644 index 000000000..2a3c51b84 Binary files /dev/null and b/projects/Speed_Game/windows/images/vn 2.png differ diff --git a/projects/Speed_Game/windows/images/vn.png b/projects/Speed_Game/windows/images/vn.png new file mode 100644 index 000000000..2a3c51b84 Binary files /dev/null and b/projects/Speed_Game/windows/images/vn.png differ diff --git a/projects/Speed_Game/windows/images/vu 2.png b/projects/Speed_Game/windows/images/vu 2.png new file mode 100644 index 000000000..fa3a9f613 Binary files /dev/null and b/projects/Speed_Game/windows/images/vu 2.png differ diff --git a/projects/Speed_Game/windows/images/vu.png b/projects/Speed_Game/windows/images/vu.png new file mode 100644 index 000000000..fa3a9f613 Binary files /dev/null and b/projects/Speed_Game/windows/images/vu.png differ diff --git a/projects/Speed_Game/windows/images/wf 2.png b/projects/Speed_Game/windows/images/wf 2.png new file mode 100644 index 000000000..2358bc41c Binary files /dev/null and b/projects/Speed_Game/windows/images/wf 2.png differ diff --git a/projects/Speed_Game/windows/images/wf.png b/projects/Speed_Game/windows/images/wf.png new file mode 100644 index 000000000..2358bc41c Binary files /dev/null and b/projects/Speed_Game/windows/images/wf.png differ diff --git a/projects/Speed_Game/windows/images/ws 2.png b/projects/Speed_Game/windows/images/ws 2.png new file mode 100644 index 000000000..7fd973b41 Binary files /dev/null and b/projects/Speed_Game/windows/images/ws 2.png differ diff --git a/projects/Speed_Game/windows/images/ws.png b/projects/Speed_Game/windows/images/ws.png new file mode 100644 index 000000000..7fd973b41 Binary files /dev/null and b/projects/Speed_Game/windows/images/ws.png differ diff --git a/projects/Speed_Game/windows/images/xk 2.png b/projects/Speed_Game/windows/images/xk 2.png new file mode 100644 index 000000000..60e1cac61 Binary files /dev/null and b/projects/Speed_Game/windows/images/xk 2.png differ diff --git a/projects/Speed_Game/windows/images/xk.png b/projects/Speed_Game/windows/images/xk.png new file mode 100644 index 000000000..60e1cac61 Binary files /dev/null and b/projects/Speed_Game/windows/images/xk.png differ diff --git a/projects/Speed_Game/windows/images/ye 2.png b/projects/Speed_Game/windows/images/ye 2.png new file mode 100644 index 000000000..ad007a679 Binary files /dev/null and b/projects/Speed_Game/windows/images/ye 2.png differ diff --git a/projects/Speed_Game/windows/images/ye.png b/projects/Speed_Game/windows/images/ye.png new file mode 100644 index 000000000..ad007a679 Binary files /dev/null and b/projects/Speed_Game/windows/images/ye.png differ diff --git a/projects/Speed_Game/windows/images/yt 2.png b/projects/Speed_Game/windows/images/yt 2.png new file mode 100644 index 000000000..dd9167436 Binary files /dev/null and b/projects/Speed_Game/windows/images/yt 2.png differ diff --git a/projects/Speed_Game/windows/images/yt.png b/projects/Speed_Game/windows/images/yt.png new file mode 100644 index 000000000..dd9167436 Binary files /dev/null and b/projects/Speed_Game/windows/images/yt.png differ diff --git a/projects/Speed_Game/windows/images/za 2.png b/projects/Speed_Game/windows/images/za 2.png new file mode 100644 index 000000000..c1648f7b6 Binary files /dev/null and b/projects/Speed_Game/windows/images/za 2.png differ diff --git a/projects/Speed_Game/windows/images/za.png b/projects/Speed_Game/windows/images/za.png new file mode 100644 index 000000000..c1648f7b6 Binary files /dev/null and b/projects/Speed_Game/windows/images/za.png differ diff --git a/projects/Speed_Game/windows/images/zm 2.png b/projects/Speed_Game/windows/images/zm 2.png new file mode 100644 index 000000000..29049f27f Binary files /dev/null and b/projects/Speed_Game/windows/images/zm 2.png differ diff --git a/projects/Speed_Game/windows/images/zm.png b/projects/Speed_Game/windows/images/zm.png new file mode 100644 index 000000000..29049f27f Binary files /dev/null and b/projects/Speed_Game/windows/images/zm.png differ diff --git a/projects/Speed_Game/windows/images/zw 2.png b/projects/Speed_Game/windows/images/zw 2.png new file mode 100644 index 000000000..71e461a61 Binary files /dev/null and b/projects/Speed_Game/windows/images/zw 2.png differ diff --git a/projects/Speed_Game/windows/images/zw.png b/projects/Speed_Game/windows/images/zw.png new file mode 100644 index 000000000..71e461a61 Binary files /dev/null and b/projects/Speed_Game/windows/images/zw.png differ diff --git a/projects/Speed_Game/windows/main.py b/projects/Speed_Game/windows/main.py new file mode 100644 index 000000000..3b5905808 --- /dev/null +++ b/projects/Speed_Game/windows/main.py @@ -0,0 +1,275 @@ +import tkinter.font as tkFont +from tkinter import messagebox +import pandas as pd +import os +import random +from PIL import Image, ImageTk +import time +import threading +from tkinter import messagebox + +try: + import tkinter as tk +except: + import tkinter as tk + +import pygame + + +class SampleApp(tk.Tk): + def __init__(self): + tk.Tk.__init__(self) + self._frame = None + self.switch_frame(StartPage) + + def switch_frame(self, frame_class): + new_frame = frame_class(self) + if self._frame is not None: + self._frame.destroy() + self._frame = new_frame + self._frame.pack() + + +class StartPage(tk.Frame): + def __init__(self, master): + tk.Frame.__init__(self, master) + + ImagePath = 'halloween.png' + canv = tk.Canvas(self, width=600, height=500, bg='white') + canv.pack(side='bottom') + self.img = ImageTk.PhotoImage(Image.open(ImagePath).resize((600, 500), Image.ANTIALIAS)) + canv.create_image(0, 0, anchor="nw", image=self.img) + + labelFont = tkFont.Font(family="Arial", size=40, weight="bold", slant="italic") + canv.create_text((600 // 2), (500 // 2) - 40, fill="white", text="Speed Game", font=labelFont) + + startBtnFont = tkFont.Font(family="Consolas", size=20) + startBtn = tk.Button(canv, text="START", font=startBtnFont, foreground="yellow", background="black", + relief="ridge", borderwidth=5, highlightbackground="yellow", + activebackground="yellow", activeforeground="black", + command=lambda: master.switch_frame(CategoryPage)) + canv.create_window((600 // 2), (500 // 2) + 100, window=startBtn) + + +class CategoryPage(tk.Frame): + def __init__(self, master): + tk.Frame.__init__(self, master) + + ImagePath = 'halloween.png' + canv = tk.Canvas(self, width=600, height=500, bg='white') + canv.pack(side='bottom') + self.img = ImageTk.PhotoImage(Image.open(ImagePath).resize((600, 500), Image.ANTIALIAS)) + canv.create_image(0, 0, anchor="nw", image=self.img) + + labelFont = tkFont.Font(family="Arial", size=40, weight="bold", slant="italic") + canv.create_text((600 // 2), (500 // 2) - 190, fill="white", text="Speed Game", font=labelFont) + + btnFont = tkFont.Font(family="Consolas", size=20) + countryBtn = tk.Button(self, text="country", foreground="yellow", + width=15, height=1, + background="black", font=btnFont, relief="ridge", + borderwidth=5, highlightbackground="yellow", + activebackground="yellow", activeforeground="black", + command=lambda: master.switch_frame(CountryPage)) + canv.create_window((600 // 2), (500 // 2) - 100, window=countryBtn) + + prevBtn = tk.Button(self, text="preve page", foreground="yellow", + width=15, height=1, + background="black", font=btnFont, relief="ridge", + borderwidth=5, highlightbackground="yellow", + activebackground="yellow", activeforeground="black", + command=lambda: master.switch_frame(StartPage)) + canv.create_window((600 // 2), (500 // 2) - 10, window=prevBtn) + + +class CountryPage(tk.Frame): + def __init__(self, master): + global pass_count, answer, country_img + global df, pass_window + tk.Frame.__init__(self, master) + + filename = random.choice(os.listdir("./images")) + code = filename.split(".")[0] + + # 엑셀에 없는 이미지일 경우 예외처리 + while code.upper() not in df.index: + filename = random.choice(os.listdir("./images")) + code = filename.split(".")[0] + + countryPath = "./images/" + filename + + print(countryPath) + print(df["country"][code.upper()]) + print(filename) + answer = df["country"][code.upper()] + + backgroundPath = 'halloween.png' + canv = tk.Canvas(self, width=600, height=500, bg='white') + canv.pack() + self.img1 = ImageTk.PhotoImage(Image.open(backgroundPath).resize((600, 500), Image.ANTIALIAS)) + canv.create_image(0, 0, anchor="nw", image=self.img1) + + titleFont = tkFont.Font(family="Arial", size=40, weight="bold", slant="italic") + canv.create_text((600 // 2), (500 // 2) - 190, fill="white", text="Country", font=titleFont) + + self.img2 = ImageTk.PhotoImage(Image.open(countryPath).resize((180, 130), Image.ANTIALIAS)) + country_img = canv.create_image(210, 130, anchor="nw", image=self.img2) + + labelFont = tkFont.Font(family="Arial", size=17, slant="italic") + BtnFont = tkFont.Font(family="Consolas", size=15) + + canv.create_text((600 // 2), (500 // 2) + 40, fill="white", text="answer", font=labelFont) + + input_text = tk.Entry(self, width=30) + canv.create_window((600 // 2), (500 // 2) + 70, window=input_text) + + check_btn = tk.Button(self, text="check", + width=10, height=1, font=BtnFont, foreground="yellow", + background="black", relief="ridge", + activebackground="yellow", activeforeground="black", + command=lambda: self.checkBtn_click(master, input_text.get(), answer, canv,country_img)) + canv.create_window((600 // 2) - 80, (500 // 2) + 140, window=check_btn) + + pass_btn = tk.Button(self, text="pass: " + str(pass_count) + "/3", + width=10, height=1, font=BtnFont, foreground="yellow", + background="black", relief="ridge", + activebackground="yellow", activeforeground="black", + command=lambda: self.passBtn_click(tk, canv, country_img)) + pass_window = canv.create_window((600 // 2) + 80, (500 // 2) + 140, window=pass_btn) + + self.num = 180 + mins, secs = divmod(self.num, 60) + timeformat = '{:02d}:{:02d}'.format(mins, secs) + TimerFont = tkFont.Font(family="Arial", size=30, weight="bold", slant="italic") + timer_text = canv.create_text(100, 100, fill="white", text=timeformat, font=TimerFont) + canv.after(1, self.count, canv, timer_text) + + def count(self, canv, timer_text): + mins, secs = divmod(self.num, 60) + timeformat = '{:02d}:{:02d}'.format(mins, secs) + canv.delete(timer_text) + TimerFont = tkFont.Font(family="Arial", size=30, weight="bold", slant="italic") + timer_text = canv.create_text(100, 100, fill="white", text=timeformat, font=TimerFont) + self.num -= 1 + if self.num < 0: + msgBox = tk.messagebox.askretrycancel('Exit App', 'Really Quit?') + if msgBox == True: + self.master.switch_frame(StartPage) + else: + self.master.switch_frame(FinishPage) + else: + canv.after(1000, self.count, canv, timer_text) + + # click check button + def checkBtn_click(self, master, user_text, check_answer, canv, check_img): + global answer, country_img + global correct_count, problem_count + problem_count -= 1 + + user_text = user_text.upper().replace(" ", "") + check_answer = check_answer.replace(" ", "") + + if (user_text == check_answer): + # correct + print('맞았습돠') + ImagePath = 'correct.png' + self.img3 = ImageTk.PhotoImage(Image.open(ImagePath).resize((100, 100), Image.ANTIALIAS)) + resultImage = canv.create_image(450, 30, anchor="nw", image=self.img3) + correct_count += 1 + else: + # wrong + print('틀렸슴돠') + ImagePath = 'wrong.png' + self.img4 = ImageTk.PhotoImage(Image.open(ImagePath).resize((100, 100), Image.ANTIALIAS)) + + resultImage = canv.create_image(450, 30, anchor="nw", image=self.img4) + + # resolve 15 problems + if problem_count <= 0: + master.switch_frame(FinishPage) + canv.after(1000, self.delete_img, canv, resultImage) + filename = random.choice(os.listdir("./images")) + code = filename.split(".")[0] + + # 엑셀에 없는 이미지일 경우 예외처리 + while code.upper() not in df.index: + filename = random.choice(os.listdir("./images")) + code = filename.split(".")[0] + + countryPath = "./images/" + filename + canv.after(1000,self.delete_img, canv, check_img) + self.img2 = ImageTk.PhotoImage(Image.open(countryPath).resize((180, 130), Image.ANTIALIAS)) + country_img = canv.create_image(210, 130, anchor="nw", image=self.img2) + answer = df["country"][code.upper()] + + print(answer) + + def passBtn_click(self, tk, canv, check_img): + global pass_count, pass_window + global country_img, answer + pass_count = pass_count - 1 + if (pass_count < 0): + print("패스 그만") + pass_count = 0 + tk.messagebox.showerror('Pass', 'You Don\'t have pass ticket!') + else: + filename = random.choice(os.listdir("./images")) + code = filename.split(".")[0] + + # 엑셀에 없는 이미지일 경우 예외처리 + while code.upper() not in df.index: + filename = random.choice(os.listdir("./images")) + code = filename.split(".")[0] + + countryPath = "./images/" + filename + canv.after(1000, self.delete_img, canv, check_img) + self.img2 = ImageTk.PhotoImage(Image.open(countryPath).resize((180, 130), Image.ANTIALIAS)) + country_img = canv.create_image(210, 130, anchor="nw", image=self.img2) + answer = df["country"][code.upper()] + + self.delete_img(canv, pass_window) + BtnFont = tkFont.Font(family="Consolas", size=15) + pass_btn = tk.Button(self, text="pass: " + str(pass_count) + "/3", + width=10, height=1, font=BtnFont, foreground="yellow", + background="black", relief="ridge", + activebackground="yellow", activeforeground="black", + command=lambda: self.passBtn_click(tk, canv, country_img)) + pass_window = canv.create_window((600 // 2) + 80, (500 // 2) + 140, window=pass_btn) + + def delete_img(self, canv, dele_img_name): + canv.delete(dele_img_name) + + +class FinishPage(tk.Frame): + def __init__(self, master): + tk.Frame.__init__(self, master) + ImagePath = 'halloween.png' + canv = tk.Canvas(self, width=600, height=500, bg='white') + canv.pack(side='bottom') + self.img = ImageTk.PhotoImage(Image.open(ImagePath).resize((600, 500), Image.ANTIALIAS)) + canv.create_image(0, 0, anchor="nw", image=self.img) + + labelFont = tkFont.Font(family="Arial", size=40, weight="bold") + canv.create_text((600 // 2), (500 // 2) - 50, fill="white", text="total score : " + str(correct_count)+ "/15", font=labelFont) + canv.create_text((600 // 2), (500 // 2) + 50, fill="white", text="Good Job!", font=labelFont) + + +if __name__ == "__main__": + pygame.init() + mySound = pygame.mixer.Sound("SpeedGameBgm.mp3") + mySound.play(-1) + pass_count = 3 + problem_count = 15 + correct_count = 0 + answer = 0 + country_img = 0 + pass_window = 0 + + df = pd.read_excel("./CountryCodeData.xlsx", index_col=0, names=["code", "country"]) + print(df["country"]["KR"]) + + app = SampleApp() + app.title("Speed Game") + + app.geometry('600x500+100+100') + app.mainloop() diff --git a/projects/Speed_Game/windows/wrong.png b/projects/Speed_Game/windows/wrong.png new file mode 100644 index 000000000..ac6f1bc3d Binary files /dev/null and b/projects/Speed_Game/windows/wrong.png differ diff --git a/projects/Todo_app/Readme.md b/projects/Todo_app/Readme.md index 386f9a571..f5dbb4948 100644 --- a/projects/Todo_app/Readme.md +++ b/projects/Todo_app/Readme.md @@ -7,6 +7,6 @@ # To run app - Create virtual Environment - Install requirements -`pip install requirements.txt` +`pip install -r requirements.txt` - run app `py app.py` diff --git a/projects/Todo_app/test.db b/projects/Todo_app/test.db index 3a0836101..29a5465b8 100644 Binary files a/projects/Todo_app/test.db and b/projects/Todo_app/test.db differ diff --git a/projects/Wifi_windows_password_displayer/README.md b/projects/Wifi_windows_password_displayer/README.md new file mode 100644 index 000000000..47cff73af --- /dev/null +++ b/projects/Wifi_windows_password_displayer/README.md @@ -0,0 +1,17 @@ +# Windows Wi-Fi password displayer + +### Prerequisites +glob +os +subprocess +xml + +### How to run the script +python main.py + +### Screenshot/GIF showing the sample use of the script + +![image](https://user-images.githubusercontent.com/83010531/136707822-fa514554-0908-489d-b6f9-aeda0f6e2f5e.png) + +## *Author Name* +Anthony Rafidison diff --git a/projects/Wifi_windows_password_displayer/main.py b/projects/Wifi_windows_password_displayer/main.py new file mode 100644 index 000000000..2d4c1c6b4 --- /dev/null +++ b/projects/Wifi_windows_password_displayer/main.py @@ -0,0 +1,62 @@ +import glob +import os +import subprocess +import xml.etree.ElementTree as ET + +class PwdDisplay: + def __init__(self): + # Définition du répertoire courant + os.chdir("./") + # Création du dossier mot de passe + if not os.path.exists("passwords"): + os.system("mkdir passwords") + + self.export_xml(command="netsh wlan export profile interface=wi-fi key=clear folder=passwords") + self.display_password() + + def export_xml(self, command=None): + with open("tmp.txt", "w") as tmp: + export_command = command.split(' ') + subprocess.run(export_command,stdout=tmp) + os.remove("tmp.txt") + + def file_path(self) -> list[str]: + # Obtention du chemin des fichiers xml + chemin_fichiers = glob.glob("passwords/"+"*xml") + return chemin_fichiers + + def get_ssid_pwd(self) -> list: + ssid_pwd = {} + for i in self.file_path(): + tree = ET.parse(i) + root = tree.getroot() + ssid = root[1][0][1].text # ssid + pwd = root[4][0][1][2].text #pwd + ssid_pwd[ssid] = pwd + return ssid_pwd + + def display_password(self): + index=1 + info = self.get_ssid_pwd() + list_ssid, list_pwd = [], [] + print("Here is the list of Wi-Fi networks registered on this device : \n") + for i in info: + print(f"[{index}] {i}") + list_ssid.append(i) + list_pwd.append(info[i]) + index+=1 + + nb = int(input("Please choose a number : ")) + print(f"SSID : {list_ssid[nb-1]}\nPassword : {list_pwd[nb-1]}\n") + + def __del__(self): + print("Thanks for using my tool :)") + # Supression des fichiers + for i in self.file_path(): + if os.path.exists(i): + os.remove(i) + + +if __name__ == '__main__': + instance = PwdDisplay + instance() diff --git a/projects/Zip_Bruter/README.md b/projects/Zip_Bruter/README.md new file mode 100644 index 000000000..f1a7deec5 --- /dev/null +++ b/projects/Zip_Bruter/README.md @@ -0,0 +1,10 @@ +# Zip_Bruter +Simple brute force script for `.zip` files. + +### Usage +```bash +$ python3 zipbruter.py -f ../target.zip -w ../wordlist.txt +``` +## Contact +Blog - [erdoganyoksul.com](https://www.erdoganyoksul.com)
    +Mail - erdoganyoksul3@gmail.com diff --git a/projects/Zip_Bruter/zipbruter.py b/projects/Zip_Bruter/zipbruter.py new file mode 100644 index 000000000..ba02c6b3a --- /dev/null +++ b/projects/Zip_Bruter/zipbruter.py @@ -0,0 +1,94 @@ +#!/usr/bin/python3 + +""" +Password cracker for ZIP files. Uses brute +force attack vector for this, so you must have +strong wordlist. + +Usage: + python3 zipbruter.py -f -w -t +""" + +from sys import exit as exit_ +from os.path import isfile +from argparse import ArgumentParser +from _thread import start_new_thread +from queue import Queue +from zipfile import is_zipfile, ZipFile, BadZipfile + + +class ZipBruter: + + """Main ZipBruter class""" + + def __init__(self, file, word_list, threads) -> None: + """Initialized function for ZipBruter""" + self.file = file + self.word_list = word_list + self.threads = threads + + # Create FIFO queue + self.queue = Queue() + + def worker(self) -> None: + """ + Basically it listen queue and gets target password + from FIFO queue and checks if zip passwd is true + """ + while True: + # gets target passwd + passwd = self.queue.get() + self.queue.task_done() + + if passwd is None: + break + + try: + with ZipFile(self.file) as zipfile: + zipfile.extractall(pwd=passwd.encode()) + print('Found passwd: %s' % passwd) + except (RuntimeError, BadZipfile): + pass + + def start_workers(self) -> None: + """Start threads""" + for _ in range(self.threads): + start_new_thread(self.worker, ()) + + def main(self) -> None: + """Main entrypoint for program""" + self.start_workers() + + for target_passwd in self.read_wordlist(): + self.queue.put(target_passwd) + + for _ in range(self.threads): + self.queue.put(None) + + self.queue.join() + + def read_wordlist(self) -> str: + """Read given wordlist file and yield target passwds""" + with open(self.word_list, 'r') as file: + for line in file.readlines(): + yield line.strip() + + +if __name__ == '__main__': + parser = ArgumentParser() + parser.add_argument('-f', '--file', type=str, help='Target encrypted zip file.') + parser.add_argument('-w', '--word-list', type=str, help='Wordlist to be used.') + parser.add_argument('-t', '--threads', type=int, default=4, help='Thread count.') + args = parser.parse_args() + + if not args.file or not args.word_list: + exit_(1) + + if not is_zipfile(args.file): + exit_(1) + + if not isfile(args.word_list): + exit_(1) + + bruter = ZipBruter(args.file, args.word_list, args.threads) + bruter.main() diff --git a/projects/cat_command/README.md b/projects/cat_command/README.md new file mode 100644 index 000000000..91abc19f7 --- /dev/null +++ b/projects/cat_command/README.md @@ -0,0 +1,21 @@ +# Cat Command + +Cat command implementation using python + +## Requirements +Not necessary, only python libraries are used + +# Run program +On linux you can use +``` ./cat.py [path] ``` + +Or +```python ./cat.py [path]``` + +Example +```./cat.py ./test_cat.txt``` + +## Author Name + +[Alexander Monterrosa](https://github.com/Alex108-lab) + diff --git a/projects/cat_command/cat.py b/projects/cat_command/cat.py new file mode 100755 index 000000000..d405a8144 --- /dev/null +++ b/projects/cat_command/cat.py @@ -0,0 +1,79 @@ +#!/usr/bin/python + +import argparse +from pathlib import Path +from sys import stderr, stdout +import os + +class CatError(Exception): + pass + +class Logger: + def __init__(self, verbosity=False): + self.verbose = verbosity + + def error(self, message): + print(f'ERROR: {message}') + +logger = Logger() + +''' + Read the selected text file + + Example: + your/path/file.txt +''' +def readFile(src: Path): + + ''' + if the given path is a directory + ERROR the path is a directory + ''' + if src.is_dir(): + + logger.error(f'The path {src}: is a directory') + + else: + + with open(src, 'r') as f: + for lines in f: + print(lines, end='') + +def cli() -> argparse.Namespace: + parser = argparse.ArgumentParser( + prog='cat', + description='cat command implementation in python', + epilog='Example: your/path/file.txt' + ) + + parser.add_argument( + 'source', + type=Path, + help='Source file' + ) + + return parser.parse_args() + +def main(): + + args = cli() + + try: + + readFile(args.source) + + except CatError as e: + + logger.error(e) + + exit(1) + + except KeyboardInterrupt: + + logger.error('\nInterrupt') + +''' + Start the program +''' +if __name__ == '__main__': + main() diff --git a/projects/cat_command/test_cat.txt b/projects/cat_command/test_cat.txt new file mode 100644 index 000000000..c2c3c7847 --- /dev/null +++ b/projects/cat_command/test_cat.txt @@ -0,0 +1 @@ +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam consequat elit vel pretium pellentesque. Vivamus commodo leo sed lorem auctor elementum. Maecenas ut erat ut velit maximus luctus. Vestibulum varius justo et mauris tristique pharetra rutrum porta nulla. Nam porttitor lobortis posuere. Aenean erat nisl, aliquam id molestie in, luctus quis mauris. Donec fermentum vel quam in consectetur. Aliquam nec mauris quis tellus faucibus fermentum. Suspendisse ac maximus sem. Fusce feugiat non dui non gravida. Ut ac eleifend tellus. Vivamus consectetur finibus nisi. Etiam id odio vitae arcu aliquam tincidunt nec sit amet quam. diff --git a/projects/chatbot/README.md b/projects/chatbot/README.md new file mode 100644 index 000000000..9ba755975 --- /dev/null +++ b/projects/chatbot/README.md @@ -0,0 +1,24 @@ +# Chatbot +[python-wechaty](https://github.com/wechaty/python-wechaty) is an unified conversational RPA SDK for chatbot maker. Developer at least use six lines code to create chatbot base on multi-ims, eg: wechat, wechat official account, dingtalk, lark, whatsapp, giter, and so on ... + +There are [chinese documents](https://wechaty.readthedocs.io/) and [english documents](http://wechaty.js.org/) for developers to create their own chatbots. + +### Prerequisites + +```shell +pip install -r projects/chatbot/requirements.txt +``` + +### How to run the script + +```python +python projects/chatbot/bot.py +``` + +### Screenshot/GIF showing the sample use of the script + +The Run command script above is the best screenshot. + +## *Author Name* + +[wj-Mcat](https://github.com/wj-Mcat), 吴京京, NLP Researcher, Chatbot Lover diff --git a/projects/chatbot/bot.py b/projects/chatbot/bot.py new file mode 100644 index 000000000..aac02f76f --- /dev/null +++ b/projects/chatbot/bot.py @@ -0,0 +1,237 @@ +"""example code for ding-dong-bot with oop style""" +from typing import List, Optional, Union +import asyncio +from datetime import datetime +from wechaty_puppet import get_logger +from wechaty import ( + MessageType, + FileBox, + RoomMemberQueryFilter, + Wechaty, + Contact, + Room, + Message, + Image, + MiniProgram, + Friendship, + FriendshipType, + EventReadyPayload +) + +logger = get_logger(__name__) + + +class MyBot(Wechaty): + """ + listen wechaty event with inherited functions, which is more friendly for + oop developer + """ + + def __init__(self) -> None: + """initialization function + """ + self.login_user: Optional[Contact] = None + super().__init__() + + async def on_ready(self, payload: EventReadyPayload) -> None: + """listen for on-ready event""" + logger.info('ready event %s...', payload) + + # pylint: disable=R0912,R0914,R0915 + async def on_message(self, msg: Message) -> None: + """ + listen for message event + """ + from_contact: Contact = msg.talker() + text: str = msg.text() + room: Optional[Room] = msg.room() + msg_type: MessageType = msg.type() + file_box: Optional[FileBox] = None + if text == 'ding': + conversation: Union[ + Room, Contact] = from_contact if room is None else room + await conversation.ready() + await conversation.say('dong') + file_box = FileBox.from_url( + 'https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/' + 'u=1116676390,2305043183&fm=26&gp=0.jpg', + name='ding-dong.jpg') + await conversation.say(file_box) + + elif msg_type == MessageType.MESSAGE_TYPE_IMAGE: + logger.info('receving image file') + # file_box: FileBox = await msg.to_file_box() + image: Image = msg.to_image() + + hd_file_box: FileBox = await image.hd() + await hd_file_box.to_file('./hd-image.jpg', overwrite=True) + + thumbnail_file_box: FileBox = await image.thumbnail() + await thumbnail_file_box.to_file('./thumbnail-image.jpg', overwrite=True) + artwork_file_box: FileBox = await image.artwork() + await artwork_file_box.to_file('./artwork-image.jpg', overwrite=True) + # reply the image + await msg.say(hd_file_box) + + # pylint: disable=C0301 + elif msg_type in [MessageType.MESSAGE_TYPE_AUDIO, MessageType.MESSAGE_TYPE_ATTACHMENT, MessageType.MESSAGE_TYPE_VIDEO]: + logger.info('receving file ...') + file_box = await msg.to_file_box() + if file_box: + await file_box.to_file(file_box.name) + + elif msg_type == MessageType.MESSAGE_TYPE_MINI_PROGRAM: + logger.info('receving mini-program ...') + mini_program: Optional[MiniProgram] = await msg.to_mini_program() + if mini_program: + await msg.say(mini_program) + + elif text == 'get room members' and room: + logger.info('get room members ...') + room_members: List[Contact] = await room.member_list() + names: List[str] = [ + room_member.name for room_member in room_members] + await msg.say('\n'.join(names)) + + elif text.startswith('remove room member:'): + logger.info('remove room member:') + if not room: + await msg.say('this is not room zone') + return + + room_member_name = text[len('remove room member:') + 1:] + + room_member: Optional[Contact] = await room.member( + query=RoomMemberQueryFilter(name=room_member_name) + ) + if room_member: + if self.login_user and self.login_user.contact_id in room.payload.admin_ids: + await room.delete(room_member) + else: + await msg.say('登录用户不是该群管理员...') + + else: + await msg.say(f'can not fine room member by name<{room_member_name}>') + elif text.startswith('get room topic'): + logger.info('get room topic') + if room: + topic: Optional[str] = await room.topic() + if topic: + await msg.say(topic) + + elif text.startswith('rename room topic:'): + logger.info('rename room topic ...') + if room: + new_topic = text[len('rename room topic:') + 1:] + await msg.say(new_topic) + elif text.startswith('add new friend:'): + logger.info('add new friendship ...') + identity_info = text[len('add new friend:'):] + weixin_contact: Optional[Contact] = await self.Friendship.search(weixin=identity_info) + phone_contact: Optional[Contact] = await self.Friendship.search(phone=identity_info) + contact: Optional[Contact] = weixin_contact or phone_contact + if contact: + await self.Friendship.add(contact, 'hello world ...') + + elif text.startswith('at me'): + if room: + talker = msg.talker() + await room.say('hello', mention_ids=[talker.contact_id]) + + elif text.startswith('my alias'): + talker = msg.talker() + alias = await talker.alias() + await msg.say('your alias is:' + (alias or '')) + + elif text.startswith('set alias:'): + talker = msg.talker() + new_alias = text[len('set alias:'):] + + # set your new alias + alias = await talker.alias(new_alias) + # get your new alias + alias = await talker.alias() + await msg.say('your new alias is:' + (alias or '')) + + elif text.startswith('find friends:'): + friend_name: str = text[len('find friends:'):] + friend = await self.Contact.find(friend_name) + if friend: + logger.info('find only one friend <%s>', friend) + + friends: List[Contact] = await self.Contact.find_all(friend_name) + + logger.info('find friend<%d>', len(friends)) + logger.info(friends) + + else: + pass + + if msg.type() == MessageType.MESSAGE_TYPE_UNSPECIFIED: + talker = msg.talker() + assert isinstance(talker, Contact) + + async def on_login(self, contact: Contact) -> None: + """login event + + Args: + contact (Contact): the account logined + """ + logger.info('Contact<%s> has logined ...', contact) + self.login_user = contact + + async def on_friendship(self, friendship: Friendship) -> None: + """when receive a new friendship application, or accept a new friendship + + Args: + friendship (Friendship): contains the status and friendship info, + eg: hello text, friend contact object + """ + MAX_ROOM_MEMBER_COUNT = 500 + # 1. receive a new friendship from someone + if friendship.type() == FriendshipType.FRIENDSHIP_TYPE_RECEIVE: + hello_text: str = friendship.hello() + + # accept friendship when there is a keyword in hello text + if 'wechaty' in hello_text.lower(): + await friendship.accept() + + # 2. you have a new friend to your contact list + elif friendship.type() == FriendshipType.FRIENDSHIP_TYPE_CONFIRM: + # 2.1 invite the user to wechaty group + # find the topic of room which contains Wechaty keyword + wechaty_rooms: List[Room] = await self.Room.find_all('Wechaty') + + # 2.2 find the suitable room + for wechaty_room in wechaty_rooms: + members: List[Contact] = await wechaty_room.member_list() + if len(members) < MAX_ROOM_MEMBER_COUNT: + contact: Contact = friendship.contact() + await wechaty_room.add(contact) + break + + async def on_room_join(self, room: Room, invitees: List[Contact], + inviter: Contact, date: datetime) -> None: + """on_room_join when there are new contacts to the room + + Args: + room (Room): the room instance + invitees (List[Contact]): the new contacts to the room + inviter (Contact): the inviter who share qrcode or manual invite someone + date (datetime): the datetime to join the room + """ + # 1. say something to welcome the new arrivals + names: List[str] = [] + for invitee in invitees: + await invitee.ready() + names.append(invitee.name) + + await room.say(f'welcome {",".join(names)} to the wechaty group !') + + +async def main() -> None: + """doc""" + bot = MyBot() + await bot.start() + +asyncio.run(main()) diff --git a/projects/chatbot/requirements.txt b/projects/chatbot/requirements.txt new file mode 100644 index 000000000..0facc4111 --- /dev/null +++ b/projects/chatbot/requirements.txt @@ -0,0 +1 @@ +wechaty \ No newline at end of file diff --git a/projects/chatbot/simple-bot.py b/projects/chatbot/simple-bot.py new file mode 100644 index 000000000..6b33b0a67 --- /dev/null +++ b/projects/chatbot/simple-bot.py @@ -0,0 +1,13 @@ +import asyncio +from wechaty import Wechaty, Message + +async def on_message(msg: Message): + if msg.text() == 'ding': + await msg.say('dong') + +async def main(): + bot = Wechaty() + bot.on('message', on_message) + await bot.start() + +asyncio.run(main()) diff --git a/projects/detect_align_faces/README.md b/projects/detect_align_faces/README.md new file mode 100644 index 000000000..7eb08fd48 --- /dev/null +++ b/projects/detect_align_faces/README.md @@ -0,0 +1,25 @@ +# Detect and align faces + +This algorithm can detect the faces from picture and then align them. + +## Requirement + +**Dowload model parameters:** + +You should dowload the [model parameters](http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2) +from dlib, decompress and move to `./dat` + +**Installation:** + +```shell +$ pip install -r requirements.txt +``` + +## Usage + +```shell +$ python3 main.py [pic1, pic2...] +``` + +After the script finished, you will get some faces picture in the same +directory. diff --git a/projects/detect_align_faces/example.jpg b/projects/detect_align_faces/example.jpg new file mode 100644 index 000000000..28641d8d6 Binary files /dev/null and b/projects/detect_align_faces/example.jpg differ diff --git a/projects/detect_align_faces/main.py b/projects/detect_align_faces/main.py new file mode 100644 index 000000000..7c31988e0 --- /dev/null +++ b/projects/detect_align_faces/main.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 +# +# Copyright(C) 2021 wuyaoping +# + + +import numpy as np +import os.path as osp +import sys +import cv2 +import dlib + +OUT_SIZE = (224, 224) +LEFT_EYE_RANGE = (36, 42) +RIGHT_EYE_RABGE = (42, 48) +LEFT_EYE_POS = (0.35, 0.3815) +DAT_PATH = "./dat/shape_predictor_68_face_landmarks.dat" + + +def main(files): + detector = dlib.get_frontal_face_detector() + sp = dlib.shape_predictor(DAT_PATH) + + for file in files: + img = cv2.imread(file, cv2.IMREAD_ANYCOLOR) + img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) + + faces = detect_align_faces(detector, sp, img) + for (idx, face) in enumerate(faces): + face = cv2.cvtColor(face, cv2.COLOR_RGB2BGR) + filename, ext = osp.splitext(file) + filename += '_face_{:03}'.format(idx) + ext + cv2.imwrite(filename, face) + + +def detect_align_faces(detector, sp, img): + faces = detector(img, 1) + res = [] + for face in faces: + shape = sp(img, face) + left, right = shape_to_pos(shape) + left_center = np.mean(left, axis=0) + right_center = np.mean(right, axis=0) + + dx = right_center[0] - left_center[0] + dy = right_center[1] - left_center[1] + angle = np.degrees(np.arctan2(dy, dx)) + dist = np.sqrt(dy ** 2 + dx ** 2) + out_dist = OUT_SIZE[0] * (1 - 2 * LEFT_EYE_POS[0]) + scale = out_dist / dist + center = ((left_center + right_center) // 2).tolist() + + mat = cv2.getRotationMatrix2D(center, angle, scale) + mat[0, 2] += (0.5 * OUT_SIZE[0] - center[0]) + mat[1, 2] += (LEFT_EYE_POS[1] * OUT_SIZE[1] - center[1]) + res_face = cv2.warpAffine(img, mat, OUT_SIZE, flags=cv2.INTER_CUBIC) + res.append(res_face) + + return res + + +def shape_to_pos(shape): + parts = [] + for p in shape.parts(): + parts.append((p.x, p.y)) + + left = parts[LEFT_EYE_RANGE[0]: LEFT_EYE_RANGE[-1]] + right = parts[RIGHT_EYE_RABGE[0]: RIGHT_EYE_RABGE[-1]] + + return (np.array(left), np.array(right)) + + +if __name__ == '__main__': + main(sys.argv[1:]) diff --git a/projects/detect_align_faces/requirements.txt b/projects/detect_align_faces/requirements.txt new file mode 100644 index 000000000..97a266ea5 --- /dev/null +++ b/projects/detect_align_faces/requirements.txt @@ -0,0 +1,3 @@ +dlib==19.22.1 +numpy==1.21.2 +opencv-python==4.5.3.56 diff --git a/projects/dork_search_google/README.md b/projects/dork_search_google/README.md new file mode 100644 index 000000000..a6c0e0c30 --- /dev/null +++ b/projects/dork_search_google/README.md @@ -0,0 +1,20 @@ +# Exploit the google dork! + +this script will teach you how to auto find the vulnerability sites of sql injection in google search engine + +#Prerequisites +You only need Python to run this script. You can visit here to download Python. +but you need to install requirements package first! +>pip3 install -r requirements.txt + +# how to run this program? + +>python3 main.py + +# Sample use of the script + +>kali@kali$ python3 main.py +>[?] dork: [inurl:cart.php?id=] +>[?] total page : 25 +> +> you will see the following results here diff --git a/projects/dork_search_google/main.py b/projects/dork_search_google/main.py new file mode 100644 index 000000000..5bd35ab46 --- /dev/null +++ b/projects/dork_search_google/main.py @@ -0,0 +1,76 @@ +#!/usr/bin/python3 + +import sys +import re + +# the error contans for sql injection vulnerable +errors = {'MySQL': 'error in your SQL syntax', + 'MiscError': 'mysql_fetch', + 'MiscError2': 'num_rows', + 'Oracle': 'ORA-01756', + 'JDBC_CFM': 'Error Executing Database Query', + 'JDBC_CFM2': 'SQLServer JDBC Driver', + 'MSSQL_OLEdb': 'Microsoft OLE DB Provider for SQL Server', + 'MSSQL_Uqm': 'Unclosed quotation mark', + 'MS-Access_ODBC': 'ODBC Microsoft Access Driver', + 'MS-Access_JETdb': 'Microsoft JET Database', + 'Error Occurred While Processing Request' : 'Error Occurred While Processing Request', + 'Server Error' : 'Server Error', + 'Microsoft OLE DB Provider for ODBC Drivers error' : 'Microsoft OLE DB Provider for ODBC Drivers error', + 'Invalid Querystring' : 'Invalid Querystring', + 'OLE DB Provider for ODBC' : 'OLE DB Provider for ODBC', + 'VBScript Runtime' : 'VBScript Runtime', + 'ADODB.Field' : 'ADODB.Field', + 'BOF or EOF' : 'BOF or EOF', + 'ADODB.Command' : 'ADODB.Command', + 'JET Database' : 'JET Database', + 'mysql_fetch_array()' : 'mysql_fetch_array()', + 'Syntax error' : 'Syntax error', + 'mysql_numrows()' : 'mysql_numrows()', + 'GetArray()' : 'GetArray()', + 'FetchRow()' : 'FetchRow()', + 'Input string was not in a correct format' : 'Input string was not in a correct format', + 'Not found' : 'Not found'} + + +try: + import requests + import googlesearch + # the function to exploit the google hacking databases + def Exploit(dork,total_page): + # this require google search engine + user_agent = {"User-agent":"Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"} + + Total_page = int(total_page) + + for b in googlesearch.search(dork, num=Total_page): + web = b+"'" # add ' to end the result url. to check if website is vuln by SQL Injection + # using requests + r = requests.get(web, headers=user_agent) + webs = r.text + # return errors dictionary to find the error problem matches + for Type, ErrorMessage in errors.items(): + if re.search(ErrorMessage, webs): + # append the list of vulnerability website to result + print(" \033[41m\033[30mVULN\033[40m\033[37m {0}\n Vulnerability Type: \033[31m{1}".format(b,Type)) + + # doing the while input + while True: + # going to ask your dork + dork = input("[?] dork: [inurl:cart.php?id=] ") + total_page = input("[?] total page : ") + + # if you input the empty dork. this will set the default dork as 'inurl:products.php?id=' + if not dork: + Exploit(dork = "inurl:cart.php?id=", + total_page = total_page) + else: + Exploit(dork = dork,total_page = total_page) + +except ImportError: + # this error will display on your terminal if you havent + # installed the google module + print("[!] You havent installed the required modules!\n[+] to install that packages. run 'pip3 install -r requirements.txt' on your terminal\n") + sys.exit() +except KeyboardInterrupt: + sys.exit() diff --git a/projects/dork_search_google/requirements.txt b/projects/dork_search_google/requirements.txt new file mode 100644 index 000000000..a5ef94dc0 --- /dev/null +++ b/projects/dork_search_google/requirements.txt @@ -0,0 +1,2 @@ +google +requests diff --git a/projects/download GeeksForGeeks articles/downloader.py b/projects/download GeeksForGeeks articles/downloader.py index 7742edca9..24dcc2b70 100644 --- a/projects/download GeeksForGeeks articles/downloader.py +++ b/projects/download GeeksForGeeks articles/downloader.py @@ -51,4 +51,4 @@ def download_article(URL): except Exception as e: print(e) else: - print("Enter a valid working URL") + print("Enter a valid working URL") diff --git a/projects/export_mysql_to_csv_send_to_wocom/README.md b/projects/export_mysql_to_csv_send_to_wocom/README.md new file mode 100644 index 000000000..2fe0bc4b0 --- /dev/null +++ b/projects/export_mysql_to_csv_send_to_wocom/README.md @@ -0,0 +1,25 @@ +# export_mysql_to_csv_send_to_wocom + +Export the data in mysql into CSV files and send them to enterprise wechat group chat. + +### Prerequisites + +- PyMySQL==1.0.2 +- requests==2.26.0 + +### How to run the script + +```shell +# 1. edit config.ini +$ vim config.ini +# 2. run script +$ python export_mysql_data_to_csv.py +``` + +### Screenshot/GIF showing the sample use of the script + +![pic](./pic.png) + +### Author Name + +[Yuan Lei(雷园)](https://github.com/LeiyuanBlog) diff --git a/projects/export_mysql_to_csv_send_to_wocom/config.ini b/projects/export_mysql_to_csv_send_to_wocom/config.ini new file mode 100644 index 000000000..a8ed91a7c --- /dev/null +++ b/projects/export_mysql_to_csv_send_to_wocom/config.ini @@ -0,0 +1,10 @@ +[db] +host = 127.0.0.1 +username = root +password = 123456 +database = user +[wecom] +key = * +[message] +sql = select * from user +title = 测试文件 diff --git a/projects/export_mysql_to_csv_send_to_wocom/export_mysql_data_to_csv.py b/projects/export_mysql_to_csv_send_to_wocom/export_mysql_data_to_csv.py new file mode 100644 index 000000000..ff7abafa8 --- /dev/null +++ b/projects/export_mysql_to_csv_send_to_wocom/export_mysql_data_to_csv.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +import codecs +import configparser +import csv +import time + +import pymysql +import requests as requests + +ini = configparser.ConfigParser() +ini.read('config.ini') +wecom_key = ini.get('wecom', 'key') + + +def sql(sqlstr): # 定义一个执行SQL的函数 + conn = pymysql.connect(host=ini.get('db', 'host'), user=ini.get('db', 'username'), + password=ini.get('db', 'password'), database=ini.get('db', 'database')) + cursor = conn.cursor() + cursor.execute(sqlstr) + results = cursor.fetchall() # 获取查询的所有记录 + cursor.close() + conn.close() + return results + + +def read_mysql_to_csv(filename): + with codecs.open(filename=filename, mode='w', encoding='utf-8') as f: + write = csv.writer(f, dialect='excel') + results = sql( + ini.get('message', 'sql') + ) + for result in results: + write.writerow(result) + + +def upload_file_robots(filename): + url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=%(key)s&type=file" % {"key": wecom_key} + data = {'file': open(filename, 'rb')} # post jason + response = requests.post(url=url, files=data) # post 请求上传文件 + json_res = response.json() # 返回转为json + media_id = json_res['media_id'] # 提取返回ID + return media_id # 返回请求状态 + + +def send_file_robots(media_id): + wx_url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=%(key)s' % {"key": wecom_key} + data = {"msgtype": "file", + "file": {"media_id": media_id}} # post json + r = requests.post(url=wx_url, json=data) + return r + + +if __name__ == '__main__': + filename = ini.get('message', 'title') + time.strftime('%y%m%d') + '.csv' + read_mysql_to_csv(filename) + print(send_file_robots(upload_file_robots(filename))) diff --git a/projects/export_mysql_to_csv_send_to_wocom/pic.png b/projects/export_mysql_to_csv_send_to_wocom/pic.png new file mode 100644 index 000000000..62188a162 Binary files /dev/null and b/projects/export_mysql_to_csv_send_to_wocom/pic.png differ diff --git a/projects/export_mysql_to_csv_send_to_wocom/requirements.txt b/projects/export_mysql_to_csv_send_to_wocom/requirements.txt new file mode 100644 index 000000000..365a6b592 --- /dev/null +++ b/projects/export_mysql_to_csv_send_to_wocom/requirements.txt @@ -0,0 +1,17 @@ +certifi==2021.10.8 +charset-normalizer==2.0.7 +configparser==5.0.2 +idna==3.3 +importlib-metadata==4.8.1 +Jinja2==3.0.2 +MarkupSafe==2.0.1 +prettytable==2.4.0 +pyecharts==1.9.0 +PyMySQL==1.0.2 +requests==2.26.0 +simplejson==3.17.5 +typing-extensions==3.10.0.2 +urllib3==1.26.7 +wcwidth==0.2.5 +xlwt==1.3.0 +zipp==3.6.0 diff --git a/projects/steganography/README.md b/projects/steganography/README.md new file mode 100644 index 000000000..687dade6f --- /dev/null +++ b/projects/steganography/README.md @@ -0,0 +1,29 @@ +# Image steganography + +This project contains two algorithm (LSB and DCT), which can insert some secret but invisible. + +**LSB** insert message into Least Significant Bit of each pixels. + +**DCT** insert message into Middle Frequency. + +## Requirement + +Installation: + +```shell +$ pip install -r requirements.txt +``` + +## Usage + +Run LSB algorithm + +```shell +$ python3 lsb.py +``` + +Run DCT algorithm + +```shell +$ python3 dct.py +``` \ No newline at end of file diff --git a/projects/steganography/dct.py b/projects/steganography/dct.py new file mode 100644 index 000000000..8523ebc61 --- /dev/null +++ b/projects/steganography/dct.py @@ -0,0 +1,127 @@ +#!/usr/bin/env python3 +# +# Copyright(C) 2021 wuyaoping +# +# DCT algorithm has great a robust but lower capacity. + +import numpy as np +import os.path as osp +import cv2 + +FLAG = '%' +# Select a part location from the middle frequency +LOC_MAX = (4, 1) +LOC_MIN = (3, 2) +# The difference between MAX and MIN, +# bigger to improve robust but make picture low quality. +ALPHA = 1 + +# Quantizer table +TABLE = np.array([ + [16, 11, 10, 16, 24, 40, 51, 61], + [12, 12, 14, 19, 26, 58, 60, 55], + [14, 13, 16, 24, 40, 57, 69, 56], + [14, 17, 22, 29, 51, 87, 80, 62], + [18, 22, 37, 56, 68, 109, 103, 77], + [24, 35, 55, 64, 81, 104, 113, 92], + [49, 64, 78, 87, 103, 121, 120, 101], + [72, 92, 95, 98, 112, 100, 103, 99] +]) + + +def insert(path, txt): + img = cv2.imread(path, cv2.IMREAD_ANYCOLOR) + txt = "{}{}{}".format(len(txt), FLAG, txt) + row, col = img.shape[:2] + max_bytes = (row // 8) * (col // 8) // 8 + assert max_bytes >= len( + txt), "Message overflow the capacity:{}".format(max_bytes) + img = cv2.cvtColor(img, cv2.COLOR_BGR2YUV) + # Just use the Y plane to store message, you can use all plane + y, u, v = cv2.split(img) + y = y.astype(np.float32) + blocks = [] + # Quantize blocks + for r_idx in range(0, 8 * (row // 8), 8): + for c_idx in range(0, 8 * (col // 8), 8): + quantized = cv2.dct(y[r_idx: r_idx+8, c_idx: c_idx+8]) / TABLE + blocks.append(quantized) + for idx in range(len(txt)): + encode(blocks[idx*8: (idx+1)*8], txt[idx]) + + idx = 0 + # Restore Y plane + for r_idx in range(0, 8 * (row // 8), 8): + for c_idx in range(0, 8 * (col // 8), 8): + y[r_idx: r_idx+8, c_idx: c_idx+8] = cv2.idct(blocks[idx] * TABLE) + idx += 1 + y = y.astype(np.uint8) + img = cv2.cvtColor(cv2.merge((y, u, v)), cv2.COLOR_YUV2BGR) + filename, _ = osp.splitext(path) + # DCT algorithm can save message even if jpg + filename += '_dct_embeded' + '.jpg' + cv2.imwrite(filename, img) + return filename + + +# Encode a char into the blocks +def encode(blocks, data): + data = ord(data) + for idx in range(len(blocks)): + bit_val = (data >> idx) & 1 + max_val = max(blocks[idx][LOC_MAX], blocks[idx][LOC_MIN]) + min_val = min(blocks[idx][LOC_MAX], blocks[idx][LOC_MIN]) + if max_val - min_val <= ALPHA: + max_val = min_val + ALPHA + 1e-3 + if bit_val == 1: + blocks[idx][LOC_MAX] = max_val + blocks[idx][LOC_MIN] = min_val + else: + blocks[idx][LOC_MAX] = min_val + blocks[idx][LOC_MIN] = max_val + + +# Decode a char from the blocks +def decode(blocks): + val = 0 + for idx in range(len(blocks)): + if blocks[idx][LOC_MAX] > blocks[idx][LOC_MIN]: + val |= 1 << idx + return chr(val) + + +def extract(path): + img = cv2.imread(path, cv2.IMREAD_ANYCOLOR) + row, col = img.shape[:2] + max_bytes = (row // 8) * (col // 8) // 8 + img = cv2.cvtColor(img, cv2.COLOR_BGR2YUV) + y, u, v = cv2.split(img) + y = y.astype(np.float32) + blocks = [] + for r_idx in range(0, 8 * (row // 8), 8): + for c_idx in range(0, 8 * (col // 8), 8): + quantized = cv2.dct(y[r_idx: r_idx+8, c_idx: c_idx+8]) / TABLE + blocks.append(quantized) + res = '' + idx = 0 + # Extract the length of the message + while idx < max_bytes: + ch = decode(blocks[idx*8: (idx+1)*8]) + idx += 1 + if ch == FLAG: + break + res += ch + end = int(res) + idx + assert end <= max_bytes, "Input image isn't correct." + res = '' + while idx < end: + res += decode(blocks[idx*8: (idx+1)*8]) + idx += 1 + return res + + +if __name__ == '__main__': + data = 'A collection of simple python mini projects to enhance your Python skills.' + res_path = insert('./example.png', data) + res = extract(res_path) + print(res) diff --git a/projects/steganography/example.png b/projects/steganography/example.png new file mode 100644 index 000000000..074292362 Binary files /dev/null and b/projects/steganography/example.png differ diff --git a/projects/steganography/lsb.py b/projects/steganography/lsb.py new file mode 100644 index 000000000..f079fb194 --- /dev/null +++ b/projects/steganography/lsb.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +# +# Copyright(C) 2021 wuyaoping +# +# LSB algorithm has a great capacity but fragile. + +import cv2 +import math +import os.path as osp +import numpy as np + +# Insert data in the low bit. +# Lower make picture less loss but lower capacity. +BITS = 2 + +HIGH_BITS = 256 - (1 << BITS) +LOW_BITS = (1 << BITS) - 1 +BYTES_PER_BYTE = math.ceil(8 / BITS) +FLAG = '%' + + +def insert(path, txt): + img = cv2.imread(path, cv2.IMREAD_ANYCOLOR) + # Save origin shape to restore image + ori_shape = img.shape + max_bytes = ori_shape[0] * ori_shape[1] // BYTES_PER_BYTE + # Encode message with length + txt = '{}{}{}'.format(len(txt), FLAG, txt) + assert max_bytes >= len( + txt), "Message overflow the capacity:{}".format(max_bytes) + data = np.reshape(img, -1) + for (idx, val) in enumerate(txt): + encode(data[idx*BYTES_PER_BYTE: (idx+1) * BYTES_PER_BYTE], val) + + img = np.reshape(data, ori_shape) + filename, _ = osp.splitext(path) + # png is lossless encode that can restore message correctly + filename += '_lsb_embeded' + ".png" + cv2.imwrite(filename, img) + return filename + + +def extract(path): + img = cv2.imread(path, cv2.IMREAD_ANYCOLOR) + data = np.reshape(img, -1) + total = data.shape[0] + res = '' + idx = 0 + # Decode message length + while idx < total // BYTES_PER_BYTE: + ch = decode(data[idx*BYTES_PER_BYTE: (idx+1)*BYTES_PER_BYTE]) + idx += 1 + if ch == FLAG: + break + res += ch + end = int(res) + idx + assert end <= total // BYTES_PER_BYTE, "Input image isn't correct." + + res = '' + while idx < end: + res += decode(data[idx*BYTES_PER_BYTE: (idx+1)*BYTES_PER_BYTE]) + idx += 1 + return res + + +def encode(block, data): + data = ord(data) + for idx in range(len(block)): + block[idx] &= HIGH_BITS + block[idx] |= (data >> (BITS * idx)) & LOW_BITS + + +def decode(block): + val = 0 + for idx in range(len(block)): + val |= (block[idx] & LOW_BITS) << (idx * BITS) + return chr(val) + + +if __name__ == '__main__': + data = 'A collection of simple python mini projects to enhance your Python skills.' + input_path = "./example.png" + res_path = insert(input_path, data) + res = extract(res_path) + print(res) diff --git a/projects/steganography/requirements.txt b/projects/steganography/requirements.txt new file mode 100644 index 000000000..f9f14654c --- /dev/null +++ b/projects/steganography/requirements.txt @@ -0,0 +1,2 @@ +numpy==1.21.2 +opencv-python==4.5.3.56 diff --git a/projects/telegram_bot/README.md b/projects/telegram_bot/README.md index 45522a032..5d871d96c 100644 --- a/projects/telegram_bot/README.md +++ b/projects/telegram_bot/README.md @@ -1,4 +1,4 @@ -#Telegram bot +# Telegram bot This is a demo project of a telegram bot diff --git a/projects/text_to_morse_code/text_to_morse_code.py b/projects/text_to_morse_code/text_to_morse_code.py new file mode 100644 index 000000000..461c8f56b --- /dev/null +++ b/projects/text_to_morse_code/text_to_morse_code.py @@ -0,0 +1,42 @@ +#all_the symbols +symbols = { + "a": ".-", + "b": "-...", + "c": "-.-.", + "d": "-..", + "e": ".", + "f": "..-.", + "g": ".-", + "h": "....", + "i": "..", + "j": ".---", + "k": "-.-", + "l": ".-..", + "m": "--", + "n": "-.", + "o": "---", + "p": ".--.", + "q": "--.-", + "r": ".-.", + "s": "...", + "t": "-", + "u": "..-", + "v": "...-", + "w": ".--", + "x": "-..-", + "y": "-.--", + "z": "--..", +} + +#the user has to tyoe a word +ask = input("type: ") + + +length = len(ask) +output = "" + +for i in range(length): + if ask[i] in symbols.keys(): + output = output + " " + symbols.get(ask[i]) + +print(output) diff --git a/requirementsALL.txt b/requirementsALL.txt index 46c15c1a5..63925e099 100644 --- a/requirementsALL.txt +++ b/requirementsALL.txt @@ -3,10 +3,10 @@ Flask-SQLAlchemy==2.4.4 Flask==1.1.2 HTMLParser==0.0.2 PIL==1.1.6 -Pillow==8.3.2 +Pillow==9.0.1 PyAudio==0.2.11 PyAutoGUI==0.9.50 -PyPDF2==1.26.0 +PyPDF2==1.27.5 SpeechRecognition==3.8.1 beautifulsoup4==4.9.1 certifi==2020.6.20 @@ -26,12 +26,12 @@ idna==2.10 img2pdf==0.4.0 jupyterlab==2.2.10 kiwisolver==1.2.0 -lxml==4.6.3 +lxml==4.6.5 matplotlib==3.3.0 model==0.6.0 newspaper==0.1.0.7 nltk==3.5 -notebook==6.4.1 +notebook==6.4.10 numpy==1.19.1 opencv-python==4.3.0.36 pandas==1.0.5 @@ -49,7 +49,7 @@ six==1.15.0 soupsieve==2.0.1 sumeval==0.2.2 sumy==0.8.1 -tensorflow==2.5.1 +tensorflow==2.6.4 tqdm==4.48.2 tweepy==3.9.0 urllib3==1.26.5