Давайте сделаем рогалик. Глава 47: Победа и поражение — различия между версиями

Материал из Клуб любителей рогаликов
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
[[Файл:Richard_D_Clark-Let's_Build_a_WinScreen.png|center]]
 
[[Файл:Richard_D_Clark-Let's_Build_a_WinScreen.png|center]]
  
Возможны только два финальные события для игроков в Подземелье Судьбы. Победа и поражение. Независимо от результата, мы игроку сначала покажем красивую графику, а затем завершим игру. Код разместим после нашего основного цикла.
+
Возможны только два финальных события для игроков в Подземельи Судьбы. Победа и поражение. Независимо от результата, сначала мы покажем игроку красивую картинку, а затем завершим игру. Код разместим после нашего основного цикла.
  
 
'''dod.bas'''
 
'''dod.bas'''
Строка 35: Строка 35:
 
   EndIf
 
   EndIf
  
Если игрок погибнет, флажок isdead будет установлен и мы покажем экран смерти и распечатаем файл некролога. Если игрок покинет подземелье с амулетом, мы покажем экран победы и также распечатаем некролог. Только одно (или ни одного) из этих условий может быть верно в любое время. Конечно, это ничтожная компенсация игроку за время, потраченное на игру, но мы надеемя, что реальной платой будет то наслаждение, которое игрок получил от игры.
+
Если игрок погибнет, флажок isdead будет установлен и мы покажем экран смерти, а затем распечатаем файл некролога. Если игрок покинет подземелье с амулетом, мы покажем экран победы и также распечатаем некролог. Только одно (или ни одного) из этих условий может быть верно в любое время. Конечно, это ничтожная компенсация игроку за время, потраченное на игру, но мы надеемся, что реальной платой будет то наслаждение, которое игрок получил от игры.

Версия 17:17, 24 декабря 2013

Richard D Clark-Let's Build a WinScreen.png

Возможны только два финальных события для игроков в Подземельи Судьбы. Победа и поражение. Независимо от результата, сначала мы покажем игроку красивую картинку, а затем завершим игру. Код разместим после нашего основного цикла.

dod.bas

 ...
    Loop Until done = TRUE
 EndIf
 ClearKeys
 'Отображаем сообщение о смерти.
 If isdead = TRUE Then
    DrawBackground char_dead()
    ckey = pchar.CharName & " has died in the depths of the dungeon."
    PutTextShadow ckey, 20, (txcols / 2) - (Len(ckey) / 2)
    ckey = "Rest in peace valiant warrior!"
    PutTextShadow ckey, 22, (txcols / 2) - (Len(ckey) / 2)
    Sleep
    ClearKeys
    'Создаем файл некролога.
    PrintMorgueFile didwin
 EndIf
 'Отображаем экран победы.
 If didwin = TRUE Then
    DrawBackground char_win()
    ckey = pchar.CharName & " has escaped the dungeon with the Amulet!"
    PutTextShadow ckey, 12, (txcols / 2) - (Len(ckey) / 2)
    ckey = "The Kingdom will be saved! Long live King " & pchar.CharName & "!"
    PutTextShadow ckey, 14, (txcols / 2) - (Len(ckey) / 2)
    ckey = "All Hail King " & pchar.CharName & "!"
    PutTextShadow ckey, 16, (txcols / 2) - (Len(ckey) / 2)
    Sleep
    ClearKeys
    'Создаем файл некролога.
    PrintMorgueFile didwin
 EndIf

Если игрок погибнет, флажок isdead будет установлен и мы покажем экран смерти, а затем распечатаем файл некролога. Если игрок покинет подземелье с амулетом, мы покажем экран победы и также распечатаем некролог. Только одно (или ни одного) из этих условий может быть верно в любое время. Конечно, это ничтожная компенсация игроку за время, потраченное на игру, но мы надеемся, что реальной платой будет то наслаждение, которое игрок получил от игры.