我是一名初级 C++ 程序员,我正在制作一个蛇游戏,并且我正在尝试使用 SFML 库。我想制作我的 Snake 控制台应用程序,但我想将分数显示到 SFML 窗口。不仅如此,即使我整晚都在寻找解决方案,我也不知道如何将分数显示到窗口。另外,我的 SFML 窗口一直没有响应。
\n\n我用以下代码渲染了窗口:
\n\nsf::RenderWindow window(sf::VideoMode(200, 75), "Score");\n\n\nsf::Font font;\nif (!font.loadFromFile("font.tff"))\n cout << "ERROR LOADING FONT" << endl;\nsf::Text text;\ntext.setFont(font);\ntext.setString("hello");\n// sf::String scoredis;\n\nwhile (window.isOpen()) {\n\n sf::Event event;\n while (window.pollEvent(event))\n {\n if (event.type == sf::Event::Closed)\n window.close();\n }\nRun Code Online (Sandbox Code Playgroud)\n\n然后我尝试在游戏循环内显示分数:
\n\ndo{ \n ...\n window.clear();\n window.draw(text);\n window.display();\n ...\n}while()\nRun Code Online (Sandbox Code Playgroud)\n\nmain() 内的完整代码:
\n\n{\nShowConsoleCursor(false);//nastavimo da ne kaze kurzorja\n //Nalozimo zvok ki ga bomo predvajali ko pojemo sadez\n\nsf::SoundBuffer buffer;\nif (!buffer.loadFromFile("sound.wav"))//v buffer vstavimo zvok\n{\n cout << "ERROR LOADING …Run Code Online (Sandbox Code Playgroud) 我在 docker 中运行 Kafka,并且有一个 .NET 应用程序,我想用它来消费消息。我遵循了以下教程,但没有运气:
https://www.confluence.io/blog/kafka-client-cannot-connect-to-broker-on-aws-on-docker-etc/
连接到在 Docker 中运行的 Kafka
从 docker 主机外部与 kafka docker 容器交互
在我的消费者应用程序上,如果我尝试直接连接到容器 ip,则会收到以下错误:
172.21.0.3:9092/bootstrap: Connect to ipv4#172.21.0.3:9092 failed: Unknown error (after 21502ms in state CONNECT)
Error: 1/1 brokers are down %3|1620652406.633|FAIL|rdkafka#consumer-1| [thrd:172.21.0.3:9092/bootstrap]: 172.21.0.3:9092/bootstrap: Connect to ipv4#172.21.0.3:9092 failed: Unknown error (after 21037ms in state CONNECT, 1 identical error(s) suppressed)
Error: 172.21.0.3:9092/bootstrap: Connect to ipv4#172.21.0.3:9092 failed: Unknown error (after 21037ms in state CONNECT, 1 identical error(s) suppressed)
Run Code Online (Sandbox Code Playgroud)
如果我将 BootstrapServers 更改为 kafka:9092 我会收到此错误:
Error: kafka:9092/bootstrap: Failed to …Run Code Online (Sandbox Code Playgroud) 我将 Mapster 与 DI 结合使用,并尝试映射从 WS 收到的对象。我正在遵循本指南https://github.com/MapsterMapper/Mapster/wiki/Dependency-Injection#mapping
我注册了TypeAdapterConfig和ServiceMapper
var config = new TypeAdapterConfig();
services.AddSingleton(config);
services.AddScoped<IMapper, ServiceMapper>();
Run Code Online (Sandbox Code Playgroud)
黑名单类包含卡片集合,但 Web 服务返回长数组,我将其重新映射到对象。
public class BlacklistMapper : IRegister
{
void IRegister.Register(TypeAdapterConfig config)
{
config.NewConfig<long, Internal.BlacklistCard>()
.Map(dest => dest.Cuid, source => source);
config.NewConfig<SzWebService.BlackList, Internal.Blacklist>()
.Map(dest => dest.Id, source => source.iBlacklistId)
.Map(dest => dest.Crc, source => source.iBlackListCRC)
.Map(dest => dest.Cards, source => source.lCuid);
}
}
Run Code Online (Sandbox Code Playgroud)
在构造函数中注入映射器
private readonly IMapper _mapper;
public Service(IMapper mapper)
{
_logger = logger;
}
Run Code Online (Sandbox Code Playgroud)
最后像这样称呼它
_mapper.Map<Blacklist>(response.mBlackListData)
Run Code Online (Sandbox Code Playgroud)
结果始终是具有默认值的对象