O: Programování Amiga C , Amiga Python a rozdíly mezi Amigou a PC v jejich používání
Umím... přepracovanost, stres, málo spánku, hodně kávy
Umím... přepracovanost, stres, málo spánku, hodně kávy
) po 7 ráno jsem si lehl, vzbudil se v poledne o 12 a byl jsem jako by mne někdo přetáhl kladivem
.
. Jediné, co se mi zatím nepovedlo je můj starý problém. Nějak se nedokáži vypořádat s pozadím, které je v Classic Workbench, kdy CW ignoruje nastavení pozadí přes: Prefs/Palette a dá tam pozadí své
. S tímhle se autor utility ShellScr vypořádal. Při její použití se i u Classic Workbench načetlo pozadí právě z: Prefs/Palette. Řekl bych, že to je asi již jediný rozdíl, který je mezi utilitou ShellScr a mým nastavením, bez její použití. A přitom můžu měnit paletu barev v průběhu programu
. To jak v součané době vypadá mé osekané okno WB vidíte na foto. V horní části kolem horní lišty je rámeček v barvě spomínaného pozadí... . Další možností je, že dám horní liště nějakou z použitých barev, co by mohlo vypadat malinko méně rušivě (spíše méně blbě
), než takovýhle prázdný rámeček. Na foto je zobrazená ještě okrouhlá závorka a současná pozice vozíku (kurzoru)
).
. Ale udělá se to jen jednou, tak dobře. Zde je jeden z možných postupů:text = "aaaabbbbccccdddd"
text = text[:4], text[4:]
for f in range(len(text[1])/4 - 1):
text = text[:-1] + (text[-1][:4], text[-1][4:])
print text
>>>
('aaaa', 'bbbb', 'cccc', 'dddd')
)
. Tak se teď tomu akorát hezky směju. Jak jsem psal v předešlém příspěvku, Python Imaging Library jsem zatím odložil k ledu, nicméně jak jsem kdesi psal, co se týče zobrazování obrázku s omezením, že bude 5 pixelú nad sebou v jedné barvě, jo tohle je jeden způsob zobrazení se kterým se pak dokážu pohybovat v rozsahu celého obrázku. Pokud by nám ale šlo pouze o zobrazení obrázku bez toho, aby jsme s ním něco chtěli dělat, je zde ještě možnost plného rozlišení Workbenche za použití AmigaPythonu a ESC sekvencí. Způsob je jednoduchý a nepřišel jsem na něj samozřejmě já - tohle vše jsou staré věci. Máme tedy dvě ESC sekvence, které nám dokáži hýbat celou obrazovkou
. Jedna v osi X, druhá v osi Y v rozsahu presnosti na 1 pixel. Pokud budeme posouvat okno Workbenche po 1 pixelu smerem dolů, myslíte, že se původní zobrazení mimo samotné okno Workbenche smaže? Ne nesmaže. Dá se tedy říci, že z těch 5 pixelů nad sebou, které jsou použity v 1 způsobu zobrazení, použiji vždy jen horní 1 pixel, ostatní useknu a nahradím dalším zobrazením. Takhle jsme v zobrazení na rozlišení Workbenche!
. S omezením jeho barevné palety. Pomocí ESC sekvencí můžu zobrazit naráz 8 barev dle libosti.
.
(verze 2.7.2.). My máme ale AmigaPython verze 2.3.3 a tam tenhle způsob nelze použít z jednoduchýho důvodu. Příkaz "enumerate", co má funkci jako "for", jen k prvku přidává i info o tom, s kolikátým prvkem se právě pracuje. AmigaPython pracuje jen s "enumerate" a jedným argumentem. Pokud by uměl pracovat se dvouma argumentama, kde 2. argument udává index, od kterého se má začít počítat číslo udávající pořadí prvku, mám vyhráno a vyřešil bych můj problém nejsympatičtěji. Před tím, než by jsem stratil informaci o samotném počtu prvků, co má proměnná "r", by jsem info o tom, který prvek je tím posledným zahrnul nasledovným způsobem:r = f[int(f[0][0])][2:].split(";")
if len(r) > 2:
r = r[:-2]
for r in r: sys.stdout.write(r + "\n ")
r = f[int(f[0][0])][2:].split(";")
sys.stdout.write(r[-2])
:r = f[int(f[0][0])][2:].split(";")
for r in enumerate(r[:-1], -len(r)):
if r[0] < -1: sys.stdout.write(r[1] + "\n ")
else: sys.stdout.write(r[1])
). Musel jsem si svůj cca 100 řádkový kód přeindexovat a to nesnáším. A tuplem to nesnáším, když jsem přeindexovával minulý den. To první přeindexování bylo určené vývojem, to druhé mojí blbostí. Včera jsem našel místo ve skriptu u kterého mne napadlo, jak to vylepšit. Dnes jsem to vylepšení dokončil a udělal přeindexování. Opět takové pohodové tempo a při té mé relaxaci jsem si řekl, že vyzkouším, co si zatím ten nedokončení engine veme z RAM.
.
#include <stdio.h>
void main()
{
printf("Hello World!");
}
.
)
. Namyslené to mám dobre, tak som zvedavý, či u toho prepisovanie do C padnem na hubu.
Komentovat