Skip to content
This repository was archived by the owner on Mar 31, 2020. It is now read-only.

Flamboyant Flamingos #16

Open
wants to merge 95 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
d193f73
Update README.md
Starwort Feb 22, 2019
24626ec
List project goals
Starwort Feb 22, 2019
59a5108
New ideas means new bullets
Starwort Feb 23, 2019
fe4d24f
Skeleton + req.txt
Starwort Feb 23, 2019
78a71a3
File select. May work with updated asynctk
Starwort Feb 23, 2019
20b3572
Small fixes (check description)
slushiegoose Feb 23, 2019
b1ce0e2
Added the file select onto the main file
slushiegoose Feb 23, 2019
3ba2a4f
Suhail asked that I reset to here so I did
Starwort Feb 23, 2019
2b23152
Merge remote-tracking branch 'origin/master'
slushiegoose Feb 23, 2019
0916da6
Idk pipenv ok
Starwort Feb 23, 2019
2adc804
Lint fixes
slushiegoose Feb 23, 2019
bff83f3
This is the only change we're allowed to make to the .flake8 but it i…
Starwort Feb 23, 2019
46094f4
Make `..` the first thing in the menu
Starwort Feb 23, 2019
2700824
updated asynctk
slushiegoose Feb 23, 2019
d9c1cb6
wtf is 'late binding'
Starwort Feb 23, 2019
23c702d
Merge remote-tracking branch 'origin/master'
slushiegoose Feb 23, 2019
38931ee
File select menu is now properly functional
Starwort Feb 23, 2019
230de83
Merge remote-tracking branch 'origin/master'
slushiegoose Feb 23, 2019
021fc55
Linting errors
slushiegoose Feb 23, 2019
9f300dd
Subclassed asynctk.AsyncTk
slushiegoose Feb 23, 2019
64546c1
Add locale
Starwort Feb 23, 2019
c069ac9
All locale strings so far + update readme with new goals
Starwort Feb 23, 2019
966e16c
Linting errors
slushiegoose Feb 23, 2019
d6a7fda
Huge Update (check description)
slushiegoose Feb 24, 2019
ebd66ee
Transcribed new keys
Starwort Feb 24, 2019
6895f46
Fix mislabelled menu item
Starwort Feb 24, 2019
db0a5eb
Format locale
Starwort Feb 24, 2019
57e9b11
Add text to button
Starwort Feb 24, 2019
0c321ab
Add "start" command and edited README
slushiegoose Feb 24, 2019
6a70622
Fixed local file imports, transcription error
Starwort Feb 24, 2019
219a0cd
Local import syntax means no module conflicts
Starwort Feb 24, 2019
2b6e0e7
Make file save windows indestructible
Starwort Feb 24, 2019
863a457
Added a cancel option to the new file dialogue
Starwort Feb 24, 2019
f54f1a2
Suhail had an oopsie
Starwort Feb 24, 2019
df863f3
Cancelling doesn't work, disable it
Starwort Feb 24, 2019
5d89963
Transformed colour
slushiegoose Feb 24, 2019
4590d31
Merge remote-tracking branch 'origin/master'
slushiegoose Feb 24, 2019
3dec6a5
Re-add locale deleted after merge
slushiegoose Feb 24, 2019
d3f85b2
updated asynctk
slushiegoose Feb 24, 2019
935093c
Update atk and reenable cancelling
Starwort Feb 24, 2019
86f6a2f
Merge remote-tracking branch 'origin/master'
Starwort Feb 24, 2019
112d872
lint fixes
slushiegoose Feb 24, 2019
8734f9c
Merge remote-tracking branch 'origin/master'
slushiegoose Feb 24, 2019
9cf3f02
Transcribe new key
Starwort Feb 24, 2019
614e331
Merge remote-tracking branch 'origin/master'
Starwort Feb 24, 2019
67f212a
Automatically disappearing error
Starwort Feb 24, 2019
2e02bc8
There are 16777216 options not 16777215 SUHAIL. Also fixed pixel plac…
Starwort Feb 24, 2019
8b36ae4
Formatting and new key
Starwort Feb 24, 2019
5cb7967
Fix mistranscription of 'colour'
Starwort Feb 25, 2019
30ae090
Docstrings
slushiegoose Feb 25, 2019
1aff4f2
Merge remote-tracking branch 'origin/master'
slushiegoose Feb 25, 2019
0096516
Comment locale, typehint code, fix transcription errors in locale, ad…
Starwort Feb 25, 2019
bfa5968
Add cancelling save
Starwort Feb 25, 2019
9b85d8a
Make my last commit work
Starwort Feb 25, 2019
4336021
*Really* make my last commit work
Starwort Feb 25, 2019
a2d08b6
Lint errors + docstring
slushiegoose Feb 25, 2019
c0c718b
Open image from file
slushiegoose Feb 26, 2019
2585047
Replace 'uk-based team' with attempt at team bio
Starwort Feb 27, 2019
e249432
Few small changes (check desc)
slushiegoose Feb 28, 2019
98c80f6
Undo & Redo
slushiegoose Feb 28, 2019
db07b50
Scrolling
slushiegoose Feb 28, 2019
28ed480
Transcribed new keys
Starwort Mar 2, 2019
ab70b99
Fix my transcription errors
Starwort Mar 2, 2019
1b8e4a9
Transcribe missed and future keys
Starwort Mar 2, 2019
a9740ca
New File
slushiegoose Mar 2, 2019
6cb0515
Fix errors I made, add eng locale
Starwort Mar 2, 2019
5e7b2b2
Change locale to allow translation
slushiegoose Mar 2, 2019
ba48a05
atk broke again
Starwort Mar 2, 2019
2777f43
Konami bind the English translation
slushiegoose Mar 2, 2019
dee7211
Merge remote-tracking branch 'origin/master'
slushiegoose Mar 2, 2019
750b5a6
Open file key
Starwort Mar 2, 2019
4b6ffce
random open
slushiegoose Mar 2, 2019
0e491c6
typo oopsoie
slushiegoose Mar 2, 2019
9fdd834
Formatting + visualisation
Starwort Mar 2, 2019
db74b26
Visualisations should be stable now
Starwort Mar 2, 2019
47407a1
except: cannot be blank
slushiegoose Mar 2, 2019
95c0c19
Save one byte per Canvas.save() call
Martmists-GH Mar 3, 2019
3cf9d8f
Add myself to README
Martmists-GH Mar 3, 2019
cd23f6f
Unroll decorator - is no longer decorator
Starwort Mar 3, 2019
bd9e2f3
Fix suhail's pixelate dividing by 0
Starwort Mar 3, 2019
4e37cee
Update pipfile, fix bugs in corruption (lol), add small tester png
Starwort Mar 3, 2019
c9be422
add large test jpg
Starwort Mar 3, 2019
b4a4cab
Fix frame master being incorrect
Starwort Mar 3, 2019
270efce
Tiny sleeps so that async code still runs (like the toplevels thankyo…
Starwort Mar 3, 2019
a406c13
Make progressbars tick for indeterminate, shorten looped sleeps
Starwort Mar 3, 2019
9a4a035
Remembering to format is key
Starwort Mar 3, 2019
55dc955
Icon is itself - how meta
Starwort Mar 3, 2019
4b9d88c
Implement icon.ico
Starwort Mar 3, 2019
0f7dd9c
Add requirement, rework saving, tweak readme
Starwort Mar 3, 2019
59f34af
PIL starts at 0, suhail
Starwort Mar 3, 2019
1c93c32
A word of warning to all those wishing to use this
Starwort Mar 3, 2019
2221f2b
FINAL PUSH
slushiegoose Mar 3, 2019
c0715e4
WE'VE BEEN FLAMBOYANT FLAMINGOS, AND GOODNIGHT
slushiegoose Mar 3, 2019
2f7aade
GOOD LUCK TO EVERY OTHER TEAM OUT THERE!
slushiegoose Mar 3, 2019
688437c
Suhail broke this and then I fixed it
Starwort Mar 10, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[flake8]
max-line-length=100
application_import_names=projectt
ignore=P102,B311,W503,E226,S311,W504,F821
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -102,3 +102,6 @@ venv.bak/

# mypy
.mypy_cache/

#Visual Studio Code Workplace settings
.vscode
61 changes: 61 additions & 0 deletions JUDGEINFO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# To the judges

Thank you for all the time you take helping run the PyDis code jams and server.

Although our team would **love** to see you suffer from our program, we do not wanna be marked down for stuff so here's is a list of *(hopefully)* everything that is so-called "evil" with our program.

**Since we would love for you to experience this blind, please only read this once you've seen the app for the first time so you may see the evilness we managed to achieve.**


## The Main Program

As you have likely already seen, this paint tool isn't your average program. The canvas is completely non-interactive. You are required to use the sidebar to enter the values.

For the *X* and *Y* entries (see **The Language** to translate the labels), you must enter the X and Y value of the pixel you would like to colour, with `(0,0)` being the top-left corner.

The *Colour* entry is a bit special. It works like this

* Grab the colour you would like to enter
* Find its hex value
* Swap the last two digits and the first two digits around (so it's in BGR format instead of RGB)
* Convert it into denary / base 10
* Enter your final answer into the Entry box

## The Language

The entire project is written in Katakana, a Japanese syllabary, which when pronounced sounds similar to the English equivalent. This was in order to make the program more difficult to use.

However, as an easter egg, we included a method to translate the entire program into English and to do this, you need to enter the Konami code.

Entering **Up, Up, Down, Down, Left, Right, Left, Right, B, A, ~~Start~~ Return** in quick succession will translate the entire program from Katakana to English.

## Saving

The "Save Processor Time" button destroys the program. Having already gone through the application, you may have discovered this.
In order to save, use `Alt + F4` (or the X button) to save your file to a file select window. However, I suggest you save small files since a button needs to be pressed for every byte saved. For example, a 2x2 image contains 75 bytes, meaning that you'd need to press the button 75 times.

## Small, slightly inconvenient things
It's the small things that everyone hates :D

### Undo & Redo

To fit the theme, the *Undo* and *Redo* buttons have been switched around, so clicking one will trigger the other. This also applies to keybinds. Using `Ctrl + Z` will redo the previous action and Using `Ctrl + Y` or `Ctrl + Shift + Z` will undo the action.

### Open File

To open a file, navigate to the *Close* button (ironically) and choose a file. There's no saying what will happen to your file though... Maybe it will:
* Become super pixelated
* Have completely different colours to the original image
* Become fragmented
* Have a complete shuffle of pixels
* Be absolutely normal

Which one will happen? The computer will decide... you have no control.
Not only that but the larger the image, the longer it'll take to load, ensuring that any haste is completely obliterated.
Also, in massive folders, it doesn't scroll so good luck finding that one file at the bottom!


### New File

To create a new file, use the *New File* button and specify a height and width. Don't think you're off the hook because the label is correct. Legends say that your height and width may be switched around...

7 changes: 6 additions & 1 deletion Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,14 @@ verify_ssl = true
flake8 = "*"

[packages]
flake8 = "*"
pillow = "*"
asynctk = "*"
aiofiles = "*"

[requires]
python_version = "3.7"

[scripts]
lint = "python -m flake8"
lint = "python -m flake8"
start = "python -m project"
113 changes: 105 additions & 8 deletions Pipfile.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 27 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,39 @@ You should be using [Pipenv](https://pipenv.readthedocs.io/en/latest/). Take a l

# Project Information

`# TODO`
Flamboyant Flamingos jam project.

* Team:
* Members:
* Starwort
* Location: UK
* Computer Science student in secondary education
* Leader
* Suhail
* Location: UK
* Computer Science student in secondary education
* Martmists
* Location: NL
* High School student, entering University later this year
* This paint tool is your worst enemy.

## Description

`# TODO`
A perverse editor that:

* Has the entire UI in katakana
* Makes you click a button once per byte during saving
* Has unintuitive shortcuts

## Setup & Installation

`# TODO`
* `pipenv sync`
* `pipenv run start`

## How do I use this thing?

`# TODO`
* Start it and begin creating
* If you're a judge, please use JUDGEINFO.md for information on how this
* **Only use the JUDGEINFO.md once visited the app once blindly**

Note - due to some errors and bugs in the tkinter module itself, some platforms may be unsupported or may error in some instances. Some may be solved by commenting line 68 of `__main__.py`.
Binary file added icon.ico
Binary file not shown.
Binary file added large test.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading