From 8581bffcb706a139d067cc60014b366acea0ab68 Mon Sep 17 00:00:00 2001 From: Stephan Kleinert Date: Sat, 11 Jan 2020 22:12:16 +0100 Subject: [PATCH] making more use of cx16's bigger screen, minor cplayer improvements --- disc/kkniffel.dsk | Bin 143360 -> 143360 bytes src/apple2/io.c | 3 ++ src/c128/io.c | 24 ++++++----- src/c64/io.c | 5 +++ src/cx16/io.c | 4 ++ src/io.h | 3 ++ src/kkniffel.c | 101 ++++++++++++++++++++++++++++++++++------------ src/pet/io.c | 2 + src/plus4/io.c | 6 +++ 9 files changed, 114 insertions(+), 34 deletions(-) diff --git a/disc/kkniffel.dsk b/disc/kkniffel.dsk index cc7be853d7a236ef5daec1a27cbf9287e54eabb1..30684be36ee01e1b6aab14830ffedfa9d74aaf41 100644 GIT binary patch delta 19129 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 bubE}ry0ykWhg2=J@|~Y-JGK9m;RpX0f$d)I delta 18848 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 diff --git a/src/apple2/io.c b/src/apple2/io.c index cf8ff6d..a78dea2 100644 --- a/src/apple2/io.c +++ b/src/apple2/io.c @@ -5,6 +5,9 @@ #include "../io.h" #include "../chargen.h" +const char *gTitle = " * kkniffel/apple2 * "; + + const unsigned char colTable = 5; const unsigned char colLegend = 14; diff --git a/src/c128/io.c b/src/c128/io.c index a836d24..7698872 100644 --- a/src/c128/io.c +++ b/src/c128/io.c @@ -8,6 +8,8 @@ #include "../io.h" #include "../chargen.h" +const char *gTitle = " * kkniffel/c128 * "; + const unsigned char colTable = 5; const unsigned char colLegend = 14; @@ -15,6 +17,9 @@ const unsigned char colBackground = 0; const unsigned char colBorder = 0; const unsigned char colText = 5; +const unsigned char colDice = COLOR_ORANGE; + + const unsigned char colSplash = 4; const unsigned char colSplashRed = 2; @@ -40,15 +45,6 @@ void startup(void) clrscr(); } -void initIO(void) -{ - // TODO -} - -void initDiceDisplay(void) -{ - setDiceColor(COLOR_ORANGE); -} void setDiceColor(unsigned char color) { @@ -62,6 +58,16 @@ void setDiceColor(unsigned char color) } } +void initIO(void) +{ + // TODO +} + +void initDiceDisplay(void) +{ + setDiceColor(COLOR_ORANGE); +} + void __fastcall__ _plotDice(unsigned char value, unsigned char x, unsigned char y, char r) { register unsigned char c; diff --git a/src/c64/io.c b/src/c64/io.c index b034929..697d3b2 100644 --- a/src/c64/io.c +++ b/src/c64/io.c @@ -14,6 +14,8 @@ #define screen (unsigned char *)51200u #define screenP (unsigned char *)648u // screen pointer for kernel +const char *gTitle = " * kkniffel/c64 * "; + void installCharset(void); void setDiceColor(unsigned char color); @@ -24,6 +26,9 @@ const unsigned char colText = 5; const unsigned char colSplash = 4; const unsigned char colSplashRed = 2; +const unsigned char colDice = COLOR_ORANGE; + + const unsigned char colTempValue = 11; // temporary roll: const unsigned char colEvenValue = 5; // even row roll: green const unsigned char colOddValue = 13; // odd row roll: light green diff --git a/src/cx16/io.c b/src/cx16/io.c index f71092b..5946381 100644 --- a/src/cx16/io.c +++ b/src/cx16/io.c @@ -8,6 +8,8 @@ #define screen 0 #define COLOR_RAM 2048 +const char *gTitle = " * kkniffel/cx16 * "; + void installCharset(void); void setDiceColor(unsigned char color); @@ -18,6 +20,8 @@ const unsigned char colText = 5; const unsigned char colSplash = COLOR_GREEN; const unsigned char colSplashRed = COLOR_ORANGE; +const unsigned char colDice = COLOR_ORANGE; + const unsigned char colTempValue = COLOR_GRAY2; // temporary roll: const unsigned char colEvenValue = COLOR_GREEN; // even row roll: green const unsigned char colOddValue = COLOR_LIGHTGREEN; // odd row roll: light green diff --git a/src/io.h b/src/io.h index 0dcb945..dfd198e 100644 --- a/src/io.h +++ b/src/io.h @@ -8,12 +8,15 @@ void eraseDie(unsigned char nr); void initDiceDisplay(void); +extern const char *gTitle; extern const char dice[6][25]; extern const unsigned char colBackground; extern const unsigned char colBorder; extern const unsigned char colText; +extern const unsigned char colDice; + extern const unsigned char colSplash; extern const unsigned char colSplashRed; diff --git a/src/kkniffel.c b/src/kkniffel.c index 8d6fff8..ec25ec8 100644 --- a/src/kkniffel.c +++ b/src/kkniffel.c @@ -224,20 +224,20 @@ void doTurnRoll() { if (!benchmarkMode) - #ifndef __APPLE2__ - j = getJiffies(); - do { - #endif +#ifndef __APPLE2__ + j = getJiffies(); + do + { +#endif for (i = 0; i < 20; ++i) { doSingleRoll(); } - #ifndef __APPLE2__ - } while (getJiffies()-j<60); - #endif - +#ifndef __APPLE2__ + } while (getJiffies() - j < 60); +#endif } else { @@ -536,11 +536,10 @@ void startBenchmarkMode() srand(seed); } -void startgame() +void bannerDice() { char i; - - textcolor(colSplash); + textcolor(colDice); clrscr(); for (i = 0; i < 8; ++i) @@ -548,32 +547,84 @@ void startgame() _plotDice(1 + (rand() % 6), i * 5, 0, 0); _plotDice(1 + (rand() % 6), i * 5, BOTTOMY - 4, 0); } +} +void displayCredits() +{ + bannerDice(); textcolor(colText); + revers(1); + centerLine(7, " * k k n i f f e l * "); + revers(0); + centerLine(9, "written by stephan kleinert"); + centerLine(10, "at k-burg, bad honnef and"); + centerLine(11, "at hundehaus im reinhardswald"); + centerLine(12, "2019/20"); + centerLine(14, "with very special thanks to"); + centerLine(15, "frau k., buba k. candor k."); + centerLine(16, "and the seven turtles!"); + centerLine(18, "-- key --"); + cgetc(); +} +void displayInstructions() +{ + bannerDice(); + textcolor(colText); revers(1); - centerLine(6, " * k k n i f f e l * "); + centerLine(7, " * instructions * "); revers(0); - centerLine(8, "- version 2.4 -"); - centerLine(10, "written by stephan kleinert"); - centerLine(11, "at k-burg, bad honnef, 2019-2020"); - centerLine(12, "with special thanks to frau k.,"); - centerLine(13, "buba k., candor k. and of course"); - centerLine(14, "to the 7 turtles."); - textcolor(colLowerSum); - centerLine(16, "how many players (2-4)?"); + centerLine(9, "game keys:"); + centerLine(11, " to roll or reroll the dice"); + centerLine(13, "<1-6> to select dice to reroll"); + centerLine(14, " to choose category to score"); + centerLine(16, " to sort the dice"); + centerLine(18, "-- key --"); + cgetc(); +} + +void startgame() +{ + char i; + char c; + char promptTopRow; + + promptTopRow = (BOTTOMY / 2) - 5; - while (numPlayers < 2 || numPlayers > 4) + do { + bannerDice(); + textcolor(colText); + + revers(1); + centerLine(promptTopRow, (char *)gTitle); + revers(0); + centerLine(promptTopRow + 2, "- version 2.32 -"); + centerLine(promptTopRow + 3, "written by stephan kleinert"); + textcolor(colBonus); + centerLine(promptTopRow + 8, "or type 'i' for instructions"); + centerLine(promptTopRow + 9, "or 'c' for credits"); + textcolor(colLowerSum); + centerLine(promptTopRow + 6, "how many players (2-4)?"); + cursor(1); - numPlayers = cgetc() - '0'; + c = cgetc(); + numPlayers = c - '0'; cursor(0); - if (numPlayers == 18) - { // 'b' typed + if (c == 'i') + { + displayInstructions(); + } + else if (c == 'c') + { + displayCredits(); + } + else if (c == '#') + { startBenchmarkMode(); return; } - } + } while (numPlayers < 2 || numPlayers > 4); clrscr(); diff --git a/src/pet/io.c b/src/pet/io.c index f3ab02f..33da782 100644 --- a/src/pet/io.c +++ b/src/pet/io.c @@ -5,6 +5,8 @@ #include "../io.h" #include "../chargen.h" +const char *gTitle = " * kkniffel/pet * "; + const unsigned char colTable = 5; const unsigned char colLegend = 14; diff --git a/src/plus4/io.c b/src/plus4/io.c index 3ae23de..729c502 100644 --- a/src/plus4/io.c +++ b/src/plus4/io.c @@ -7,6 +7,9 @@ #include "../io.h" #include "../chargen.h" +const char *gTitle = " * kkniffel/ted * "; + + const unsigned char colBackground = BCOLOR_BLACK; const unsigned char colBorder = BCOLOR_BLACK; const unsigned char colText = BCOLOR_BLUEGREEN + CATTR_LUMA4; @@ -14,6 +17,9 @@ const unsigned char colText = BCOLOR_BLUEGREEN + CATTR_LUMA4; const unsigned char colSplash = BCOLOR_PURPLE + CATTR_LUMA3; const unsigned char colSplashRed = BCOLOR_RED + CATTR_LUMA3; +const unsigned char colDice = COLOR_ORANGE; + + const unsigned char colTable = BCOLOR_CYAN + CATTR_LUMA0; const unsigned char colLegend = BCOLOR_LIGHTBLUE + CATTR_LUMA3;