From 0ef3ba62cbabc56318ee68c3aadecdfd8dafbb21 Mon Sep 17 00:00:00 2001 From: fdai7745 Date: Wed, 7 Feb 2024 14:35:59 +0000 Subject: [PATCH] Daniel --- build-project.sh | 2 - build/test/cache/defines_dependency.yml | 1 + build/test/cache/input.yml | 8 +- .../test_duellist_spielesammlung_projekt.c | 0 build/test/dependencies/cmock.d | 6 ++ build/test/dependencies/force_build | 0 .../test_duellist_spielesammlung_projekt.d | 2 + ...t_duellist_spielesammlung_projekt_runner.d | 4 + build/test/dependencies/unity.d | 4 + build/test/out/c/cmock.o | Bin 0 -> 7447 bytes .../c/test_duellist_spielesammlung_projekt.o | Bin 0 -> 564 bytes ...t_duellist_spielesammlung_projekt_runner.o | Bin 0 -> 4523 bytes build/test/out/c/unity.o | Bin 0 -> 32711 bytes .../test_duellist_spielesammlung_projekt.out | Bin 0 -> 76916 bytes .../test_duellist_spielesammlung_projekt.c | 0 .../test_duellist_spielesammlung_projekt.c | 1 + .../test_duellist_spielesammlung_projekt.pass | 14 ++++ ...t_duellist_spielesammlung_projekt_runner.c | 57 +++++++++++++ src/main/duellist-spielesammlung-projekt.c | 76 +++++++++--------- 19 files changed, 131 insertions(+), 44 deletions(-) create mode 100644 build/test/cache/defines_dependency.yml create mode 100644 build/test/cache/test_duellist_spielesammlung_projekt.c create mode 100644 build/test/dependencies/cmock.d create mode 100644 build/test/dependencies/force_build create mode 100644 build/test/dependencies/test_duellist_spielesammlung_projekt.d create mode 100644 build/test/dependencies/test_duellist_spielesammlung_projekt_runner.d create mode 100644 build/test/dependencies/unity.d create mode 100644 build/test/out/c/cmock.o create mode 100644 build/test/out/c/test_duellist_spielesammlung_projekt.o create mode 100644 build/test/out/c/test_duellist_spielesammlung_projekt_runner.o create mode 100644 build/test/out/c/unity.o create mode 100644 build/test/out/test_duellist_spielesammlung_projekt.out create mode 100644 build/test/preprocess/files/test_duellist_spielesammlung_projekt.c create mode 100644 build/test/preprocess/includes/test_duellist_spielesammlung_projekt.c create mode 100644 build/test/results/test_duellist_spielesammlung_projekt.pass create mode 100644 build/test/runners/test_duellist_spielesammlung_projekt_runner.c diff --git a/build-project.sh b/build-project.sh index f96d181..4a4d88d 100644 --- a/build-project.sh +++ b/build-project.sh @@ -1,4 +1,2 @@ #!/bin/bash -./duellist-spielesammlung-projekt.exe -cd duellist-spielesammlung-projekt ceedling test:all \ No newline at end of file diff --git a/build/test/cache/defines_dependency.yml b/build/test/cache/defines_dependency.yml new file mode 100644 index 0000000..2fbf0ff --- /dev/null +++ b/build/test/cache/defines_dependency.yml @@ -0,0 +1 @@ +--- {} diff --git a/build/test/cache/input.yml b/build/test/cache/input.yml index eefbd61..86819f6 100644 --- a/build/test/cache/input.yml +++ b/build/test/cache/input.yml @@ -23,12 +23,12 @@ :artifacts: [] :paths: :test: - - "+:test/**" - - "-:test/support" + - "+:src/test/**" + - "-:src/test/support" :source: - - src/** + - src/main/** :support: - - test/support + - src/test/support :include: [] :libraries: [] :test_toolchain_include: [] diff --git a/build/test/cache/test_duellist_spielesammlung_projekt.c b/build/test/cache/test_duellist_spielesammlung_projekt.c new file mode 100644 index 0000000..e69de29 diff --git a/build/test/dependencies/cmock.d b/build/test/dependencies/cmock.d new file mode 100644 index 0000000..bdf4cc9 --- /dev/null +++ b/build/test/dependencies/cmock.d @@ -0,0 +1,6 @@ +build/test/out/c/cmock.o: \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.c \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.h \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock_internals.h \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/dependencies/force_build b/build/test/dependencies/force_build new file mode 100644 index 0000000..e69de29 diff --git a/build/test/dependencies/test_duellist_spielesammlung_projekt.d b/build/test/dependencies/test_duellist_spielesammlung_projekt.d new file mode 100644 index 0000000..598e388 --- /dev/null +++ b/build/test/dependencies/test_duellist_spielesammlung_projekt.d @@ -0,0 +1,2 @@ +build/test/out/c/test_duellist_spielesammlung_projekt.o: \ + src/test/test_duellist_spielesammlung_projekt.c diff --git a/build/test/dependencies/test_duellist_spielesammlung_projekt_runner.d b/build/test/dependencies/test_duellist_spielesammlung_projekt_runner.d new file mode 100644 index 0000000..e503cf2 --- /dev/null +++ b/build/test/dependencies/test_duellist_spielesammlung_projekt_runner.d @@ -0,0 +1,4 @@ +build/test/out/c/test_duellist_spielesammlung_projekt_runner.o: \ + build/test/runners/test_duellist_spielesammlung_projekt_runner.c \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/dependencies/unity.d b/build/test/dependencies/unity.d new file mode 100644 index 0000000..0baf56c --- /dev/null +++ b/build/test/dependencies/unity.d @@ -0,0 +1,4 @@ +build/test/out/c/unity.o: \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.c \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/out/c/cmock.o b/build/test/out/c/cmock.o new file mode 100644 index 0000000000000000000000000000000000000000..5e8344b5fbfbfd68310fdd81bdf3a109635b2c7b GIT binary patch literal 7447 zcmcIodu$xV8K1q~Jzso&<}MG@fHu@kld8G1@exA65XYQdgJVZ|&;(Ik&Ubs~gL}Ap zdr2H6sw)?$Wz_O$OQ|dpT7*#5lvZk0S^~IG3aB6f92HnX-Z(e4c%E5>d|yq~nxP{OXKtA;cnZERy~J8D9g4>yk&yOhh- z$D@e18+IAT4x+HT^s=f6|82)Jw6um2b{jU+I0q%Pz06+l_|41iJ~R-9~7s zF1u#lnts1+`fz|%8Xh5!_fpgGfHoTsOrKV7nYWt=&8yR=&&|XGv&+5+i~FhP>z z@rrn$>^Ma@IX$n<#Lsbv(lYi8J=p9razGsA#UBZD?zyKt?FMG!P49jOCdfkF*T~&3 zj|VI#^x^5lO)lM3r85Y~8<~lpMF0nWG#fvQ6lUY+rr*(K*-ZS56YfmaFEV}j46}o? z@iUIgIU*`A2$z{BXX79JnzCN^?2Hdhcrta9khyiaNqE{kJAL@9vai)?`D|H7Qt#=! zx=y$-{CJvpo_!CJlk|+%`OfX<&z}d27_9O(vJx&-nsBu=<;H5ePS~$dJs)9HjB&K! zf8reXMNzo$j81<94U;?S!>SaGQpGk(8KYnpO4ek=*p@ewWz$IJ^QBbMHVv?5gt2}QW|~Weohz7S!yZo- z4fDW+nX=6^ETm1w+;3Wo8#z(Tq?ON+O>GEAn@6*srgM@lS!vVaZ4PCNNU+b!8Yz+C zn3(}##Cc*7w%xQVR&nRJRoP}+pJKDElq*t`xw0{`Yj`-qgfqG;#DPjNW#>x8s{8(& zJ#JKr)xH}^D_bd;Mcdey%vVsX80IT6t!c{O$S$M5yW7|h>4|h1>kBsgdb4KHv~nqk zNh>wpo4a)524j7eHT7?bZm*0@_H?a3upt)B=f z^mIqMqx;Nax@1LD1^lhivXv4jlA`~Fg?#*n`EDvqB*rQk=3D&$7GdQmibv@%_5 zDCZ8E_T+>KtfL^zue|`3uJ}{qNsBdbA)uv8m9ac*nzVeWm^B>HN6rbGsV5Y?Xb4s* zmUG!6N=T7(UqgAkWZ5X1mksDV1b=Wd#qX$ji@Fk!_JZ)~A`CYUG`QZ93J0uq2VmC$mg{opeo*a#W!cB(=c}<)fhb8$^WRTFIbXO#c(f zE0-kf!bGN+EWqU?gD62-MAZBkg{X?Kej?@5}n+!b98&(U_7yt zjcczdx8UR4ywfb(1C)Svf)lK{zhYTsVXXgF6iM=FIe(_-46mAjE>TeFZyGo&vw?Jt}Ti-gcX#WKO3=Ilz&iopx=ubf=v zZD0T%W}0bla+Tp#2{-8e#&w;|ePejJ1}xsUca`s=hHLTmzKY+LUB#R|$+QoYG>WDY z^#F?0$Qtg&kI?S0tn5&t;eKF-I&C$%ibfFIA+Gd%UVwpd*P=`6XstYfo z8!FR;%>2t1>JUw6mM_$7&6NvDJ2lSyD@fIv!o;jJ>VOcwPC`&uX|is;kAx;&4Uq6C z3C+6NM8X>+wCHLZ2_KWts;glVmSSC^wCU*^{Jt|eiqt{Nm{NC@d_Ckay| zgmrZ-1a%Mt=L$at56!~r6l>@IYhtismlInmnG7nZtoi~BM8@^%9hi5Sa^Z(?*Hv2a zc})f^(?m&`a*@!}LSm_>1-vw5GLS1K^Gta`#So!BDszh%_2psm^oKOixk;!t&X!5r zEbl5~#43+bV{gN-`BM$4Ri^xs3}1#J)l!*TEMk9hBAKEQtQ;fbXJJgMVP!7tX@1bO z`_gI5F6Ds|I(y&!4H)IHq;e~BBrOAifq~Tg`?-QEWc- zP8JMa1$&0s3y`cD)3BRk5Wp!Y1-M`_Po5tZAt*m?l$$^4 zQC&(B{uN$hAM3$WQU2Z1j3+I#7|H*mRV+(wiWcyB+aJvpQ~65TbO~A+XHzMm?ztq& z7uVA4ziYoj3kF(6GsYLxSVp5$Wz)v`IWkT)Dck9^nE}Q}gj-_}Vf%nNv}H2PQu*1jD!gG&EStMEP2wws-dJzd^M^OYdiTV7--`84$9j)!>3z_r;*Sz@ z6%B1?^bhv;Z!*?y%@qf~94TQZ1$jL$>H6+Z5R>BOyQE#S1hfxt$X20iyi;%#>V7qPr!c8jC280|}4kBzjY7 zsZTpbgbp)Z;U{gza5U2 zTY{rn3Pddlgc-|0t0XccqJLl5t(Azr+ZW&tvKc%nrk~;a&o1KJ1DLNxRzH{Maf$vQ z(Fuv(lIWijotLNy&53v&60MQwdLU7?Ny*(S(IY@2zmpPa_`VBny+k)i^bLvb1~Pb$ zo|4?lk~=NYg($R$cP)_cn3dcQBzIh*R-9xAk99!81L^T4P>^ecb~FBIfyjnXm~ED5 zuS8Q49hGQaqSF#FCtjEt5>?v>vk2c`!x+~m=NZc?)tOpw)hCS^x@fV_7yK*_M2lp+ zjt(;o)K$aW1BosL{q>>s#V#6UG~00-Ztw)2w6t@XKZ2oUq|1B&hSsGn(*TLqv@X*L ziI&7J(+i1K(=Ky8BwC2OOaT(D-UZ`5--iM#C;D>J=y5Oa**>p^5`z+}3D4y{*XK1< zv?-68L+_bBeFIcwFEv?r-RiIyEU=*y{fp~t?s9DC4O105&9A?XIxJpl*cf8 zYbEm%q)6Hvt7Nfc$dsx$IW~svib};?@m!0jV<6jJ3z0dc5CU?pgq3ll{?hMlzgAN zn1b(=7bwV>cG-*2Vu${J{0Hh!l0+7Q_naZs)BNY0$2lcz!d0hF}vasU7T literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_duellist_spielesammlung_projekt.o b/build/test/out/c/test_duellist_spielesammlung_projekt.o new file mode 100644 index 0000000000000000000000000000000000000000..61d37cc0e772ffe0431c67854c52481ec4c738ff GIT binary patch literal 564 zcmaix!HU8_42ILK?!nVOLO~Hd80)Smcq)4EqG!F;YO`f_$10sENKZbRPo~Zc3Zqb( zL-<3!Bs0mv`2=kp2cTh8-9bqwX>_^sz~5jT$*3GLnE?C?ZiT48;Hy+Lv3x=w3_hl<5n)PSa@HtyO?AZSy4LETyLwG6T%??OH`q hfFvQqI491T65_~+lZf_vo~KE8%npC_FL7sA+yR+FKDGb= literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_duellist_spielesammlung_projekt_runner.o b/build/test/out/c/test_duellist_spielesammlung_projekt_runner.o new file mode 100644 index 0000000000000000000000000000000000000000..70dfa7409334a2d094cec374838ce3fa0aa581a3 GIT binary patch literal 4523 zcmbVPU2Ggz6+U-o*1OKyjvbp|D;2DR)0l#H?b>mJvEzSRE2U0JY>?Gdll_@pPqI5} z&CVvV@k3Fe6rQ3Yfsi5s4?G}I2?_Cn0yKmuLWl<{Xj5V!K#?2)qC!Xrs0iP=cXqtf zb=rz6-8<)e=R5bFd*}Y16fMN*v#mr&rKF35YhHGxtcn-#`G+8yQ&fsTkJI3}L@w>7 z>v(&KQ#AN;B2%gCWvj=YWnRuPv+hN+hOa@`3e`0AmGwEnhWlZ9qmeh290~e79t?nSXsHbAM^y;f8MO95qQ<7C*gtB|eZY zS_L~>E|ta(8;iwqCS9DrypB0ATdvyf;g3GP7vqzrW92taIXTmL2t(TD9jD9$H0qia z*T_}PV$p(7S+~rhSxJ{l#j0H})}8Ws^Maem5`7bcqH~m_i^Zjt`0UV7d^9nf7>o~; z+^TI(6ige9XQ8H@?AnBN?D%MWpg=8|s#VM-xtXL>wZW-K<=xse6d6s=j-7qVv~!ku z;cP9=fnb~iUYze{m*Ib2mY9&|OY26anx|0jJwV!9DBeWYx!6x(JyNkYO?PA6gdDbP zmzwluOq#H0%C4myiby4@=gQSg5u6siShfrCnyN>tb_GAs%*EL^9Ew!d%8nZkqS3H) zl7*y+CeKN>5f)LOuYgckRU^sK$ga1~V@qgdDYd+6tfZEfhaV?xD~Y)4Fw(yI68A*c z^Tl!+!Raatc8wZVnMWnAzfuknH5==$L;5c@@S$YE(0|24r8gUybj2k7RW?PNjeId( zApJGAwLr5lCi)%L+Tn%)<4X0{8R&v*HILCH{nxB_HydtgJ#VK=aJkFXJwl;{)X90$ zw|Agv9LV#?`zXfIk^Z+&Lu*l;JhOc2^z`Dqu}o{)tKz%Z!djOx*%mke?T!Sfb++m_ zrtPv}iJQ@0mj=CNm^0n9RU9JiuEe8397DJ*@s=9S6`izfbE#U&m=0;b6*mxQd#ln< z<=I{#?ROIHQURfXs$&AZC(&++rV4ghg1?vGBlQg|z{AXu_6KQ-*PE0ZY=4xtzSijs zCf9-^`*vUa0;AfG`PzY?+E#4K-5~9+;zbOa#?UJmqCr@f=XyWM{L_1?z^iZ@z9B68PKbHPM(xPLrkH=D- zm;pkhIt2v1mr|WcbRpbFvDgWCpzi$;nH6~yMy%^jp+#dc_GOpmR==X-aNNh^62tHE zDxd5b@4>qCeZuV1>iL9Io$S-*(V;5({(ApVH&#)CCVNzsM|)D8+=;2~FVCRnj(STS zexMQm3iCS?UT8;q6kDR$UDS01LjXyo+Nr==3+6$Hwjl}epSD(%0tg|C#>0%VW66?b z7cM0&J6o*gOq^HA)78wz@ZiAZ(UD})%HZ6~Y$OY2sglHbnHW@J)--cPI1UUZhKCYE z$%{DS%1*M%t2J41vhVF^-aRG}9;Ox!wZs~tCs~hy9o=;7bg=>u%cA1utg^D>w}XZ0 z&@LvfUAuN-;>5({_~iKX#44xBiPfnqtJhaUA@qK6c6Kb@|Dp7Vg6TP8+!-)b=anmdD;5yKfT-jHedspSG#Xt+_k?2_&joNz5N+w zC%#Lvp$T^iqQg?c)T9qdX&ogGOBY>2iPZw$7Rn!;z7K6YfZT${2ZG`l^7v3kheGOKjU1dN zINk{IZmNGVa?5-5qW-mr^}IKy?xl!d501Iph$kiLUWxdz;2dq>Fu)fHPW;a`!EZ!< z7Y5UBJe7N+34R|orayZSju>#_DAm|P@YBCN36DW=_+8joRg(wt+|UHi@5aP898Ua@ z)dauuxYb}f1eC{ylZqtKfJ_Gv!>IjL_NmQ{GvKIHLyQ1oK}+P!OtpZmIA5;G=}g8k zFZ!C3whOozdPE!wW=+P8fYiV0+uYowgt=zqW#PR)p$v7yke3Bd_O2A3R=ax` x{+-3xz0??W_n!Z+Gjg`Qtp|;7TJj(jn!K9Tpt^gSA@8#@W&t-eCC}qh_&?lVZkzxB literal 0 HcmV?d00001 diff --git a/build/test/out/c/unity.o b/build/test/out/c/unity.o new file mode 100644 index 0000000000000000000000000000000000000000..df16771254ccfc01405a024db2247fd043217c50 GIT binary patch literal 32711 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 #include -#define max_hoehe 10 -#define max_breite 10 -#define zeichen_unbekannt 'x' -#define zeichen_mine '@' +#define max_height 10 +#define max_width 10 +#define unknown_character 'x' +#define mine_character '@' -int berechneMinen(int hoehe, int breite) { - int anzahl_minen; - if (hoehe <= 1 || breite <= 1) { +int calculate_mines(int height, int width) { + int num_mines; + if (height <= 1 || width <= 1) { return 0; } else { - anzahl_minen = ((hoehe * breite) / 4); + num_mines = ((height * width) / 4); } - return anzahl_minen; + return num_mines; } -char** erschafe_minenfeld(int hoehe, int breite, char inerhalb) { - char** minenfeld = (char**)calloc(hoehe, sizeof(char*)); - for (int i = 0; i < hoehe; i++) { - minenfeld[i] = (char*)calloc(breite, sizeof(char)); +char** create_minefield(int height, int width, char within) { + char** minefield = (char**)calloc(height, sizeof(char*)); + for (int i = 0; i < height; i++) { + minefield[i] = (char*)calloc(width, sizeof(char)); } - for (int i = 0; i < hoehe; i++) { - for (int j = 0; j < breite; j++) { - minenfeld[i][j] = inerhalb; + for (int i = 0; i < height; i++) { + for (int j = 0; j < width; j++) { + minefield[i][j] = within; } } - return minenfeld; + return minefield; } -void verteile_minen(char** mienen, int hoehe, int breite, int anzahl_minen) { - int i, rand_hoehe, rand_breite; +void distribute_mines(char** mines, int height, int width, int num_mines) { + int i, rand_height, rand_width; srand(time(NULL)); - i = anzahl_minen; + i = num_mines; while (i > 0) { - rand_hoehe = (rand() % hoehe); - rand_breite = (rand() % breite); - if (mienen[rand_hoehe][rand_breite] == 0) { - mienen[rand_hoehe][rand_breite] = 1; + rand_height = (rand() % height); + rand_width = (rand() % width); + if (mines[rand_height][rand_width] == 0) { + mines[rand_height][rand_width] = 1; i--; } } @@ -50,22 +50,22 @@ void verteile_minen(char** mienen, int hoehe, int breite, int anzahl_minen) { int minesweeper() { - int hoehe, breite; - printf("Geben Sie an in welcher Hoehe das spielfeld sein soll:\n"); - scanf("%d", &hoehe); - printf("Geben Sie an welche Breite das spielfeld haben soll:\n"); - scanf("%d", &breite); - if (hoehe <= 0 || breite <= 0 || hoehe > max_hoehe || breite > max_breite) { - printf("Ungueltige Spielfeldabmessungen.\n"); + int height, width, row, column; + printf("Enter the height of the game field:\n"); + scanf("%d", &height); + printf("Enter the width of the game field:\n"); + scanf("%d", &width); + if (height <= 0 || width <= 0 || height > max_height || width > max_width) { + printf("Invalid field dimensions.\n"); return 1; } - int anzahl_minen = berechneMinen(hoehe, breite); - printf("Das Spielfeld ist >%d< gross und hat eine Breite von >%d<\n", hoehe, breite); - printf("Es gibt %d Minen auf dem Spielfeld.\n", anzahl_minen); - //Matrix fuer das Spielfeld - char** minenfield = erschafe_minenfeld(hoehe, breite, zeichen_unbekannt); - char** minen = erschafe_minenfeld(hoehe, breite, 0); - verteile_minen(minen, hoehe, breite, anzahl_minen); + int num_mines = calculate_mines(height, width); + printf("The game field is >%d< in height and >%d< in width.\n", height, width); + printf("There are %d mines on the game field.\n", num_mines); + // Matrix for the game field + char** minefield = create_minefield(height, width, unknown_character); + char** mines = create_minefield(height, width, 0); + distribute_mines(mines, height, width, num_mines); return 1; }