git: 35dc7ffe64b4 - main - games/solver: Math training game using C and SDL2

From: Jason W. Bacon <jwb_at_FreeBSD.org>
Date: Wed, 23 Nov 2022 13:49:18 UTC
The branch main has been updated by jwb:

URL: https://cgit.FreeBSD.org/ports/commit/?id=35dc7ffe64b4fb05423d7bccff4b7aad032e164e

commit 35dc7ffe64b4fb05423d7bccff4b7aad032e164e
Author:     Jason W. Bacon <jwb@FreeBSD.org>
AuthorDate: 2022-11-23 13:46:28 +0000
Commit:     Jason W. Bacon <jwb@FreeBSD.org>
CommitDate: 2022-11-23 13:49:16 +0000

    games/solver: Math training game using C and SDL2
    
    Solver is a math training game. The goal of the game is to improve the
    user's confidence in using four basic math operations: addition,
    subtraction, multiplication and division. The user can set various
    options to create a custom game experience. These options include
    setting the time limit and the goal for correct/incorrect answers.
    This program uses C and SDL2.
    
    PR:             267373
    Reported by:    modex@danwin1210.de
---
 games/Makefile         |   1 +
 games/solver/Makefile  |  26 +++++++++
 games/solver/distinfo  |   3 +
 games/solver/pkg-descr |   6 ++
 games/solver/pkg-plist | 152 +++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 188 insertions(+)

diff --git a/games/Makefile b/games/Makefile
index aea79d96bc5f..6e8fbe67314a 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -922,6 +922,7 @@
     SUBDIR += solarconquest
     SUBDIR += solarus
     SUBDIR += solarus-quest-editor
+    SUBDIR += solver
     SUBDIR += spacejunk
     SUBDIR += spacezero
     SUBDIR += speak
