310 lines
12 KiB
ObjectPascal
310 lines
12 KiB
ObjectPascal
|
|
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.
|
||
|
|
|