Wednesday, December 11, 2024

Space Invaders

 Found this tutorial on Space Invaders in Python pretty Cool. Alot of people are interested in game dev... so it may be interesting for some people? it's in PyGame not Tkinter, think for advanced Sprits you can't do it in Tkinter. But see in some tutorials you can include both. If you can 100% integrate or not at this time have no knowledge on that...




https://www.codingal.com/coding-for-kids/blog/space-invaders-game-using-python/


Monday, December 9, 2024

DTR in Python


Our DTR interface for now not plan any thing to fancy. Is stand alone not integrated in to main. 


Edit - basic text operations
 Update - update file width new fields
Redefine - Update file width new settings 
Repair - check for broken tags
Open - File load and path
Add - adds a simple field
help - info on how it works
Settings - styles

Sunday, December 8, 2024

New method for associative arrays

 

What you think about this method I created?

char array_keys = {"empty", "full"}

 char array_values = {"0", "0.1", "0.4", "1.20"}

int array_map = {[0,1], [0-2], [0-3], [1-4]} (multi dimension array to link stuff for us)

int array_deleted = {[0,1,V], [2,0,K]}

(*this part was added after) we could also add delete because in some language once deleted the field still exist as empty. When creating dynamic layouts the fields will still show. You can check if they are empty in the code but you have more options this way like adding stuff to deleted fields, instead of creating new ones. May need a 3 dimension array to represent also what kind of field : keys or values.

it instantly creates category's and avoids keep track on thigs you just add and remove.

just feed the loop width this 3 arrays and it do the rest.


and we have the information all structured for us :


empty : 0, 0.1, 0.4

full : 1,20


You can do it width other stuff like OOP but if need more performance.

Tuesday, December 3, 2024

DTR 2.0

 To start any project we need to store data.

After tweaking around width XML and though is so restrictive i got the idea of adding more stuff to DTR so is becoming really good. (The DTR is the costume format use to store data in project)

The top of the file represents settings for it. the first version only worked width basic lines in 1.0x and now add groups, and it represents all kind of things.

Add: 

  • Keys (already in 1.x) avoid adding then again in file is declared only one. It makes it  harder to read from file you need a interface to represents. The goal is to make faster files.
  • groups to mimic xml 
  • type of interface to load, 
  • costume scripts you build, 
  • Separator : how to add data to the files: line for for editor or grouped for manual input, 
  • settings to tell the prog how to tweaking a style
  • The type is still under dev don't know... it allow to have different styles of data in the same file
  • Lines reference to set performance points. Lets say that characters are at 100+ line, and spells at 1-100 line. This prevents him to search so much.
  • the settings end after the maximum reserved lines in here 8 lines. After that assumes data input.
  • *Missing a function to remove efficiency mode for the keys in this case you need to type all the keys again for witch entry.
Code from a DTR file is the "same" as macro .xml

Keys  : Name, Code,  Notes,   Dependency's

Groups\Tags :  Language, Library, Macro

Interface : Template A\grid left 

Scripts : 

separator\view : #,line

Settings : background gray, topics font Arial 24 

type : macros, characters  

Lines reference :  <100 characters, >100 spells


<python> #groups like XML

<tkinter>

                                # group for manual type. easy to read and input data from file

label; 

variable = Label(root, text="info", width=20, font=("bold",15));

needs parent element in here named root;

                                # Line keys input by interface hard to read from file

button; variable = Button(root, text="Register", command=register);needs parent element in here named root

                             # Efficiency mode off, need to input all keys.

                        <button>

<macro>variable = Button(root, text="Register", lambda: function(values))                                                </macro>

<notes>lambda used to pass variables</notes>

                             <dependencys></dependecys>   

</button>

hi

How its going

The pic is from the links editor adopted the simple interface of pop-ups to be easier, lather will hurry on the details. First versions of...