标签: pdcurses

在Windows7上的Python 3.4中,curses需要什么?

我在Windows 7(x64)计算机上安装了Python 2.7/3.4.我想在Windows上测试curses.

Curses已安装但无法正常工作:

>>> import curses
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Tools\Python3.4.2\lib\curses\__init__.py", line 13, in <module>
    from _curses import *
ImportError: No module named '_curses'
Run Code Online (Sandbox Code Playgroud)

文件说:

Windows版本的Python不包含curses模块.可以使用名为UniCurses的移植版本.

因此,Python 3.4的Windows安装程序安装了具有未解析依赖项的curses.有人可以说这是一个错误......

好的,我调查了UniCurses.它是PDCurses的包装器:

UniCurses是Python 2.x/3.x的包装器,它在所有平台(MS Windows,Linux和Mac OS X)上提供统一的Curses功能集,其语法接近原始NCurses的语法.为了在Microsoft Windows系统上提供Curses功能,它包装了PDCurses.

通过pip3导致错误安装UniCurses :

C:\Users\Paebbels>pip3 install UniCurses
Downloading/unpacking UniCurses
  Could not find any downloads that satisfy the requirement UniCurses
  Some externally hosted files were ignored (use …
Run Code Online (Sandbox Code Playgroud)

windows curses pdcurses python-3.x

37
推荐指数
3
解决办法
5万
查看次数

在Windows上诅咒PHP

是否有Windows等效的PHP ncurses?

我已经创建了一个CLI脚本,并希望以一种很好的方式显示各种统计信息(当前处理的记录,完成百分比等),而无需将负载和大量文本输出到cmd.exe窗口.

ncurses扩展在Windows上不起作用.

php windows command-line ncurses pdcurses

9
推荐指数
1
解决办法
1549
查看次数

curses库:为什么getch()清除我的屏幕?

我正在尝试使用C++学习curses库(pdcurses,因为我在Windows操作系统中).我有一个显示3个窗口的程序,然后是一个while循环,根据getch()捕获的按键进行一些处理.按下F1键时循环退出.

然而,尽管使用wrefresh()刷新所有三个窗口,但在我进入第一次按键之前没有任何内容出现.没有while循环,一切都显示正常.我做了很多测试,这就像第一次调用getch()将完全清除屏幕,而不是后续屏幕.

我的问题是:我错过了什么?起初,我在想,也许getch()调用了一个隐式的refresh(),但为什么后续调用它没有相同的行为呢?

非常感谢您的帮助.

这是代码.

#include <curses.h>

int main()
{
    initscr();
    raw();
    keypad(stdscr, TRUE);
    noecho();
    curs_set(0);

    WINDOW *wmap, *wlog, *wlegend;
    int pressed_key;
    int map_cursor_y = 10, map_cursor_x = 32;

    wlog = newwin(5, 65, 0, 15);
    wlegend = newwin(25, 15, 0, 0);
    wmap = newwin(20, 65, 5, 15);

    box(wmap, 0 , 0);
    box(wlog, 0 , 0);
    box(wlegend, 0 , 0);

    mvwprintw(wlog, 1, 1, "this is the log window");
    mvwprintw(wlegend, 1, 1, "legends");
    mvwaddch(wmap, map_cursor_y, map_cursor_x, '@');

    wrefresh(wlog);
    wrefresh(wmap);
    wrefresh(wlegend);

    while ((pressed_key …
Run Code Online (Sandbox Code Playgroud)

c++ curses getch pdcurses

7
推荐指数
2
解决办法
5238
查看次数

控制台界面教程和提示(pdcurses)

我正在寻找使用PDCurses库的教程.不幸的是,只有文本文档,更像是函数引用.pdcurses是否足够类似于ncurses使用ncurses教程??? 制作控制台UI的任何提示???

PS.PDCurses - mingw32.

curses console ncurses pdcurses

5
推荐指数
2
解决办法
1万
查看次数

神秘的heisenbug?

所以我正在制作一个带有传送和常用老鼠的蛇游戏.我有一个像这样运行的循环:

while(snake.alive() && miceEaten < micePerLevel)
{
    displayInfo(lives, score, level, micePerLevel - miceEaten);
    //some code
    if(miceEaten())
    {
        //update score...
    }
    //more stuff...
}
Run Code Online (Sandbox Code Playgroud)

上述代码的问题是displayInfo在得分更新之前调用,因此在吃完鼠标之后,用户必须等到循环再次运行才能看到他的分数更新.所以我将这一行代码移到了函数的底部:

while(snake.alive() && miceEaten < micePerLevel)
{
    //some code
    if(miceEaten())
    {
        //update score...
    }
    //more stuff...
    displayInfo(lives, score, level, micePerLevel - miceEaten);
}
Run Code Online (Sandbox Code Playgroud)

和传送停止工作!只要蛇到达传送,程序就会崩溃.并displayInfo使用以下代码:

stringstream s;
s << "LEVEL " << left << setw(12) << level << "LIVES: " << setw(12) << lives << "MICE LEFT: " << setw(12) << miceLeft
    << "SCORE: …
Run Code Online (Sandbox Code Playgroud)

c++ pdcurses

5
推荐指数
1
解决办法
840
查看次数

使用 Visual Studio 2010 的 pdcurses 链接

这让我很不爽。我只是想将pdcurses(即 Windows 的 ncurses)包含到测试程序中。联动虽然失败。

使用 Visual Studio 2010。

我完全知道设置正确的链接附加库路径并列出库本身。没有喜悦。

我已经在 pdcurses 网站上尝试了各种预构建。没有这样的运气。

我当然求助于从源头构建。按照规定从 Visual Studio 命令提示符使用 nmake。建好了。纳达在链接上。

我错过了什么。周五可能太晚了……

输出如下:

1>------ Build started: Project: test, Configuration: Debug x64 ------
1>Build started 14/12/2012 16:24:32.
1>InitializeBuildStatus:
1>  Touching "x64\Debug\test.unsuccessfulbuild".
1>ClCompile:
1>  main.c
1>C:\dep\pdcurses\curses.h(160): warning C4005: 'MOUSE_MOVED' : macro redefinition
1>          C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\wincon.h(101) : see previous definition of 'MOUSE_MOVED'
1>main.c(73): warning C4133: 'function' : incompatible types - from 'unsigned short [20]' to 'const char *'
1>ManifestResourceCompile:
1>  All …
Run Code Online (Sandbox Code Playgroud)

c curses visual-studio-2010 pdcurses

4
推荐指数
1
解决办法
2950
查看次数

在Visual Studio 2017上安装pdcurses

我在CodeBlocks上制作了一个2048游戏,但由于调试问题,我转到2017年的Visual Studio社区.看来conio.h在那里不起作用,所以我试图切换到curses.h库.

我已经阅读了很多教程,但没有一个能为我工作.我访问了他们的网站并下载了384KB的zip文件,但我不知道如何处理这些文件.

请帮忙?

curses pdcurses visual-studio-2017

4
推荐指数
1
解决办法
3972
查看次数

PDCurses 和 ncurses 是否具有相同的语法?

我正在 Linux 中使用 ncurses 构建游戏。

我可以将代码“复制/粘贴”到 Microsoft Visual Studio(正确设置 PDCurses)并且一切都会正常运行吗?

谢谢!

syntax ncurses pdcurses

4
推荐指数
1
解决办法
4256
查看次数

如何在Cmake中链接curses.h?

我知道也许这是一个愚蠢的问题,但我看不清楚,我在这里搜索了其他答案,这些答案非常接近我的,但是,我仍然不明白该怎么做.

问题是我无法编译在Windows中使用curses.h的'C'程序(我正在使用Clion和MinGW),当我尝试这样做时,它为curses.h中的函数提供了"未定义的引用" (例如'initscr','clear',......).

通过MinGW安装管理器我安装了"mingw-32-libpdcurses"(有两个可用的两个不同的类:dev和dll;我安装了dll一个).

我正在使用的CMAKE文件是这样的:

cmake_minimum_required(VERSION 3.3)
project(Project1)

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -lpdcurses")

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")

file(GLOB Project1_SRC
        "*.h"
        "*.c"
        )

add_executable(Project1 ${Project1_SRC})
Run Code Online (Sandbox Code Playgroud)

我应该更改它以便使用curses.h进行编译?

c windows cmake pdcurses undefined-reference

3
推荐指数
1
解决办法
3137
查看次数

[Cmake,PDCurses]:在Linux和Windows中都启用curses

我正在用C ++进行小型项目,并且正在使用curses作为用户界面。我可以很好地使其在我的arch-linux安装中工作,因为设置ncurses在这里工作非常简单。但是我的cmake设置在linux上运行良好,因此我无法使其在Windows上正常运行。

这是我的CMakeList.txt

cmake_minimum_required(VERSION 3.9)
project(fighting_pit)

find_package(Curses REQUIRED)
include_directories(${CURSES_INCLUDE_DIR})

set(CMAKE_CXX_STANDARD 11)

include_directories( ./include)
include_directories( ./src)
add_executable(fighting_pit
    include/Arena.h
    include/cursor.h
    include/Player.h
    include/spell.h
    include/Turns.h
    include/weapon.h
    include/Draw.h
    src/Arena.cpp
    src/cursor.cpp
    src/Player.cpp
    src/spell.cpp
    src/Turns.cpp
    src/weapon.cpp
    src/Draw.cpp
    main.cpp )

target_link_libraries(fighting_pit ${CURSES_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)

我尝试了几种方法使其也可以在Windows上运行。

1.下载源

我试图用mingw32-make构建pdcurses。它创建了pdcurses.a。我将其添加到与项目相同的位置,但它仍然显示无法找到curses库。

2.通过mingw32-get下载

我使用了mingw的安装管理器,并让它下载了.dll和libpdcurses的dev软件包。只是尝试通过cmion运行cmake仍未找到。所以我将其复制到Windows32和项目文件夹中,但仍然没有帮助。

我在寻找解决方案,但没有一个帮助

如您所见,我不知道该怎么办。不幸的是,我既不是C ++用户,也不是Windows用户,并且我开始非常绝望。

c++ windows cmake pdcurses mingw32

3
推荐指数
1
解决办法
787
查看次数