gh/src/ascii_arts_m.pas

310 lines
12 KiB
ObjectPascal
Raw Normal View History

2025-11-24 15:34:27 +00:00
unit ascii_arts_m;
interface
const
DigitHeight = 5;
DigitWidth = 5;
DigitsAscii: array[0..9] of array[1..DigitHeight] of string = (
(
'@@@@@',
'@ @',
'@ @',
'@ @',
'@@@@@'
),
(
' @ ',
' @@ ',
'@ @ ',
' @ ',
'@@@@@'
),
(
'@@@@@',
' @',
'@@@@@',
'@ ',
'@@@@@'
),
(
'@@@@@',
' @',
'@@@@@',
' @',
'@@@@@'
),
(
'@ @',
'@ @',
'@@@@@',
' @',
' @'
),
(
'@@@@@',
'@ ',
'@@@@@',
' @',
'@@@@@'
),
(
'@@@@@',
'@ ',
'@@@@@',
'@ @',
'@@@@@'
),
(
'@@@@@',
' @',
' @',
' @',
' @'
),
(
'@@@@@',
'@ @',
'@@@@@',
'@ @',
'@@@@@'
),
(
'@@@@@',
'@ @',
'@@@@@',
' @',
'@@@@@'
)
);
GameNameHeight = 6;
GameNameWidth = 58;
GameNameAscii: array[1..GameNameHeight] of string = (
' _____ _ _ _ _',
' / ____| | | | | | | | |',
'| | __ ___ | | | |__| | __ _ _ __ ___ ___| |_ ___ _ __',
'| | |_ |/ _ \| | | __ |/ _` | ''_ ` _ \/ __| __/ _ \ ''__|',
'| |__| | (_) |_| | | | | (_| | | | | | \__ \ || __/ |',
' \_____|\___/(_) |_| |_|\__,_|_| |_| |_|___/\__\___|_|'
);
NewGameHeight = 6;
NewGameAscii: array[1..NewGameHeight] of string = (
' _ _ _____',
'| \ | | / ____|',
'| \| | _____ __ | | __ __ _ _ __ ___ ___',
'| . ` |/ _ \ \ /\ / / | | |_ |/ _` | ''_ ` _ \ / _ \',
'| |\ | __/\ V V / | |__| | (_| | | | | | | __/',
'|_| \_|\___| \_/\_/ \_____|\__,_|_| |_| |_|\___|'
);
HighScoreHeight = 8;
HighScoreAscii: array[1..HighScoreHeight] of string = (
' _ _ _ _ _____',
'| | | (_) | | / ____|',
'| |__| |_ __ _| |__ | (___ ___ ___ _ __ ___',
'| __ | |/ _` | ''_ \ \___ \ / __/ _ \| ''__/ _ \',
'| | | | | (_| | | | | ____) | (_| (_) | | | __/',
'|_| |_|_|\__, |_| |_| |_____/ \___\___/|_| \___|',
' __/ |',
' |___/'
);
MenuInfoHeight = 8;
KeyInfoAscii: array[1..MenuInfoHeight] of string = (
' _ __ _____ __',
'| |/ / |_ _| / _|',
'| '' / ___ _ _ | | _ __ | |_ ___',
'| < / _ \ | | | | | | ''_ \| _/ _ \',
'| . \ __/ |_| | _| |_| | | | || (_) |',
'|_|\_\___|\__, | |_____|_| |_|_| \___/',
' __/ |',
' |___/'
);
ContinueHeight = 6;
ContinueWidth = 41;
ContinueAscii: array[1..ContinueHeight] of string = (
' _____ _ _ ',
' / ____| | | (_) ',
'| | ___ _ __ | |_ _ _ __ _ _ ___ ',
'| | / _ \| ''_ \| __| | ''_ \| | | |/ _ \',
'| |___| (_) | | | | |_| | | | | |_| | __/',
' \_____\___/|_| |_|\__|_|_| |_|\__,_|\___|'
);
ExitHeight = 8;
ExitWidth = 70;
ExitAscii: array[1..ExitHeight] of string = (
' ______ _ _ _ _ ___',
'| ____| (_) | | | | | |__ \',
'| |__ __ ___| |_ | |_| |__ ___ __ _ __ _ _ __ ___ ___ ) |',
'| __| \ \/ / | __| | __| ''_ \ / _ \ / _` |/ _` | ''_ ` _ \ / _ \/ /',
'| |____ > <| | |_ | |_| | | | __/ | (_| | (_| | | | | | | __/_|',
'|______/_/\_\_|\__| \__|_| |_|\___| \__, |\__,_|_| |_| |_|\___(_)',
' __/ |',
' |___/'
);
PauseHeight = 22;
PauseWidth = 76;
{ Too long strings :(, lets following linux styleguide }
PauseAscii: array[1..PauseHeight] of string = (
' _',
' | |',
' _ __ __ _ _ _ ___ ___ __| |',
' | ''_ \ / _` | | | / __|/ _ \/ _` |',
' | |_) | (_| | |_| \__ \ __/ (_| |',
' | .__/ \__,_|\__,_|___/\___|\__,_| ',
' | | ',
' |_| _ _',
' | | (_)',
' ___ _ __ __ _ __ ___ ___ ___ _ __ | |_ _ _ __ _ _ ___',
'/ __| ''_ \ / _` |/ __/ _ \ ______ / __/ _ \| ''_ \| __| | ''_ \| | | |/ _ \',
'\__ \ |_) | (_| | (_| __/ |______| | (_| (_) | | | | |_| | | | | |_| | __/',
'|___/ .__/ \__,_|\___\___| \___\___/|_| |_|\__|_|_| |_|\__,_|\___|',
'====| |===================',
' |_| _ _ _',
' (_) | | |',
' __ _ __ _ _ _ _| |_ | |_ ___ _ __ ___ ___ _ __ _ _',
' / _` | ______ / _` | | | | | __| | __/ _ \ | ''_ ` _ \ / _ \ ''_ \| | | |',
'| (_| | |______| | (_| | |_| | | |_ | || (_) | | | | | | | __/ | | | |_| |',
' \__, | \__, |\__,_|_|\__| \__\___/ |_| |_| |_|\___|_| |_|\__,_|',
'====| |= | |',
' |_| |_|'
);
YesHeight = 6;
YesAscii: array[1..YesHeight] of string = (
' _ _ ___ ___',
'| | | |/ _ \/ __|',
'| |_| | __/\__ \',
' \__, |\___||___/',
' __/ |',
' |___/'
);
NoHeight = 4;
NoWidth = 13;
NoAscii: array[1..NoHeight] of string = (
' _ __ ___',
'| ''_ \ / _ \',
'| | | | (_) |',
'|_| |_|\___/'
);
HamsterHeight = 5;
HamsterWidth = 7;
HamsterStayAscii: array[1..HamsterHeight] of string = (
' (\_/)',
'( 0_0 )',
'/-----\',
' |___|',
' / \'
);
HamsterGGAscii: array[1..HamsterHeight] of string = (
' (\_/)',
'( G_G )',
'/-----\',
' |___|',
' / \'
);
GameOverHeight = 40;
GameOverWidth = 62;
GameOverScreen: array[1..GameOverHeight] of string = (
' _____ __ __ ______ ',
' / ____| /\ | \/ | ____| ',
' | | __ / \ | \ / | |__ ',
' | | |_ | / /\ \ | |\/| | __| ',
' | |__| |/ ____ \| | | | |____ ',
' \_____/_/ \_\_| |_|______| ',
' ______ ________ _____ ',
' / __ \ \ / / ____| __ \ ',
' | | | \ \ / /| |__ | |__) | ',
' | | | |\ \/ / | __| | _ / ',
' | |__| | \ / | |____| | \ \ ',
' \____/ \/ |______|_| \_\ ',
' ',
' ____ ____ ',
' / o@@\ /@@o \ ',
' / /``\@\ __,-==-,__ /@/``\ \ ',
' / /` `||//\______/ \||` `\ \ ',
' | |` // __ __ \\ `| | ',
' \ \` (/ /;g\ /g;\ \) `/ | ',
' \_\__(( " .. " )____/_/ ',
' \ " __ " / ',
' @@@@@@(||)@@@@`@@`@@@@(||)@@@@@@@ ',
' @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ',
' @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ',
' @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ',
' ',
' _ _ ___ ',
' | | (_) |__ \ ',
' ___ ___ _ __ | |_ _ _ __ _ _ ___ ) | ',
' / __/ _ \| ''_ \| __| | ''_ \| | | |/ _ \ / / ',
' | (_| (_) | | | | |_| | | | | |_| | __/ |_| ',
' \___\___/|_| |_|\__|_|_| |_|\__,_|\___| (_) ',
' ___ ___ __ ___ ___',
'| _| |_ | \ \ | _| |_ |',
'| | _ _ | | ___ ___ \ \ | | _ __ | | ___',
'| | | | | | | |/ _ \/ __| \ \ | | | ''_ \ | |/ _ \',
'| | | |_| | | | __/\__ \ \ \ | | | | | | | | (_) |',
'| |_ \__, | _| |\___||___/ \ \ | |_ |_| |_| _| |\___/',
'|___|=====/ |=|___| \_\ |___|=========|___|',
' |___/'
);
KeyInfoHeight = 42;
KeyInfoWidth = 98;
KeyInfoScreen: array[1..KeyInfoHeight] of string = (
' _',
' | |',
' _ __ ___ _____ _____ | | _____ _ _ ___ _',
' | ''_ ` _ \ / _ \ \ / / _ \ | |/ / _ \ | | / __| (_)',
' | | | | | | (_) \ V / __/ | < __/ |_| \__ \ _',
' |_| |_| |_|\___/ \_/ \___| |_|\_\___|\__, |___/ (_)',
' __/ |',
' _ |___/',
' / \',
' / . \',
' / / \ \',
' /_/| |\_\',
' | |',
' |_|',
' __ ========= __',
' / / (\_/) \ \',
' / /_____ ( 0_0 ) ______\ \ ',
' { ______| /-----\ |_______ }',
' \ \ |___| / /',
' \_\ / \ /_/',
' ========== _ ===========',
' | |',
' _ | | _ ',
' \ \| |/ /',
' \ \ / / ',
' \ ` / ',
' \_/',
' =========',
' _ _ _ ',
' | | | | | |',
' ___ _ __ __ _ ___ ___ ___| |_ ___ _ __ | |__ __ _ _ __ ___ ___| |_ ___ _ __',
' / __| ''_ \ / _` |/ __/ _ \ ______ / __| __/ _ \| ''_ \ | ''_ \ / _` | ''_ ` _ \/ __| __/ _ \ ''__|',
' \__ \ |_) | (_| | (_| __/ |______| \__ \ || (_) | |_) | | | | | (_| | | | | | \__ \ || __/ |',
' |___/ .__/ \__,_|\___\___| |___/\__\___/| .__/ |_| |_|\__,_|_| |_| |_|___/\__\___|_|',
' ====| |=================== | |',
' |_| |_|',
' ___ ___ ___ _ __ __ _ _ _ ___ ___',
' / _ \/ __|/ __| ______ | ''_ \ / _` | | | / __|/ _ \',
'| __/\__ \ (__ |______| | |_) | (_| | |_| \__ \ __/',
' \___||___/\___| | .__/ \__,_|\__,_|___/\___|',
'================ | |',
' |_|'
);
implementation
end.