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

Материал из Клуб любителей рогаликов
Перейти к: навигация, поиск
(Новая страница: «center Возможны только два финальные события для игроков в …»)
 
 
(не показаны 2 промежуточные версии этого же участника)
Строка 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'''
...
+
  ...
  Loop Until done = TRUE
+
    Loop Until done = TRUE
EndIf
+
  EndIf
ClearKeys
+
  ClearKeys
'Отображаем сообщение о смерти.
+
  'Отображаем сообщение о смерти.
If isdead = TRUE Then
+
  If isdead = TRUE Then
  DrawBackground char_dead()
+
    DrawBackground char_dead()
  ckey = pchar.CharName & " has died in the depths of the dungeon."
+
    ckey = pchar.CharName & " has died in the depths of the dungeon."
  PutTextShadow ckey, 20, (txcols / 2) - (Len(ckey) / 2)
+
    PutTextShadow ckey, 20, (txcols / 2) - (Len(ckey) / 2)
  ckey = "Rest in peace valiant warrior!"
+
    ckey = "Rest in peace valiant warrior!"
  PutTextShadow ckey, 22, (txcols / 2) - (Len(ckey) / 2)
+
    PutTextShadow ckey, 22, (txcols / 2) - (Len(ckey) / 2)
  Sleep
+
    Sleep
  ClearKeys
+
    ClearKeys
  'Создаем файл некролога.
+
    'Создаем файл некролога.
  PrintMorgueFile didwin
+
    PrintMorgueFile didwin
EndIf
+
  EndIf
'Отображаем экран победы.
+
  'Отображаем экран победы.
If didwin = TRUE Then
+
  If didwin = TRUE Then
  DrawBackground char_win()
+
    DrawBackground char_win()
  ckey = pchar.CharName & " has escaped the dungeon with the Amulet!"
+
    ckey = pchar.CharName & " has escaped the dungeon with the Amulet!"
  PutTextShadow ckey, 12, (txcols / 2) - (Len(ckey) / 2)
+
    PutTextShadow ckey, 12, (txcols / 2) - (Len(ckey) / 2)
  ckey = "The Kingdom will be saved! Long live King " & pchar.CharName & "!"
+
    ckey = "The Kingdom will be saved! Long live King " & pchar.CharName & "!"
  PutTextShadow ckey, 14, (txcols / 2) - (Len(ckey) / 2)
+
    PutTextShadow ckey, 14, (txcols / 2) - (Len(ckey) / 2)
  ckey = "All Hail King " & pchar.CharName & "!"
+
    ckey = "All Hail King " & pchar.CharName & "!"
  PutTextShadow ckey, 16, (txcols / 2) - (Len(ckey) / 2)
+
    PutTextShadow ckey, 16, (txcols / 2) - (Len(ckey) / 2)
  Sleep
+
    Sleep
  ClearKeys
+
    ClearKeys
  'Создаем файл некролога.
+
    'Создаем файл некролога.
  PrintMorgueFile didwin
+
    PrintMorgueFile didwin
EndIf
+
  EndIf
  
Если игрок погибнет, флажок isdead будет установлен и мы покажем экран смерти и распечатаем файл некролога. Если игрок покинет подземелье с амулетом, мы покажем экран победы и также распечатаем некролог. Только одно (или ни одного) из этих условий может быть верно в любое время. Конечно, это ничтожная компенсация игроку за время, потраченное на игру, но мы надеемя, что реальной платой будет то наслаждение, которое игрок получил от игры.
+
Если игрок погибнет, флажок isdead будет установлен и мы покажем экран смерти, а затем распечатаем файл некролога. Если игрок покинет подземелье с амулетом, мы покажем экран победы и также распечатаем некролог. Только одно (или ни одного) из этих условий может быть верно в любое время. Конечно, это ничтожная компенсация игроку за время, потраченное на игру, но мы надеемся, что реальной платой будет то наслаждение, которое игрок получил от игры.

Текущая версия на 17:23, 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 будет установлен и мы покажем экран смерти, а затем распечатаем файл некролога. Если игрок покинет подземелье с амулетом, мы покажем экран победы и также распечатаем некролог. Только одно (или ни одного) из этих условий может быть верно в любое время. Конечно, это ничтожная компенсация игроку за время, потраченное на игру, но мы надеемся, что реальной платой будет то наслаждение, которое игрок получил от игры.