亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? textgfx.cpp

?? with vxworks we can develope a group of control software for industry.
?? CPP
字號:
/*    BladeMaster 2, a text, rougelike(kinda), arena combat simulation game.   Copyright (C) 2002 Blademaster 2 Team, see CREDITS   Clone of BladeMaster by Logicom, Inc. Copyright(C) 1990/1993   In no means affliated with the original Blademaster or the original   Blademaster creators/programmers.   This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2 of the License, or   (at your option) any later version.   This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.      You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA   Useful contact information:       Website: blademaster2.sourceforge.net       Project page: www.sf.net/projects/blademaster2/   Project Lead (see CREDITS for other members of the developement team)       E-Mail: ilswyn@users.sourceforge.net       AIM: ilswyn*//* *------------------------------------------------------*   |                textgfx.cpp textgfx.h                 |   |                                                      |   |       Output all the graphics (text) and menus.      |   | engine.cpp handles the auctual input to these menus  |   |                                                      |   *------------------------------------------------------* */#include <string>#include <ncurses.h>#include <unistd.h> // For sleep#include <stdlib.h> // need this for exit() - Sairax#include "menus.h"#include "arena.h"#include "items.h"#include "players.h" // Player classes, values for charsheet#include "shops.h"#include "globals.h" #include "textgfx.h" // *****************************************************************// NOTE: Standard terminal is 80x25                                *// NOTE: I am very repetative on borders, should be fixed later..  *// *****************************************************************// Main Menu (Before entering game)void draw_main_menu(){  attron(A_BOLD);  printw("*--= B L A D E M A S T E R II =--*\n\n"	 "- _ -  THE LEGACY CONTINUES  - _ -\n\n"	 "          Version 0.15            \n\n"	 "\t[P]lay\n"	 "\t[I]nstructions\n"	 "\t[B]ladeMasters\n"	 "\t[H]igh Scores\n"	 "\t[S]et Player Options\n"	 "\t[L]og of Battles\n\n"	 "Choose an option, or [Q]uit: ");  refresh();  attroff(A_BOLD);}// Check if terminal has color-capabilityvoid check_colors(){  if (!has_colors())    {      printw("Terminal does not support colors! Exiting!");      refresh();      sleep(3);      exit(1);    }}void draw_main_screen(){  // Screen is the whole screen, all subwins are in screen  screen = subwin(stdscr, 25, 80, 0, 0);  draw_charsheet(); // Draws window charsheet, displays char's info  draw_gamemenu(); // Draws the menu in-game (uses same space as the arena)  draw_outputmenu(); // Draws the bottom menu for output and options  draw_inventory(); // Inventory for items..}// ***********************************************************************//  Parts of the main screen, charsheet, gamemenu, outputmenu, inventory *// ***********************************************************************void draw_charsheet(){  charsheet = subwin(screen, 18, 30, 0, 0);  wbkgd(charsheet, COLOR_PAIR(1));  box(charsheet, ACS_VLINE, ACS_HLINE);  wattron(charsheet, COLOR_PAIR(2));  wattron(charsheet, A_BOLD);  mvwprintw(charsheet, 1, 2, "MELEE WEAPON:");  mvwprintw(charsheet, 2, 2, "RANGE WEAPON:");  mvwprintw(charsheet, 3, 2, "       ARMOR:");  mvwprintw(charsheet, 4, 2, " PROJECTILES:");  mvwprintw(charsheet, 5, 2, "      HEALTH:");  mvwprintw(charsheet, 6, 2, "  EXPERIENCE:");  mvwprintw(charsheet, 7, 2, "       LEVEL:");  mvwprintw(charsheet, 8, 2, "       SCORE:");  mvwprintw(charsheet, 9, 2, " GOLD ON YOU:");  mvwprintw(charsheet, 10, 2, "GOLD IN BANK:");  wattroff(charsheet, COLOR_PAIR(2));  wattron(charsheet, COLOR_PAIR(3));  mvwprintw(charsheet, 1, 16, "%s", ((HumanPlayer*)(arena_obj_list[0]))->getMelee()->getName().c_str());  mvwprintw(charsheet, 2, 16, "%s", ((HumanPlayer*)(arena_obj_list[0]))->getRange()->getName().c_str());  mvwprintw(charsheet, 3, 16, "%s", ((HumanPlayer*)(arena_obj_list[0]))->getArmor()->getName().c_str());  mvwprintw(charsheet, 4, 16, "%d", ((HumanPlayer*)(arena_obj_list[0]))->getProjectiles());  mvwprintw(charsheet, 5, 16, "%d", ((HumanPlayer*)(arena_obj_list[0]))->getHealth());  mvwprintw(charsheet, 6, 16, "%d", ((HumanPlayer*)(arena_obj_list[0]))->getExp());  mvwprintw(charsheet, 7, 16, "%d", ((HumanPlayer*)(arena_obj_list[0]))->getLevel());  mvwprintw(charsheet, 8, 16, "%d", ((HumanPlayer*)(arena_obj_list[0]))->getScore());  mvwprintw(charsheet, 9, 16, "%d", ((HumanPlayer*)(arena_obj_list[0]))->getGoldInHand());  mvwprintw(charsheet, 10, 16, "%d", ((HumanPlayer*)(arena_obj_list[0]))->getGoldInBank());  wattroff(charsheet, COLOR_PAIR(3));  wattroff(charsheet, A_BOLD);  wrefresh(charsheet);}void draw_gamemenu(){  // Using future arena space for this menu  arena = subwin(screen, 17, 50, 0, 30);  whereis = 1; // Player at main screen w/o being in arena..  wbkgd(arena, COLOR_PAIR(4));  wrefresh(arena);}void draw_outputmenu(){  outputm = subwin(screen, 8, 30, 17, 0);  wbkgd(outputm, COLOR_PAIR(1));  wborder(outputm, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE,	  '*', '*', '*', '*');  wattron(outputm, A_BOLD);  mvwprintw(outputm, 1, 2, "[A]");  mvwprintw(outputm, 2, 2, "[T]");  mvwprintw(outputm, 3, 2, "[W]");  mvwprintw(outputm, 4, 2, "[H]");  mvwprintw(outputm, 5, 2, "[B]");  mvwprintw(outputm, 6, 2, "[Q]");  wattroff(outputm, A_BOLD);  mvwprintw(outputm, 1, 5, "rena");  mvwprintw(outputm, 2, 5, "avern");  mvwprintw(outputm, 3, 5, "eapons & Armor Shop");  mvwprintw(outputm, 4, 5, "ealer");  mvwprintw(outputm, 5, 5, "ank");  mvwprintw(outputm, 6, 5, "uit");  wrefresh(outputm);}void draw_inventory(){  inventory = subwin(screen, 8, 51, 17, 29);  wbkgd(inventory, COLOR_PAIR(1));  wborder(inventory, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE,	  '*', ACS_URCORNER, '*', ACS_LRCORNER);  wattron(inventory, A_BOLD);  wattron(inventory, A_UNDERLINE);  mvwprintw(inventory, 1, 20, "Inventory");  wattroff(inventory, A_UNDERLINE);  wattroff(inventory, A_BOLD);  wrefresh(inventory);}// ***********************************************************// Main Option screens: arena, tavern, shop, healer, bank    *// ***********************************************************void draw_arena(){  wclear(inventory);  wclear(outputm);  wclear(arena);    draw_enemystats();  wborder(inventory, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE,	  '*', ACS_URCORNER, '*', ACS_LRCORNER);  wborder(outputm, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE,	  '*', '*', '*', '*'); // Redraw border since I cleared  wattron(outputm, A_BOLD);  mvwprintw(outputm, 1, 2, "[A]");  mvwprintw(outputm, 2, 2, "[F]");  mvwprintw(outputm, 3, 2, "[P]");  wattroff(outputm, A_BOLD);  mvwprintw(outputm, 1, 5, "ttack with melee weapon");  mvwprintw(outputm, 2, 5, "ire range weapon");  mvwprintw(outputm, 3, 5, "lead for mercy!");  wrefresh(outputm);    wattron(inventory, COLOR_PAIR(3));  wattron(inventory, A_BOLD);  mvwprintw(inventory, 1, 2, "BATTLE COMMAND:");  wattroff(inventory, COLOR_PAIR(3));  wattroff(inventory, A_BOLD);  wrefresh(inventory);  }// Screen shown when you kill your opponentvoid draw_victory(){  arena_obj_list[1]->setObjChar( '_' );  ((CompPlayer*)(arena_obj_list[1]))->draw();  wclear(inventory);  wattroff(inventory, A_BOLD);  wborder(inventory, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE,	  '*', ACS_URCORNER, '*', ACS_LRCORNER);  wattroff(inventory, COLOR_PAIR(3));  wattron(inventory, A_BOLD);  wattron(inventory, COLOR_PAIR(1));  mvwprintw(inventory, 1, 2, "*** YOU HAVE SLAIN YOUR OPPONENT ***");        wattroff(inventory, COLOR_PAIR(1));  wattron(inventory, COLOR_PAIR(3));  mvwprintw(inventory, 2, 2, "       You won X gold pieces.");  mvwprintw(inventory, 3, 2, "  You gained %d experience points.",	    ((CompPlayer*)(arena_obj_list[1]))->getExpValue());  mvwprintw(inventory, 4, 2, " Your score increased by Y points.");  wattroff(inventory, COLOR_PAIR(3));        wattron(inventory, COLOR_PAIR(2));    mvwprintw(inventory, 6, 2, "     Press any key to continue..");  wgetch(inventory);  wclear(inventory);  wattroff(inventory, COLOR_PAIR(2));  wattroff(inventory, A_BOLD);  wborder(inventory, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE,	  '*', ACS_URCORNER, '*', ACS_LRCORNER);}// Screen shown when you dievoid draw_loss(){  arena_obj_list[0]->setObjChar( '_' );  ((HumanPlayer*)(arena_obj_list[0]))->draw();  wclear(inventory);  wattroff(inventory, A_BOLD);  wborder(inventory, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE,	  '*', ACS_URCORNER, '*', ACS_LRCORNER);  wattroff(inventory, COLOR_PAIR(3));  wattron(inventory, A_BOLD);  wattron(inventory, COLOR_PAIR(1));  mvwprintw(inventory, 1, 2, "     *** YOU HAVE BEEN KILLED ***");        wattroff(inventory, COLOR_PAIR(1));        wattron(inventory, COLOR_PAIR(2));    mvwprintw(inventory, 6, 2, "     Press any key to continue..");  wgetch(inventory);  wclear(inventory);  wattroff(inventory, COLOR_PAIR(2));  wattroff(inventory, A_BOLD);  wborder(inventory, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE,	  '*', ACS_URCORNER, '*', ACS_LRCORNER);}// Enemies' hp, weapons etc.void draw_enemystats(){  estats = subwin(charsheet, 8, 30, 10, 0);  wborder(estats, ACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE,	  '*', '*', '*', '*');  wrefresh(estats);  wattron(estats, A_BOLD);  wattron(estats, COLOR_PAIR(5));  mvwprintw(estats, 1, 2, "       -- Enemy --");  mvwprintw(estats, 2, 2, "MELEE WEAPON:");  mvwprintw(estats, 3, 2, "RANGE WEAPON:");  mvwprintw(estats, 4, 2, "       ARMOR:");  mvwprintw(estats, 5, 2, "      HEALTH:");  mvwprintw(estats, 6, 2, "       LEVEL:");  wattroff(estats, COLOR_PAIR(5));    ArenaObject* nearest_comp;  nearest_comp = main_arena->get_nearest_type(arena_obj_list[0]->getObjPos(), COMP);   wattron(estats, COLOR_PAIR(1));  mvwprintw(estats, 2, 16, "%s", ((CompPlayer*)(nearest_comp))->getMelee()->getName().c_str());  //mvwprintw(estats, 3, 16, "%s", ((CompPlayer*)(nearest_comp))->getRange()->getName().c_str());  mvwprintw(estats, 4, 16, "%s", ((CompPlayer*)(nearest_comp))->getArmor()->getName().c_str());  mvwprintw(estats, 5, 16, "%d", ((CompPlayer*)(nearest_comp))->getHealth());  mvwprintw(estats, 6, 16, "%d", ((CompPlayer*)(nearest_comp))->getLevel());   wattroff(estats, COLOR_PAIR(1));  wattroff(estats, A_BOLD);  wrefresh(estats);}// Just using the space from the arena window for this stuff.void draw_tavern(){  wclear(arena);  whereis = 3; // Player at main screen and in tavern  wattron(arena, A_BOLD);  mvwprintw(arena, 1, 14, "Welcome to the Tavern!");  mvwprintw(arena, 2, 4, "[B]");  mvwprintw(arena, 3, 4, "[A]");  mvwprintw(arena, 4, 4, "[W]");  mvwprintw(arena, 5, 4, "[T]");  mvwprintw(arena, 7, 4, "[Q]");  wattroff(arena, A_BOLD);  mvwprintw(arena, 2, 7, "eer");  mvwprintw(arena, 3, 7, "le");  mvwprintw(arena, 4, 7, "hiskey");  mvwprintw(arena, 5, 7, "ip the bartender.");  mvwprintw(arena, 7, 7, "uit to the main screen.");  wrefresh(arena);}void draw_shop(){  wclear(arena);  whereis = 4; // Player is at main screen and in shop  wattron(arena, A_BOLD);  mvwprintw(arena, 1, 7, "Welcome to the Weapon and Armor Shop!");  mvwprintw(arena, 2, 4, "[M]");  mvwprintw(arena, 3, 4, "[R]");  mvwprintw(arena, 4, 4, "[P]");  mvwprintw(arena, 5, 4, "[A]");  mvwprintw(arena, 7, 4, "[Q]");  wattroff(arena, A_BOLD);  mvwprintw(arena, 2, 7, " Buy Melee Weapons");  mvwprintw(arena, 3, 7, " Buy Range Weapons");  mvwprintw(arena, 4, 7, " Buy Projectiles");  mvwprintw(arena, 5, 7, " Buy Armor");  mvwprintw(arena, 7, 7, "uit to the main screen.");  wrefresh(arena);}void draw_healer(){  wclear(arena);  whereis = 5; // Player is in main screen and in healers  wattron(arena, A_BOLD);  mvwprintw(arena, 1, 14, "Welcome to the Healers!");  mvwprintw(arena, 2, 4, "[A]");  mvwprintw(arena, 3, 4, "[S]");  mvwprintw(arena, 4, 4, "[P]");  mvwprintw(arena, 5, 4, "[D]");  mvwprintw(arena, 7, 4, "[Q]");  wattroff(arena, A_BOLD);  mvwprintw(arena, 2, 7, " Heal All Wounds...................%d", healer.getGoldToHeal());  mvwprintw(arena, 3, 7, " Heal Some Wounds..................%d", healer.getGoldPerHp());  mvwprintw(arena, 4, 7, " Neutralize Poison.................%d", healer.getGoldToCurePoison());  mvwprintw(arena, 5, 7, " Cure Disease......................%d", healer.getGoldToCureDisease());  mvwprintw(arena, 7, 7, "uit to the main screen.");  wrefresh(arena);}void draw_bank(){  wclear(arena);  whereis = 6; // Player is in main screen and in bank  wattron(arena, A_BOLD);  mvwprintw(arena, 1, 14, "Welcome to the Bank!");  mvwprintw(arena, 2, 4, "[D]");  mvwprintw(arena, 3, 4, "[W]");  mvwprintw(arena, 4, 4, "[S]");  mvwprintw(arena, 7, 4, "[Q]");  wattroff(arena, A_BOLD);  mvwprintw(arena, 2, 7, "eposit Gold In Bank");  mvwprintw(arena, 3, 7, "ithdrow Gold From Bank");  mvwprintw(arena, 4, 7, "torage");  mvwprintw(arena, 7, 7, "uit to the main screen.");  wrefresh(arena);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产传媒日韩欧美成人| 亚洲成人av一区二区三区| 欧美日韩视频在线一区二区| 懂色av中文一区二区三区| 国产一区二区在线影院| 国产一区二区三区国产| 成人一区二区三区在线观看| 国产伦理精品不卡| 国产成人一区二区精品非洲| 夫妻av一区二区| 97久久精品人人做人人爽| 99在线精品视频| 91国在线观看| 91.com视频| 久久五月婷婷丁香社区| 2023国产一二三区日本精品2022| 国产偷国产偷亚洲高清人白洁| 国产日韩av一区| 国产精品超碰97尤物18| 亚洲成人中文在线| 久久精品国产亚洲a| 国产91精品精华液一区二区三区| 91香蕉视频污在线| 欧美丰满美乳xxx高潮www| 精品国产污污免费网站入口 | 国精产品一区一区三区mba桃花| 麻豆精品在线播放| 国产成人av一区二区三区在线| 成人视屏免费看| 欧美日韩一区不卡| 日韩欧美一级精品久久| 国产精品电影一区二区| 亚洲大片免费看| 国产成人午夜精品影院观看视频| 色狠狠色噜噜噜综合网| 精品国产成人系列| 亚洲女同女同女同女同女同69| 丝袜诱惑亚洲看片| 丁香婷婷综合五月| 欧美一级搡bbbb搡bbbb| 日韩码欧中文字| 精品亚洲欧美一区| 在线观看日韩电影| 亚洲一线二线三线视频| 国产成人在线观看免费网站| 欧美性感一区二区三区| 国产欧美一区二区精品婷婷 | 久久综合丝袜日本网| 亚洲视频资源在线| 国产一区二区电影| 67194成人在线观看| 亚洲女同ⅹxx女同tv| 国产一区二区三区久久悠悠色av | 免费在线观看一区| 91香蕉视频mp4| 久久你懂得1024| 日本不卡1234视频| 欧美色爱综合网| 亚洲视频狠狠干| 国产乱淫av一区二区三区| 日韩一区二区电影| 午夜精品久久久久久久久 | 亚洲精品一卡二卡| 国产69精品久久777的优势| 精品裸体舞一区二区三区| 日韩国产欧美视频| 欧美裸体bbwbbwbbw| 亚洲一区二区3| 91黄色免费观看| 亚洲乱码国产乱码精品精98午夜| 成人免费av网站| 国产精品欧美经典| 99久久久无码国产精品| 国产精品久久久久久久久搜平片 | 久久精品在线观看| 94色蜜桃网一区二区三区| 久久精品一级爱片| 国产成人午夜片在线观看高清观看 | 美国一区二区三区在线播放| 欧美色图第一页| 丝袜国产日韩另类美女| 日韩一级大片在线观看| 麻豆成人久久精品二区三区红 | 精品国精品自拍自在线| 蜜桃视频一区二区三区在线观看| 日韩午夜精品视频| 蜜桃视频一区二区三区| 久久亚洲精品小早川怜子| 国产成人综合视频| 亚洲欧洲av在线| 在线一区二区三区四区五区| 亚洲人吸女人奶水| 在线观看日韩高清av| 日韩成人免费电影| 精品国产乱码久久久久久久久| 国内精品国产成人国产三级粉色| 精品久久久久久久一区二区蜜臀| 国产一区二区毛片| 国产日产亚洲精品系列| 91热门视频在线观看| 一区二区三区四区激情| 在线播放91灌醉迷j高跟美女 | 国产精品538一区二区在线| 国产欧美日产一区| 欧美在线播放高清精品| 精东粉嫩av免费一区二区三区| 国产欧美1区2区3区| 欧美性猛交xxxx黑人交| 91女人视频在线观看| 日韩激情中文字幕| 中日韩免费视频中文字幕| 欧美日韩dvd在线观看| 国产一区二区在线影院| 亚洲一区二区在线播放相泽| 精品国产一二三| 欧美体内she精高潮| 国产v综合v亚洲欧| 日韩国产精品91| 中文字幕一区av| 精品国产91九色蝌蚪| 日本道精品一区二区三区| 精品亚洲成a人| 亚洲国产日韩a在线播放| 国产欧美一区二区精品性色超碰 | 国产美女在线精品| 一区二区三区在线视频观看 | 99精品欧美一区二区蜜桃免费| 亚洲成人精品一区二区| 国产精品女主播av| 精品国产亚洲在线| 欧美精品一卡二卡| 色悠悠亚洲一区二区| 国产成人av电影在线| 日韩精品五月天| 亚洲一区av在线| 亚洲你懂的在线视频| 国产精品免费视频网站| 久久免费精品国产久精品久久久久| 色婷婷久久久综合中文字幕| 国产不卡在线视频| 黄页视频在线91| 日本一道高清亚洲日美韩| 亚洲综合清纯丝袜自拍| 国产精品福利电影一区二区三区四区 | 欧美一区二区性放荡片| 在线观看视频一区| 在线观看91精品国产入口| 99riav久久精品riav| 成人性色生活片| 成人在线视频首页| 国产91丝袜在线观看| 国产精品综合一区二区| 国精品**一区二区三区在线蜜桃| 久久国产精品72免费观看| 日本午夜精品一区二区三区电影 | 日韩午夜电影av| 日韩你懂的电影在线观看| 欧美一级午夜免费电影| 日韩欧美在线1卡| 欧美精品一区二| 久久久午夜精品理论片中文字幕| 精品久久久久99| 久久精品视频免费观看| 日本一区二区动态图| 中文字幕乱码日本亚洲一区二区| 国产色产综合色产在线视频| 国产欧美日韩卡一| 亚洲视频狠狠干| 午夜伦欧美伦电影理论片| 免费欧美在线视频| 国产乱码一区二区三区| 99这里只有久久精品视频| 在线精品视频一区二区三四| 9191成人精品久久| 久久九九影视网| 中文字幕一区二区三区不卡| 亚洲另类春色校园小说| 日韩av一区二区三区四区| 精品一区二区三区在线观看国产| 国产一区二区三区黄视频| 91网上在线视频| 制服丝袜国产精品| 国产精品色哟哟| 亚洲国产aⅴ天堂久久| 国内精品在线播放| 色悠悠亚洲一区二区| 91精品国产综合久久久久久漫画| 久久嫩草精品久久久精品一| 亚洲激情第一区| 国产伦精品一区二区三区在线观看| 成人18视频日本| 91精品国产一区二区三区蜜臀| 国产日韩欧美一区二区三区综合| 亚洲卡通欧美制服中文| 麻豆精品视频在线观看免费| 97精品国产露脸对白| 精品欧美黑人一区二区三区| 一区二区三区蜜桃网| 国产一区二区三区黄视频 | 亚洲国产成人自拍|