From 06ea31d0d5c0bc4e7b6f07b26bd8163697e22eb7 Mon Sep 17 00:00:00 2001 From: Brian Gianforcaro Date: Mon, 7 Jun 2021 02:21:42 -0700 Subject: [PATCH] CatDog: Enhance the speech bubble artificial intelligence Enable cat dog to greet you, and help you with yak shave sessions. --- Userland/Demos/CatDog/SpeechBubble.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Userland/Demos/CatDog/SpeechBubble.cpp b/Userland/Demos/CatDog/SpeechBubble.cpp index 4ce092d22e..dbe87372b6 100644 --- a/Userland/Demos/CatDog/SpeechBubble.cpp +++ b/Userland/Demos/CatDog/SpeechBubble.cpp @@ -5,9 +5,18 @@ */ #include "SpeechBubble.h" +#include +#include +#include #include #include +static Array messages = { + "It looks like you're trying to debug\na program. Would you like some help?"sv, + "It looks like you're trying to shave\na yak. Would you like some help?"sv, + "Well Hello Friend!"sv, +}; + void SpeechBubble::paint_event(GUI::PaintEvent&) { GUI::Painter painter(*this); @@ -28,7 +37,8 @@ void SpeechBubble::paint_event(GUI::PaintEvent&) painter.draw_line(connector_top_left, Gfx::IntPoint { connector_bottom.x() - 1, connector_bottom.y() }, palette().active_window_border1()); painter.draw_line(connector_top_right, connector_bottom, palette().active_window_border1()); - painter.draw_text(text_area, "It looks like you're trying to debug\na program. Would you like some help?", Gfx::TextAlignment::Center); + auto message = messages[get_random() % messages.size()]; + painter.draw_text(text_area, message, Gfx::TextAlignment::Center); } void SpeechBubble::mousedown_event(GUI::MouseEvent& event)