From 190204b3b6d8e17ca0905ecfadb96882538fe7b7 Mon Sep 17 00:00:00 2001 From: derek holloway Date: Mon, 9 Mar 2026 18:56:08 -0700 Subject: [PATCH] Init commit --- class.c | 34 ++++++++++++++++++++++++++++++++++ class.h | 16 ++++++++++++++++ main.c | 12 ++++++++++++ main.out | Bin 0 -> 16360 bytes 4 files changed, 62 insertions(+) create mode 100644 class.c create mode 100644 class.h create mode 100644 main.c create mode 100755 main.out diff --git a/class.c b/class.c new file mode 100644 index 0000000..6b1a69d --- /dev/null +++ b/class.c @@ -0,0 +1,34 @@ +#include +#include +#include +#include +#include "class.h" + +void moveHuman(Humanoid_t* self, int Horizontal, int Vertical){ + printf("My name is : %s", self->name); +} + +void lookHuman(Humanoid_t* self, int Horizontal, int Vertical){ + +} + +void removeHuman(Humanoid_t* self){ + if (self != NULL){ + // Free malloced internals first + free(self); + } +} + +Humanoid_t* InitHuman(char* PlayerName){ + + assert(strlen(PlayerName) < MaxNameLength && "Name is too long!"); + + Humanoid_t* human = malloc(sizeof(Humanoid_t)); + human->health = StartingHelath; + strncpy(human->name, PlayerName, MaxNameLength - 1); + human->move = moveHuman; + human->look = lookHuman; + human->remove = removeHuman; + + return human; +} \ No newline at end of file diff --git a/class.h b/class.h new file mode 100644 index 0000000..ab393a7 --- /dev/null +++ b/class.h @@ -0,0 +1,16 @@ +#pragma once + +#define MaxNameLength 100 +#define StartingHelath 100 + +typedef struct Humanoid Humanoid_t; + +struct Humanoid { + char name[MaxNameLength]; + float health; + void (*move)(Humanoid_t* self, int x, int y); + void (*look)(Humanoid_t* self, int x, int y); + void (*remove)(Humanoid_t* self); +}; + +Humanoid_t* InitHuman(char* PlayerName); \ No newline at end of file diff --git a/main.c b/main.c new file mode 100644 index 0000000..032fff9 --- /dev/null +++ b/main.c @@ -0,0 +1,12 @@ +#include +#include "class.h" + +int main(int argc, char** argv){ + + Humanoid_t* Player1 = InitHuman("Derek Hollowy"); + Player1->move(Player1, 4, 9); + + Player1->remove(Player1); + + return 1; +} \ No newline at end of file diff --git a/main.out b/main.out new file mode 100755 index 0000000000000000000000000000000000000000..e2d0e9f68256a265927c3596b4402ec1da2bea72 GIT binary patch literal 16360 zcmeHOdu$v>8K1ks*!YFOkBe)p;2%@|Kf1n8QsH#d-p@2i6q);jckXk`iEJVPDv`tB&DbO6hZ)U#r z-Evk7e;@=q*4{VY?|aRDyR)9%nfXY2S4TJ$5?q#u_Y2~tY7`RHg5mAD0umM5MHPN; z5;uya;IELFl1CMRRF#?~rL;oBuaLR6=Ru_Fctbd$gYA!n)lPU z!^(~+%e{Dpk_#W*pzW9z+fi<2HY&TBouza{+l^_;cEpn1thSrgb{?e$kz7;GC*_2W z9-U7=y_t+qn366PqI8^DOWZ%xs6^?StKyGWxlZFgYG{3?9B=(O=-+M%De z>3B>z-d(Vxe7@Vlw@0szx7hV-pbLelFP4AfmE`Z2f9>|4?D_m_ zmk)gQxi!a*UA-xp7--tMDH-3GOr%H0HjZs?+Ss%;lFLLIW#1!T><`s4?*&lK{}+H8er51?;?TETsWj(i)3K3p zF_?86VOe%A=VV=L&`u-;L`f$tQg$+#i9v?T5VLZw4SC8=q=Cf7Y-=!)wv&km95Iqj zq}@S5T6Ari#O|)nmR74VvSq7RZH#OaR%c(g6?d}EP$K6#*}m@9WG3zO*#k*xz)&ia z)1~E!gzzmw?~znaptFYDV+L_zSSjgrU>UgMuM3loP81gViCTa09|H_@D&UajVgv7 z<8+U5sf?-`;rbCLftn&*KHrs^s4K#Y`@d0y>wgu}VnY#5eJLnG27(L(83-~EWFW{u zkb(cz3|y?f>96LI^Ofe&ic_0}Fdv$B!-X01$PX${%Tq3F`!V3c`seUlT^~h__+gUG z&lXVDf1h|7s?EY6nJXS=2trN zXYV!hzcG*e_Cilz`{wD*&zh4ve+ivJ?Fy*BF&L??e-JDhJh^imh&fr2C9>m^TZ>b9 zHKI=C%ED}Q{RHWq))e}kQh!?uky|gD`3vT$S9h7GE-f)b&zNT~yQ|^gJK8~IVRo>( zzHPyt+BdPY0=8mwOTT$!=VQ4ih~|W7O|b7NJo%t3*9x zk^=bIQ*=R|J*}PAnEAt(@}qC$`!7h1$=VyG?`O>X3r|5&%=KR`6sEMkr#p3^#DRI_ z@Fn4{)G_A%^!9=Y+Kmu%5Y17G--O6Kaw&Fby*XLCoI*`*`}Qg#6;Bh%pFLTpnm%_P zs^6QSCXhcfuTJw~bxp;~(7afERWvRG9_^kx8Iv~8Q-p^|nes7NTZiPC`5u`Tusakx zqNR5zR%Yf|+|u6t?%m;V8k8UdK?Z^h1Q`f25M&_8K#+kT13?CY4E!HtfaaIlFn4v( zFf*7IyMJ7tbN9HBwo{Ig$QidA>vJNO#7tTwrsvQ$^d#+ZC%YFKw;FdE-S!w&yPWip zJ8ax?i?NPavUM{V1G8a6Yu9PNo#}*Yj;8FilllYt0?EZMj)CnQUpU%|@I0Nw2x8=HYPb zs-@u`L{Ppz4EPx24aM?SC4)|9fms4(R-?bor8uCv=E(5asz=HfG$Ug)5*Ngp! zPbdY#Q0P+t#itJ`H18aq5YvR|^nivW&vRRtSuBy0E+vNa$({;fbOa^HK#+kT13?CY z3Bu@OsVjn!Yuf z=k+$;$$NyVFoe#uP74xL>{ElmTOfO2F^NiOt z$v>jyZ)u*}t;77s39ldb2X3O5K9mkk@78os(?gm*tf|r#VtZ88cDJ_PZfw9Clf$K*HLy~S-1aFu4N>Q(kz*NKK`sc^USvr@dQ*Ect4 z@kfEzh&u23vehG`A6_N+`N#O9(hqYB^h=B2PcDK#51iuq+xaWt#)4a~_6Oish3mZj z#ez2p$F3VT;_os`@c=BB|LcI);C?ov>_O3Az|YmVZ+U-@{3Zs`O=6Flb_xXbYXeE<)*9{Ezr+FHJ-7Cl9>TJX~o@4HfPzRV<(c9eJZnf`iv#@=j?Vi2O-JPv~@x-;-O)WLs zdWE&SYhO!qm$k2>V}E;})z{q8)o#gM5K-Q@AU7-ccRhGg>}tq5smviqeV*0(C_M2y z?sRbCwrdNS9Q~EJ#8&O5D1l0LXZR%KOl_OM$(HV+u;RIlHEgHjw7;TrAGG3$v^AP@ z;(BXGsVig>E(UTr?M`m>NM5** zOG^YS9(|tuV*3r*igb%h6PUkXEXVPAe9M%_!5o*zmFy#m3XN^qp2xpT4IPk%jZ|fO z9*3I1Xbj2rJf3FC<7cSI;%|QsP#UYUJ&#YBavW|y>oGk5dm8&P&*NXF{D0Qpe$^Tw zlBkexw&(FT(`l{9@%`t2NZYq)Js!_{w8);u{C@ihV3ZSn|M32Q=>H@9o&yzGxE;)Y z2$f=cL)$SOVMR@~*bDQp&z}GPGQF1*d~j}Xwk%kPmq zZuj;HQ*u$L|50H(z7O93Mk;L2`}?Lhk+u*U6!Cu9p6OeV6x;Lr_nfvjJxf(#JEmb6 z7uz>Pm0m-GqTEi!Ewta`VNAZb{n4nBM72G~VSS2KTvqA$THO<|y}$pneKF;G-!n$# zKJ8GhXa`UK2Ug?Y_V9C+-fOw-sCwnhR#p9&&pF3sMH*k1v+sSM(s+;0z{iSz0Mmmf AjQ{`u literal 0 HcmV?d00001