From ff594263f6e1ef05ea3028003e921a0aa6e27a09 Mon Sep 17 00:00:00 2001 From: flo Date: Tue, 2 May 2017 20:54:48 +0200 Subject: [PATCH] new --- Makefile | 2 +- Makefile.config | 7 ++- img/actane.png | Bin 961 -> 0 bytes img/alkalin.png | Bin 963 -> 0 bytes img/alkalino.png | Bin 963 -> 0 bytes img/detail.png | Bin 962 -> 0 bytes img/famille.png | Bin 962 -> 0 bytes img/find.png | Bin 952 -> 0 bytes img/fleche.png | Bin 962 -> 0 bytes img/g rare.png | Bin 962 -> 0 bytes img/halogene.png | Bin 957 -> 0 bytes img/lanthan.png | Bin 960 -> 0 bytes img/maxi.png | Bin 962 -> 0 bytes img/metal-trans.png | Bin 961 -> 0 bytes img/metalloide.png | Bin 960 -> 0 bytes img/mini.png | Bin 954 -> 0 bytes img/n metal.png | Bin 961 -> 0 bytes img/post.png | Bin 961 -> 0 bytes src/periodiq.c | 104 ++++++++++++++++++++++---------------------- 19 files changed, 57 insertions(+), 56 deletions(-) delete mode 100644 img/actane.png delete mode 100644 img/alkalin.png delete mode 100644 img/alkalino.png delete mode 100644 img/detail.png delete mode 100644 img/famille.png delete mode 100644 img/find.png delete mode 100644 img/fleche.png delete mode 100644 img/g rare.png delete mode 100644 img/halogene.png delete mode 100644 img/lanthan.png delete mode 100644 img/maxi.png delete mode 100644 img/metal-trans.png delete mode 100644 img/metalloide.png delete mode 100644 img/mini.png delete mode 100644 img/n metal.png delete mode 100644 img/post.png diff --git a/Makefile b/Makefile index 2b0a69d..719da42 100755 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ include $(CURDIR)/Makefile.config # DEDUCED VARS -ALLOBJ = $(patsubst %,$(OBJDIR)/%.o,$(SRC) $(FONT)) +ALLOBJ = $(patsubst %,$(OBJDIR)/%.o,$(SRC) $(FONT) $(IMG)) ALLINC = $(INC:%=$(INCDIR)/%) # RULES diff --git a/Makefile.config b/Makefile.config index 4429636..f43d9d5 100755 --- a/Makefile.config +++ b/Makefile.config @@ -41,7 +41,10 @@ SRC = $(notdir $(wildcard $(SRCDIR)/*.[cs])) # INCLUDES INC = $(notdir $(wildcard $(INCDIR)/*.h)) - # SPRITES - FONT = $(notdir $(wildcard $(FONTDIR)/*.bmp)) +#IMAGE +IMG = $(notdir $(wildcard $(IMGDIR)/*.bmp)) + +# FONTS +FONT = $(notdir $(wildcard $(FONTDIR)/*.bmp)) # END OF FILE diff --git a/img/actane.png b/img/actane.png deleted file mode 100644 index 113d2b4d2f286b08974de1df224762248fa61fc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 961 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?L7-m>B|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0M;2s36~>*NFqN|d-plmzFem6RtI zr7{#GX6BXX<)xM=nCKbk8TUM!9spEh?CIhdA`zb2#mL2Az`^wT|NOY!Q<`+1YB|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0M;2s36~>*NFqN|d-plmzFem6RtI zr7{#GX6BXX<)xM=nCKbk8TUM!9spEh>gnPbA`zb2?I^^cz`^wO|9rogH8WfI4n*ms zp8U9qEsWJx@{^X}g{fC_uYKD!)$xzfFVRW{L0tx8kITu%Km!;&UHx3vIVCg!0Ix|q A{Qv*} diff --git a/img/alkalino.png b/img/alkalino.png deleted file mode 100644 index 06b1fbe609bb43faf50d738089e7716868d8f309..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 963 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?L7-m>B|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0M;2s36~>*NFqN|d-plmzFem6RtI zr7{#GX6BXX<)xM=nCKbk8TUM!9spEh>gnPbA`zb3)yd0Xz`<1df9cW5YQ7>L89Q4= zYW^Ll4e@-WP;fQp(z?X{ZKV_KH*a3BUwR^|Fb{)8&-VGpfd(*my85}Sb4q9e0Mn^G AX#fBK diff --git a/img/detail.png b/img/detail.png deleted file mode 100644 index 03fc08f2cb3539aeda71c17cbc7b5713f4ee0852..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 962 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?L7-m>B|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0NJ2s7@OnEe(gC{f}XQ4*Y=R#Ki= zl*&+$n3-3imzP?iV4`QBXWa8_dH_(3iKmNWh(vhu0frt2hEyfy2^tu#?+!6dc^1u6{1-oD!MB|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0M;2s36~>*NFqN|d-plmzFem6RtI zr7{#GX6BXX<)xM=nCKbk8TUM!9spEh;_2cTA`zb3$;icEz`^wT|NMF4s*b@EPe0O7 y)e5?^?3z-G)|@!Q%o+Z&annyW#0u7k{A7^yVQ}RaRdfgHXYh3Ob6Mw<&;$Sn#5fTE diff --git a/img/find.png b/img/find.png deleted file mode 100644 index dd2861ba017e520e08fc57cc6512bbf11cbbfcfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 952 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?L7-m>B|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0NJ2s7@OnEe(gC{f}XQ4*Y=R#Ki= zl*&+$n3-3imzP?iV4`QBXWa8_dH_(3mZytjh(vgD1B06eFH4UDgW5tH4Mss$?nZ$* m4M`z^9L+I-68ypj222bh(;3VvU#2Ytg|erspUXO@geCx9E-=9W diff --git a/img/fleche.png b/img/fleche.png deleted file mode 100644 index c005124097a8d6844f49f425dcaa4ad92fd89414..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 962 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(gFvFf#=Bgt!95|Ns9FBuBw$2#mlGNH2Sn4D>cmdKI;Vst0Qo^QfB*mh diff --git a/img/g rare.png b/img/g rare.png deleted file mode 100644 index a41f100f16b89cdd7df67534773a08d8ff8358ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 962 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?L7-m>B|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0M;2s36~>*NFqN|d-plmzFem6RtI zr7{#GX6BXX<)xM=nCKbk8TUM!9spEh;_2cTA`zb2&B(`Kz{33V|MKnGoSj@NwF{@j yr*3zddV{x-aoL{CN#Wmn=e>zk&@SzabF~v*&R`Yfxbh-UKZB>MpUXO@geCw_bvqgW diff --git a/img/halogene.png b/img/halogene.png deleted file mode 100644 index 49440b094aedf558ef08028fdf9b026b76e19b48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 957 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?L7-m>B|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0M;2s36~>*NFqN|d-plmzFem6RtI zr7{#GX6BXX<)xM=nCKbk8TUM!9spFM@9E+gA`zZ^fT72MAytWaf(D0@KmbS2Ma2kH s7u!iXAtKC+I+{2-b|$c~B_yyg2&Xbw&CC)H1ZrjQboFyt=akR{07X$UVgLXD diff --git a/img/lanthan.png b/img/lanthan.png deleted file mode 100644 index 857e876df499db2dfe4bc578122600e0ae888343..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 960 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?L7-m>B|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0M;2s36~>*NFqN|d-plmzFem6RtI zr7{#GX6BXX<)xM=nCKbk8TUM!9spEhxoAtT3Yyup9A6dnvqTf(j+FWk&vC1P?!5vZHN)78&qol`;+01opyWB>pF diff --git a/img/maxi.png b/img/maxi.png deleted file mode 100644 index 30c21d7c93b615ac5b9d1137712e53794f121adf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 962 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?L7-m>B|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0N32s4Umcr^e8B}!Z)N`mv#O3D+9 zQW**oGxJLH@={9_O!N%&jC-C<4*;q$@pN$vkqFQ2a^z!B;5hu?|NOGqPZJ7euvup< y6%9O`+%K9D^F->ks!^-1amCvI(~sSM7a}ie!eDvK<832QKZB>MpUXO@geCw#6+9aN diff --git a/img/metal-trans.png b/img/metal-trans.png deleted file mode 100644 index f6c24473a58bc8e1f2d0af2227bffffc9610d881..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 961 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?L7-m>B|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0M;2s36~>*NFqN|d-plmzFem6RtI zr7{#GX6BXX<)xM=nCKbk8TUM!9spEh?CIhdA`zb2#mL2Az`^wS|NOWpPaW?Ihb^2| yJ)WjfQ4>97;$)-K7uN6U%~rT}(e!cP14hv`40bm-KTHK`XYh3Ob6Mw<&;$TaD?ID~ diff --git a/img/metalloide.png b/img/metalloide.png deleted file mode 100644 index b18eb35aa766b0604e6653404e5ef81e6f3492f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 960 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?L7-m>B|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0M;2s36~>*NFqN|d-plmzFem6RtI zr7{#GX6BXX<)xM=nCKbk8TUM!9spEhB|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0N32s4Umcr^e8B}!Z)N`mv#O3D+9 zQW**oGxJLH@={9_O!N%&jC-C<4*;ss@pN$vkqA$2V04o>$-xq!*TGPDAZLRH%VC8G piH?a!6;2&olrW1a(C5Gb4hB(92J^Z-eUU(Y44$rjF6*2UngGpYG>HHJ diff --git a/img/n metal.png b/img/n metal.png deleted file mode 100644 index b8f6c684e2aff6fd7393a9bda64515d56d459462..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 961 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?L7-m>B|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0M;2s36~>*NFqN|d-plmzFem6RtI zr7{#GX6BXX<)xM=nCKbk8TUM!9spEh?CIhdA`zb3<;cfiz;Woy|M~MuW=zP5@w!-b xN%(qC7$37}jPYSDCDRHQ-fP{dN?#|xViuKPu)Cab>jqFegQu&X%Q~loCIC2^J1PJG diff --git a/img/post.png b/img/post.png deleted file mode 100644 index 7f1911fa4ed256196228414301190918a23ff543..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 961 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?L7-m>B|m zLR^93|Ns97lA~ZW1V&&8q?f%(26~&bz$3Dlfr0M;2s36~>*NFqN|d-plmzFem6RtI zr7{#GX6BXX<)xM=nCKbk8TUM!9spEh?CIhdA`zb2#mUFuz{33V|MFb^utk$rU9>o* yeq1+broJ!(Z@m42M}gBDSM$GFmi&2NmyR$igXzvwr89uq89ZJ6T-G@yGywn*=Q`{F diff --git a/src/periodiq.c b/src/periodiq.c index f2f806c..eec0305 100644 --- a/src/periodiq.c +++ b/src/periodiq.c @@ -202,13 +202,50 @@ extern Font modern; #define floor(x) ((int)(x)) +static const int counts[] = { 2, 8, 8, 18, 18, 32, 32 }; +static const int firsts[] = { 1, 2, 2, 3, 3, 18, 18 }; + +/* returns element number (1-118) or 0 if there is nothing at the given cell */ +/* x and y can hold any value, even if it's outside the table */ +int element_at(int x, int y) +{ + if(x < 0 || x >= 18 || y < 0 || y >= 9) return 0; + + if(y >= 7) + { + if(x < 3 || x > 17) return 0; + return ((y == 7) ? (57) : (89)) + (x - 4); + } + + int result = 0; + + if(x >= firsts[y]) + { + if(x + (counts[y] - firsts[y]) < 18) return 0; + else x -= (18 - counts[y]); + } + while(--y >= 0) result += counts[y]; + return result + x + 1 ; +} + +/* updates x and y if there is an element if the requested direction */ +/* in this case, returns the element's number; otherwise returns 0 */ +int move(int *x, int *y, enum { up = 0, right, down, left } dir) +{ + int dx[] = { 0, 1, 0, -1 }; + int dy[] = { -1, 0, 1, 0 }; + + int elt = element_at(*x + dx[dir], *y + dy[dir]); + if(elt) *x += dx[dir], *y += dy[dir]; + return elt; +} + int main() { tableauElement(0); return 1; } - void Mini(char* chaine, int n ) // fonc defini le numero de la fonction { @@ -236,67 +273,28 @@ text_configure(&modern, color_black); for(i = 0; i < 118; i++) { - x = elements[i].groupe; - y = ( elements[i].famille == 6 || elements[i].famille == 7 ? elements[i].periode + 3 : elements[i].periode); - - dtext(13*x+decalx-12, 8*y+decaly-6, elements[i].symbol); +//dtext(13*(elements[i].groupe-1)+decalx+1, 8*( elements[i].famille == 6 || elements[i].famille == 7 ? elements[i].periode + 3 : elements[i].periode) +decaly-6, elements[i].symbol); } +// x = elements[chang].groupe; +// y = ( elements[chang].famille == 6 || elements[chang].famille == 7 ? elements[chang].periode + 3 : elements[chang].periode); + dprint(1,1, "(%d,%d) => %d", x,y,element_at(x, y)); + + + //drect(13*x,8*y,13*x+12,8*y+8, color_black); dupdate(); - - /*chang=(chang>=118 ? 0 : chang<=-1 ? 117 : chang); - - decalx=-(((12*elements[chang].groupe)-13)*108)/240; // on fait un decalage lorsque l'on bouge - decaly=(elements[chang].periode==5 ? -7 : elements[chang].periode>5 ? -14 : 0); - - for(i=0;i<118;i++) - { - x=elements[i].groupe; - - - - dtext(12*x+decalx-12, 7*y+decaly-6, elements[i].symbol); - - dtext(12*3-11+decalx, 7*6-7+decaly, "1"); - dtext(12*3-11+decalx, 7*7-7+decaly, "2"); - - dtext(12*3-11+decalx, 7*9+decaly-5, "1"); - dtext(12*3-11+decalx, 7*10+decaly-5, "2"); - } - - if (element) - { - drect(12*elements[chang].groupe-13+decalx, 7*9-7+decaly, 12*elements[chang].groupe-1+decalx, 7*9+decaly, color_black); - } - else if (chang>87 && chang<103) - { - drect(12*elements[chang].groupe-13+decalx, 7*10-7+decaly, 12*elements[chang].groupe-1+decalx, 7*10+decaly, color_black); - } - else - { - drect(12*elements[chang].groupe-13+decalx, 7*elements[chang].periode-7+decaly, 12*elements[chang].groupe+decalx, 7*elements[chang].periode+decaly, color_black); - } - - drect(0, 56, 128, 64, color_white); // on fait un rectangle blanc pour qu'il n'y ait rien - - Mini("mini", 0); - Mini("find", 1); - Mini("mol", 2); - - Mini("det", 5); - */ + //drect() key=getkey(); + switch(key) { + case KEY_UP : y--; break; + case KEY_DOWN : y++; break; + case KEY_LEFT : x--; break; case KEY_RIGHT : x++; break; - case KEY_LEFT : x--; break; - - case KEY_DOWN : y++; break; - case KEY_UP : y--; break; - // case KEY_F4 : chang=tableauEleMini(chang); break; case KEY_F2 : chang=find(chang); break; // case KEY_F3 : calcul_mole(); break; @@ -304,7 +302,7 @@ text_configure(&modern, color_black); case KEY_F6 : case KEY_EXE : chang=detailsElement(3); break; case KEY_EXIT : return 1; - } + } } }