diff --git a/games/solver/Makefile b/games/solver/Makefile
new file mode 100644
index 000000000000..401a6ad8c0e3
--- /dev/null
+++ b/games/solver/Makefile
@@ -0,0 +1,26 @@
+PORTNAME=	solver
+DISTVERSION=	0.1
+CATEGORIES=	games
+
+MAINTAINER=	modex@danwin1210.de
+COMMENT=	Math training game using C and SDL2
+WWW=		https://github.com/modexsoft/solver
+
+LICENSE=	BSD3CLAUSE
+
+USES=		sdl
+USE_SDL=	image2 mixer2
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	modexsoft
+
+do-build:
+	${CC} ${WRKSRC}/main.c -I${LOCALBASE}/include -L${LOCALBASE}/lib \
+		-lSDL2 -lSDL2_image -lSDL2_mixer -o ${WRKSRC}/solver
+	${MKDIR} ${STAGEDIR}${DATADIR}
+	(cd ${WRKSRC}/data && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR})
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/solver ${STAGEDIR}${PREFIX}/bin
+
+.include <bsd.port.mk>
diff --git a/games/solver/distinfo b/games/solver/distinfo
new file mode 100644
index 000000000000..e321920f622a
--- /dev/null
+++ b/games/solver/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1669059125
+SHA256 (modexsoft-solver-0.1_GH0.tar.gz) = f7ad93079366e5d3c816adecb135f14c738e0a56d40a5e2c2d8ff139176999f0
+SIZE (modexsoft-solver-0.1_GH0.tar.gz) = 517306
diff --git a/games/solver/pkg-descr b/games/solver/pkg-descr
new file mode 100644
index 000000000000..13e67b9e157e
--- /dev/null
+++ b/games/solver/pkg-descr
@@ -0,0 +1,6 @@
+Solver is a math training game. The goal of the game is to improve the
+user's confidence in using four basic math operations: addition,
+subtraction, multiplication and division. The user can set various
+options to create a custom game experience. These options include
+setting the time limit and the goal for correct/incorrect answers.
+This program uses C and SDL2.
diff --git a/games/solver/pkg-plist b/games/solver/pkg-plist
new file mode 100644
index 000000000000..5aa237b00656
--- /dev/null
+++ b/games/solver/pkg-plist
@@ -0,0 +1,152 @@
+bin/solver
+%%DATADIR%%/answer_correct.wav
+%%DATADIR%%/answer_typing.wav
+%%DATADIR%%/answer_wrong.wav
+%%DATADIR%%/bg0.png
+%%DATADIR%%/bg1.png
+%%DATADIR%%/bg2.png
+%%DATADIR%%/bg3.png
+%%DATADIR%%/bg4.png
+%%DATADIR%%/block_blank.png
+%%DATADIR%%/block_divide0.png
+%%DATADIR%%/block_divide1.png
+%%DATADIR%%/block_divide2.png
+%%DATADIR%%/block_divide3.png
+%%DATADIR%%/block_divide4.png
+%%DATADIR%%/block_divide5.png
+%%DATADIR%%/block_divide6.png
+%%DATADIR%%/block_divide7.png
+%%DATADIR%%/block_divide8.png
+%%DATADIR%%/block_divide9.png
+%%DATADIR%%/block_meter.png
+%%DATADIR%%/block_meterblank.png
+%%DATADIR%%/block_minus0.png
+%%DATADIR%%/block_minus1.png
+%%DATADIR%%/block_minus2.png
+%%DATADIR%%/block_minus3.png
+%%DATADIR%%/block_minus4.png
+%%DATADIR%%/block_minus5.png
+%%DATADIR%%/block_minus6.png
+%%DATADIR%%/block_minus7.png
+%%DATADIR%%/block_minus8.png
+%%DATADIR%%/block_minus9.png
+%%DATADIR%%/block_multiply0.png
+%%DATADIR%%/block_multiply1.png
+%%DATADIR%%/block_multiply2.png
+%%DATADIR%%/block_multiply3.png
+%%DATADIR%%/block_multiply4.png
+%%DATADIR%%/block_multiply5.png
+%%DATADIR%%/block_multiply6.png
+%%DATADIR%%/block_multiply7.png
+%%DATADIR%%/block_multiply8.png
+%%DATADIR%%/block_multiply9.png
+%%DATADIR%%/block_plus0.png
+%%DATADIR%%/block_plus1.png
+%%DATADIR%%/block_plus2.png
+%%DATADIR%%/block_plus3.png
+%%DATADIR%%/block_plus4.png
+%%DATADIR%%/block_plus5.png
+%%DATADIR%%/block_plus6.png
+%%DATADIR%%/block_plus7.png
+%%DATADIR%%/block_plus8.png
+%%DATADIR%%/block_plus9.png
+%%DATADIR%%/block_select.png
+%%DATADIR%%/block_topbottom.png
+%%DATADIR%%/borderdownleft.png
+%%DATADIR%%/borderdownright.png
+%%DATADIR%%/borderleftright.png
+%%DATADIR%%/bordertopleft.png
+%%DATADIR%%/bordertopright.png
+%%DATADIR%%/borderupdown.png
+%%DATADIR%%/combo0.png
+%%DATADIR%%/combo1.png
+%%DATADIR%%/combo10.png
+%%DATADIR%%/combo2.png
+%%DATADIR%%/combo3.png
+%%DATADIR%%/combo4.png
+%%DATADIR%%/combo5.png
+%%DATADIR%%/combo6.png
+%%DATADIR%%/combo7.png
+%%DATADIR%%/combo8.png
+%%DATADIR%%/combo9.png
+%%DATADIR%%/controls.png
+%%DATADIR%%/eq_0.png
+%%DATADIR%%/eq_1.png
+%%DATADIR%%/eq_2.png
+%%DATADIR%%/eq_3.png
+%%DATADIR%%/eq_4.png
+%%DATADIR%%/eq_5.png
+%%DATADIR%%/eq_6.png
+%%DATADIR%%/eq_7.png
+%%DATADIR%%/eq_8.png
+%%DATADIR%%/eq_9.png
+%%DATADIR%%/eq_divide.png
+%%DATADIR%%/eq_equal.png
+%%DATADIR%%/eq_minus.png
+%%DATADIR%%/eq_multiply.png
+%%DATADIR%%/eq_plus.png
+%%DATADIR%%/gameover.png
+%%DATADIR%%/key_0.png
+%%DATADIR%%/key_1.png
+%%DATADIR%%/key_2.png
+%%DATADIR%%/key_3.png
+%%DATADIR%%/key_4.png
+%%DATADIR%%/key_5.png
+%%DATADIR%%/key_6.png
+%%DATADIR%%/key_7.png
+%%DATADIR%%/key_8.png
+%%DATADIR%%/key_9.png
+%%DATADIR%%/key_a.png
+%%DATADIR%%/key_b.png
+%%DATADIR%%/key_blank.png
+%%DATADIR%%/key_c.png
+%%DATADIR%%/key_d.png
+%%DATADIR%%/key_e.png
+%%DATADIR%%/key_f.png
+%%DATADIR%%/key_g.png
+%%DATADIR%%/key_h.png
+%%DATADIR%%/key_i.png
+%%DATADIR%%/key_j.png
+%%DATADIR%%/key_k.png
+%%DATADIR%%/key_l.png
+%%DATADIR%%/key_m.png
+%%DATADIR%%/key_n.png
+%%DATADIR%%/key_o.png
+%%DATADIR%%/key_p.png
+%%DATADIR%%/key_pointer.png
+%%DATADIR%%/key_q.png
+%%DATADIR%%/key_r.png
+%%DATADIR%%/key_s.png
+%%DATADIR%%/key_t.png
+%%DATADIR%%/key_u.png
+%%DATADIR%%/key_v.png
+%%DATADIR%%/key_w.png
+%%DATADIR%%/key_x.png
+%%DATADIR%%/key_y.png
+%%DATADIR%%/key_z.png
+%%DATADIR%%/label_hit.png
+%%DATADIR%%/label_miss.png
+%%DATADIR%%/label_score.png
+%%DATADIR%%/label_speed.png
+%%DATADIR%%/label_time.png
+%%DATADIR%%/label_total.png
+%%DATADIR%%/large_cursor.png
+%%DATADIR%%/menu_select.wav
+%%DATADIR%%/move_cursor.wav
+%%DATADIR%%/options.png
+%%DATADIR%%/piece_flip.wav
+%%DATADIR%%/s0.png
+%%DATADIR%%/s1.png
+%%DATADIR%%/s2.png
+%%DATADIR%%/s3.png
+%%DATADIR%%/s4.png
+%%DATADIR%%/s5.png
+%%DATADIR%%/s6.png
+%%DATADIR%%/s7.png
+%%DATADIR%%/s8.png
+%%DATADIR%%/s9.png
+%%DATADIR%%/sblank.png
+%%DATADIR%%/scolon.png
+%%DATADIR%%/small_cursor.png
+%%DATADIR%%/start.png
+%%DATADIR%%/title.png