From 4a081ae681d5fbc5853e02abd648f1d6dff7cdd2 Mon Sep 17 00:00:00 2001 From: vista-man <524715@vistacollege.nl> Date: Mon, 27 Jan 2025 20:07:27 +0100 Subject: [PATCH] Add restart button and confetti effect to Gokspel game --- Csharp/Gokspel/Program.cs | 18 ++++++++++++++++-- .../bin/Debug/net9.0-windows/Gokspel.dll | Bin 8192 -> 8192 bytes .../bin/Debug/net9.0-windows/Gokspel.exe | Bin 145408 -> 145408 bytes .../bin/Debug/net9.0-windows/Gokspel.pdb | Bin 13188 -> 13292 bytes .../net9.0-windows/Gokspel.AssemblyInfo.cs | 2 +- .../Gokspel.AssemblyInfoInputs.cache | 2 +- .../obj/Debug/net9.0-windows/Gokspel.dll | Bin 8192 -> 8192 bytes .../obj/Debug/net9.0-windows/Gokspel.pdb | Bin 13188 -> 13292 bytes .../net9.0-windows/Gokspel.sourcelink.json | 2 +- .../obj/Debug/net9.0-windows/apphost.exe | Bin 145408 -> 145408 bytes .../obj/Debug/net9.0-windows/ref/Gokspel.dll | Bin 6144 -> 6144 bytes .../Debug/net9.0-windows/refint/Gokspel.dll | Bin 6144 -> 6144 bytes 12 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Csharp/Gokspel/Program.cs b/Csharp/Gokspel/Program.cs index 8e3a12e..15543ee 100644 --- a/Csharp/Gokspel/Program.cs +++ b/Csharp/Gokspel/Program.cs @@ -16,32 +16,39 @@ class Program : Form public Program() { + // Initialize the random number to guess numberToGuess = random.Next(1, 101); + // Set up the form this.Text = "Gokspel"; this.Size = new System.Drawing.Size(300, 200); + // Create and add the prompt label Label promptLabel = new Label(); promptLabel.Text = "Raad het getal tussen 1 en 100:"; promptLabel.Location = new System.Drawing.Point(10, 20); promptLabel.AutoSize = true; this.Controls.Add(promptLabel); + // Create and add the input box inputBox = new TextBox(); inputBox.Location = new System.Drawing.Point(10, 50); this.Controls.Add(inputBox); + // Create and add the guess button guessButton = new Button(); guessButton.Text = "Gok"; guessButton.Location = new System.Drawing.Point(10, 80); guessButton.Click += new EventHandler(GuessButton_Click); this.Controls.Add(guessButton); + // Create and add the result label resultLabel = new Label(); resultLabel.Location = new System.Drawing.Point(10, 110); resultLabel.AutoSize = true; this.Controls.Add(resultLabel); + // Create and add the restart button (initially hidden) restartButton = new Button(); restartButton.Text = "Opnieuw"; restartButton.Location = new System.Drawing.Point(10, 140); @@ -49,6 +56,7 @@ class Program : Form restartButton.Visible = false; this.Controls.Add(restartButton); + // Set up the confetti timer confettiTimer = new System.Windows.Forms.Timer(); confettiTimer.Interval = 30; confettiTimer.Tick += new EventHandler(ConfettiTimer_Tick); @@ -71,7 +79,7 @@ class Program : Form { resultLabel.Text = "Gefeliciteerd! Je hebt het juiste getal geraden."; StartConfetti(); - restartButton.Visible = true; + restartButton.Visible = true; // Show the restart button } } else @@ -82,17 +90,19 @@ class Program : Form private void RestartButton_Click(object sender, EventArgs e) { + // Reset the game numberToGuess = random.Next(1, 101); resultLabel.Text = ""; inputBox.Text = ""; confettiList.Clear(); confettiTimer.Stop(); - restartButton.Visible = false; + restartButton.Visible = false; // Hide the restart button this.Invalidate(); } private void StartConfetti() { + // Initialize confetti confettiList.Clear(); for (int i = 0; i < 100; i++) { @@ -103,6 +113,7 @@ class Program : Form private void ConfettiTimer_Tick(object sender, EventArgs e) { + // Update confetti positions for (int i = 0; i < confettiList.Count; i++) { confettiList[i].Update(); @@ -113,6 +124,7 @@ class Program : Form protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); + // Draw confetti foreach (var confetti in confettiList) { e.Graphics.FillEllipse(new SolidBrush(confetti.Color), confetti.Position.X, confetti.Position.Y, confetti.Size, confetti.Size); @@ -137,6 +149,7 @@ class Confetti public Confetti(Random random, Size clientSize) { + // Initialize confetti properties Position = new PointF(random.Next(clientSize.Width), random.Next(clientSize.Height)); SpeedY = (float)(random.NextDouble() * 2 + 1); SpeedX = (float)(random.NextDouble() * 2 - 1); @@ -146,6 +159,7 @@ class Confetti public void Update() { + // Update confetti position and apply gravity Position = new PointF(Position.X + SpeedX, Position.Y + SpeedY); SpeedY += 0.1f; // gravity effect } diff --git a/Csharp/Gokspel/bin/Debug/net9.0-windows/Gokspel.dll b/Csharp/Gokspel/bin/Debug/net9.0-windows/Gokspel.dll index ded7343c796a78ede7c93a0601925e2fc0c65c68..cb027938a82bdaff970449ab33286eefae4561bf 100644 GIT binary patch delta 2670 zcmZuzdu&@*9sbU_4=2}Y9!}%5P06!sokxdb&xylQ@>t8(AZYqnmrO-nn%G^Gs@IK^ zts`@sZKb2Iie|S+(192gn%D?~VnEY2P%BmZvrcVAhcrMHAS5y&AV>)4&?3Hb?4(8X zDEGU+-*~41eLEGW^#N{Sgpz*{h8v~en_0sJX`Xe*_cWuJA)fFRu|pg1GMK&@g)TE>A@mWa zu=U3`%K}&qvd=Ycm-h{;Ci@9BpXM&uq5GA{lVss_y*s=wp>Dlg8f7xHjiUQW!i3U# zR<(35#f(Zs8g3tD9$r0qA1z2rJwp>2W^osThw`RNJ;M_jzqY8UbM#@D$f*3KQLiqg zj(c}8)UU#?@n-Gd{j1%OGs@YJ%=bq%Mb4-MhVDo<&osV!<;u39jN@Iko4b~{4^6Yc z0bZ}Oe46%7O^zQuoK{ILas3=qX?l1sQcSI!T+@RO@7&J!oY(G)uHm+T8R)0qJLX%T z{j|Xa95&t;DbvPwsqh9qXO`g%W7((>FG?G&^1FtO^FrZ4jZbU5rSU^3{y}ZoqVbaU z7SP@nkun{8!C0i{CykWh;LFw`nQg{mmak<_I0&1IW+@xl$B?yFitetP%Jd5PgXqzz zTtdnSpc)G@fDTjPX}KUBJVFlvY_}HVb9j@t$VLs<+9;xZ5c_Bu#9Oos;v&(;W8@ut zg{!ivcK+0I2(^ps*+Dwkv8uhtgE+!|6_J@W{6e7IDkDB?1&EzSkoad~1My!PLuM`I zN3BL-_2TENFj{F=4^nq}E+VxAj$iD!!(*d3?#Z%7hoRc9IdgMG+q7uP_7RO?HRpgfZ8$ zr&)Gebh&BSunsIW_8pT?aUcWWHhIHGY}<1wPZ zQy9paRjhh|_)B$V7$IIV;=~ErL;Q`o zorm@Se^S4$ZC=&5o|d~g`=NYdhiGTupW*}5;%#Cp zv00qMMcN#;-nkEb;zhdNDZXW1C0gb$aY^TU3%`&j*^de9eb#*s1AIXKCYj@&-#=RP zJ3NPt62g1J-#GdJ_eb69m9fN0HSXkYVUZjDzuXc&x(oNC|Kp^1&-;&mx+tBPI=Fv4 zJ)S#Ka$frOB+^qOlT)53`*m{oEe|e-NROj`m0*+L?$)Vq=M9JRUui z9P3ObA|1)mSZ6%a)fMd;jVC)ty}z!FL|*B=b`Ih*gFMDOO1upG>|742O7lbA>PkNR zCj&e99okXt?Wt-k4`+6qyB0a#H~(9I==A2mDepwpRAhy$D3J8M;ly7~Sf4$+(7gZr z+s@g-e`?C}>q@SlZwShlV_tvoc&>EaKjp3wbnrGrSZ0);-UQ;5WBhj_fh6TP*+Z1Z qIF}?Bp>-0YwCL29UA#k4KBLr< zGFbwK^6BGy^B1%94{z8ceMvWx0_?**jK=ictx$pa&_dM@= z&OPV0Jqd_&UDkC70i9k$2j-_)s|72k08jXYnKpp8u>zoDkh~O;_3h&miagYx)`Vdd8}Os(Ty@$mF{Y`>cwpXYL;c( zmDCa#<>qm%uw3ZqMg^jb3|WB;P3u>JmSe7R-#BwXb9RiEa_R18;aDrCVtM?qvPdzi zaJR(pbk(kEVZH@T)rSW?XyWlAAPZ~?jam>yka!NpxMMf79W>y?3Ktr6W{+Oj7!>_o zn3nDf39~%cuhHjN2hq51f*j73Z0?%~)0hN!O?dS~Uf1(5yG0>fF(#XL^@5DdLC0n( zh$B6E3X82qo*3LMisMR&*j-ZY|4mVsj?zb6n{Kx9uw-#X+}(*$3*hx z$3J;Px&rrFVO|Kwa zCyn)Tor?K3MWne&?kI5~k%0kDawF79hY{+eV?do+z+1_{Ffn($Scy zG9`;K`ccgW&eI$~m*NDTRYn5;REmJ5nuqChNGXrwRz>51VtCa^^S01 zH5lD-3vV<1&1*4yt0(21Mv)5LNPE}Or%;Jk^qrOJ&$8qO<~_mCArQn25lT#3>SIOPnup ziNvtPl@iyGD-NNJaPl!XfwzG=^-Hu#>`OC2Z7eZ1L(8FuU@EDP7V&D@FMBhYU>J)j zLEv&e8Thd}jqGeG-h;bk%t46-h@6k!dwek+1ryhCvtoB2rOTigtJk9BW_xHQes`{8 zZ}d?IUk`gJy@?pNro*18^Z;F2FXBJK+V#oBwo#_~0p-yn^;5b;qtzo+g=AmQ&s0QT z0xN)J>|HvEm>TUYO<}#HkEhwJL%jg}Uip?z$r>Nh3Eqn}2x`|b*WcA%40fqE!E~5~ zwn)ZF+CroFEi!v;o`@IE1aFC+{>sKe-_IH?h(9xW*=jO3oH@9pq1Hf6Ra;vm95!EYR#)%;XU`F0a~rYuuov*! z3gE);Mw_))6GCqO}P?GnQj!KWHm9r#wTAz*-Na3&&IfEsTZO)Je-#b%U zQASS{zX{^g4#%TPWTn(lEFQGmG1+LUw^&tq2KM4cU_z4!ETMj(j>`nHs0wNk^%F&b z;9}1fZvWYh{27_Uf}z**r3eAH)LAJP>37lUd6XC@V5==I_+8 z3;jM+1Lmz}-id6hV*|NS-yo{rC3&!_Q}W_)1>(gw#;F(kUgRPeuS$8eqCAT>A%8^s zM!!JUJ@ zLTV_fWrE4~B0qghc#9u@)W!?Yy;on5hg;kn2ylo(6LeE>K@T&n6ztHZi~hOxDPlY! zMuiwvVk{A3nHXP*Q6ujx7LqTI;~zp!>VN!E&W%U(0mT7=^vC38PR_$Vb?e|XrneOn@nJJK5Q%HAM0mTpYu5; OBh)6rJ_-(&1o#JBaf~7W delta 646 zcmaEp-jY7SB({T*fkC;Bfgyy6fkA-*$PO+k%FIhI1~M5+fMP5lvCv?K3LrZH#C8w$ zbOF*gfc!NEK)zE>eiD!$T9{$+N-5s8w_L5)#UR~v;h$L>*d|UC=j8!PasV+q5IaoV zYRn4a@JxJbS}&!~$S?xrGegyTA@O;EY@i!~o?rrEhzpMX_iUGCWa{~$%%=ZZCE?BxqE@0SLI;kX0Ya&eBPjNa-88xt8(AZYqnmrO-nn%G^Gs@IK^ zts`@sZKb2Iie|S+(192gn%D?~VnEY2P%BmZvrcVAhcrMHAS5y&AV>)4&?3Hb?4(8X zDEGU+-*~41eLEGW^#N{Sgpz*{h8v~en_0sJX`Xe*_cWuJA)fFRu|pg1GMK&@g)TE>A@mWa zu=U3`%K}&qvd=Ycm-h{;Ci@9BpXM&uq5GA{lVss_y*s=wp>Dlg8f7xHjiUQW!i3U# zR<(35#f(Zs8g3tD9$r0qA1z2rJwp>2W^osThw`RNJ;M_jzqY8UbM#@D$f*3KQLiqg zj(c}8)UU#?@n-Gd{j1%OGs@YJ%=bq%Mb4-MhVDo<&osV!<;u39jN@Iko4b~{4^6Yc z0bZ}Oe46%7O^zQuoK{ILas3=qX?l1sQcSI!T+@RO@7&J!oY(G)uHm+T8R)0qJLX%T z{j|Xa95&t;DbvPwsqh9qXO`g%W7((>FG?G&^1FtO^FrZ4jZbU5rSU^3{y}ZoqVbaU z7SP@nkun{8!C0i{CykWh;LFw`nQg{mmak<_I0&1IW+@xl$B?yFitetP%Jd5PgXqzz zTtdnSpc)G@fDTjPX}KUBJVFlvY_}HVb9j@t$VLs<+9;xZ5c_Bu#9Oos;v&(;W8@ut zg{!ivcK+0I2(^ps*+Dwkv8uhtgE+!|6_J@W{6e7IDkDB?1&EzSkoad~1My!PLuM`I zN3BL-_2TENFj{F=4^nq}E+VxAj$iD!!(*d3?#Z%7hoRc9IdgMG+q7uP_7RO?HRpgfZ8$ zr&)Gebh&BSunsIW_8pT?aUcWWHhIHGY}<1wPZ zQy9paRjhh|_)B$V7$IIV;=~ErL;Q`o zorm@Se^S4$ZC=&5o|d~g`=NYdhiGTupW*}5;%#Cp zv00qMMcN#;-nkEb;zhdNDZXW1C0gb$aY^TU3%`&j*^de9eb#*s1AIXKCYj@&-#=RP zJ3NPt62g1J-#GdJ_eb69m9fN0HSXkYVUZjDzuXc&x(oNC|Kp^1&-;&mx+tBPI=Fv4 zJ)S#Ka$frOB+^qOlT)53`*m{oEe|e-NROj`m0*+L?$)Vq=M9JRUui z9P3ObA|1)mSZ6%a)fMd;jVC)ty}z!FL|*B=b`Ih*gFMDOO1upG>|742O7lbA>PkNR zCj&e99okXt?Wt-k4`+6qyB0a#H~(9I==A2mDepwpRAhy$D3J8M;ly7~Sf4$+(7gZr z+s@g-e`?C}>q@SlZwShlV_tvoc&>EaKjp3wbnrGrSZ0);-UQ;5WBhj_fh6TP*+Z1Z qIF}?Bp>-0YwCL29UA#k4KBLr< zGFbwK^6BGy^B1%94{z8ceMvWx0_?**jK=ictx$pa&_dM@= z&OPV0Jqd_&UDkC70i9k$2j-_)s|72k08jXYnKpp8u>zoDkh~O;_3h&miagYx)`Vdd8}Os(Ty@$mF{Y`>cwpXYL;c( zmDCa#<>qm%uw3ZqMg^jb3|WB;P3u>JmSe7R-#BwXb9RiEa_R18;aDrCVtM?qvPdzi zaJR(pbk(kEVZH@T)rSW?XyWlAAPZ~?jam>yka!NpxMMf79W>y?3Ktr6W{+Oj7!>_o zn3nDf39~%cuhHjN2hq51f*j73Z0?%~)0hN!O?dS~Uf1(5yG0>fF(#XL^@5DdLC0n( zh$B6E3X82qo*3LMisMR&*j-ZY|4mVsj?zb6n{Kx9uw-#X+}(*$3*hx z$3J;Px&rrFVO|Kwa zCyn)Tor?K3MWne&?kI5~k%0kDawF79hY{+eV?do+z+1_{Ffn($Scy zG9`;K`ccgW&eI$~m*NDTRYn5;REmJ5nuqChNGXrwRz>51VtCa^^S01 zH5lD-3vV<1&1*4yt0(21Mv)5LNPE}Or%;Jk^qrOJ&$8qO<~_mCArQn25lT#3>SIOPnup ziNvtPl@iyGD-NNJaPl!XfwzG=^-Hu#>`OC2Z7eZ1L(8FuU@EDP7V&D@FMBhYU>J)j zLEv&e8Thd}jqGeG-h;bk%t46-h@6k!dwek+1ryhCvtoB2rOTigtJk9BW_xHQes`{8 zZ}d?IUk`gJy@?pNro*18^Z;F2FXBJK+V#oBwo#_~0p-yn^;5b;qtzo+g=AmQ&s0QT z0xN)J>|HvEm>TUYO<}#HkEhwJL%jg}Uip?z$r>Nh3Eqn}2x`|b*WcA%40fqE!E~5~ zwn)ZF+CroFEi!v;o`@IE1aFC+{>sKe-_IH?h(9xW*=jO3oH@9pq1Hf6Ra;vm95!EYR#)%;XU`F0a~rYuuov*! z3gE);Mw_))6GCqO}P?GnQj!KWHm9r#wTAz*-Na3-#b%U zQASS{zX{^g4#%TPWTn(lEFQGmG1+LUw^&tq2KM4cU_z4!ETMj(j>`nHs0wNk^%F&b z;9}1fZvWYh{27_Uf}z**r3eAH)LAJP>37lUd6XC@V5==I_+8 z3;jM+1Lmz}-id6hV*|NS-yo{rC3&!_Q}W_)1>(gw#;F(kUgRPeuS$8eqCAT>A%8^s zM!!JUJ@ zLTV_fWrE4~B0qghc#9u@)W!?Yy;on5hg;kn2ylo(6LeE>K@T&n6ztHZi~hOxDPlY! zMuiwvVk{A3nHXP*Q6ujx7LqTI;~zp!>VN!E&W%U(0mT7=^vC38PR_$Vb?e|XrneOn@nJJK5Q%HAM0mTpYu5; OBh)6rJ_-(&1o#JBaf~7W delta 646 zcmaEp-jY7SB({T*fkC;Bfgyy6fkA-*$PO+k%FIhI1~M5+fMP5lvCv?K3LrZH#C8w$ zbOF*gfc!NEK)zE>eiD!$T9{$+N-5s8w_L5)#UR~v;h$L>*d|UC=j8!PasV+q5IaoV zYRn4a@JxJbS}&!~$S?xrGegyTA@O;EY@i!~o?rrEhzpMX_iUGCWa{~$%%=ZZCE?BxqE@0SLI;kX0Ya&eBPjNa-88x&&IfEsTZO)Je zk!WUUlxl3AYGGuWlA2~=VVsnfVxE?2WR{j}YHnd{T3yt#yT0;_)_gBgP% zgAqe2gE50SkhB1@O&L;vtTZ6o0w|gUWTgP*(tu({K-Fms$v_q6V3n2(mOvGjKoJX| NxH&`e=3wEqEC9z2GtvM6 delta 193 zcmZoLXfT-2!Sdbl#Kes~CCmaBG?o4b@yWaIT~MQDSC|yCS&;7o<0iHcHVm1`DLgMU zOj8X~4HC^Q4b0P0Q%y~cEiBV4EEAKHjgrlclhQ1cj7FMJ<7(F@p(%AwvofCNm^5 LByJ8CUdsXiL6$S9 diff --git a/Csharp/Gokspel/obj/Debug/net9.0-windows/refint/Gokspel.dll b/Csharp/Gokspel/obj/Debug/net9.0-windows/refint/Gokspel.dll index cd00e65c6a4a0a3962b402f0e9bb5ab2917c23ce..9ad88cfc8c664a9ba97ae9865f85c6f6eedf9084 100644 GIT binary patch delta 193 zcmZoLXfT-2!BYEj!s(4YCCmadXFi#(Eb8XJauVl`(r!Jj&4PR%7&oznuwlqdPT_f> zk!WUUlxl3AYGGuWlA2~=VVsnfVxE?2WR{j}YHnd{T3yt#yT0;_)_gBgP% zgAqe2gE50SkhB1@O&L;vtTZ6o0w|gUWTgP*(tu({K-Fms$v_q6V3n2(mOvGjKoJX| NxH&`e=3wEqEC9z2GtvM6 delta 193 zcmZoLXfT-2!Sdbl#Kes~CCmaBG?o4b@yWaIT~MQDSC|yCS&;7o<0iHcHVm1`DLgMU zOj8X~4HC^Q4b0P0Q%y~cEiBV4EEAKHjgrlclhQ1cj7FMJ<7(F@p(%AwvofCNm^5 LByJ8CUdsXiL6$S9