I have decided to continue a little more with my Latin theme. I added extra hints and double lives since many would have a difficult time guessing even the most basic parts of the word right. I also commented out some of my returns on my word checks so that if there are multiple errors, all of them will now be displayed.
I am thinking of changing my “Lives” so to display numerals rather than numbers. I have an idea or two I think I may try when I reach the end of this section. Only 4 videos and 3 lessons left. Tempus fugit.
For the challenge I ended up doing what the instructor had first done: I reached back toward my IsIsogram code. Of course the issue here is we want to check every character against the other characters, including the first character, against the characters of the hidden word. But it did show that I needed an if statement in my for-statement, with similar conditions, save the +1.
Here is my code:
#include "BullCowCartridge.h"
//include "HiddenWordList.h"
#include "LatinWordList.h"
//#include "Math/UnrealMathUtility.h"
void UBullCowCartridge::BeginPlay() // When the game starts
{
Super::BeginPlay();
Isograms = GetValidWords(Verba);
SetupGame();
}
void UBullCowCartridge::OnInput(const FString& PlayerInput) // When the player hits enter
{
if (bGameOver == true)// do not need to add "==true", but it helps with self-documenting
{
ClearScreen();
SetupGame();
return;
// Quit Game?
}
else // Check Player guess
{
ProcessGuess(PlayerInput);
return;
}
}
void UBullCowCartridge::SetupGame()
{
// Welcomeing The Player
PrintLine(TEXT("Salve! Welcome to TaurusBos!"));
PrintLine(TEXT("Guess the %i letter word!"), HiddenWord.Len());
PrintLine(TEXT("The most common Latin letter endings in this list are:"));
PrintLine(TEXT("a, o, e, i, t, r, m, s. "));
PrintLine(TEXT("you have %i lives."), Lives);
HiddenWord = Isograms[FMath::RandRange(0, Isograms.Num() -1)];//A TArray that calls up the elements randomly using FMath::RandRange, which calls the elements from 0 to amount of valid number of words
Lives = HiddenWord.Len() * 2;
bGameOver = false;
PrintLine(TEXT("The Hidden word is: %s."), *HiddenWord);// debug line
// *= de-reference
PrintLine(TEXT("Type in your guess and \npress enter to moove on..."));
}
void UBullCowCartridge::EndGame()
{
bGameOver = true;
PrintLine(TEXT("\nPress Enter to play again..."));
}
void UBullCowCartridge::ProcessGuess(const FString& Guess)
{
if (Guess == HiddenWord)
{
ClearScreen();
PrintLine(TEXT("Veni, Vidi, Vici! \n You Win!"));
EndGame();
return;
}
PrintLine(TEXT("You lost a Life!"));
--Lives;
if (Guess.Len() != HiddenWord.Len())
{
PrintLine(TEXT("The hidden word is %i letters long."), HiddenWord.Len());
// return; -- I want all clues available
}
if (!IsIsogram(Guess))
{
PrintLine(TEXT("You have repeating letters, guess again!"));
// return;
}
if (Lives <= 0)
{
ClearScreen();
PrintLine(TEXT("You have no lives left!"));
PrintLine(TEXT("The hidden word was: %s."), *HiddenWord);
EndGame();
// return;
}
// Show the player BUlls and Cows
int32 Taurus, Bos;
GetTaurusBos(Guess, Taurus, Bos);
PrintLine(TEXT("You have %i Taurus and %i and Bos"), Taurus, Bos);
PrintLine(TEXT("Guess again, you have %i lives left."), Lives);
// Check User PlayerInput
// Play Again or Quit?
}
bool UBullCowCartridge::IsIsogram(const FString& Word) const
{
// Instructors Code
for (int32 Index = 0; Index < Word.Len(); Index++)
{
for (int32 Comparison = Index + 1; Comparison < Word.Len(); Comparison++)
{
if (Word[Index] == Word[Comparison])
{
return false;
}
}
}
return true;
}
TArray<FString> UBullCowCartridge::GetValidWords(const TArray<FString>& WordList) const
{
TArray<FString> ValidWords; //Making the empty storage unit: the variable.
for (const FString& Word : WordList )
{
if (Word.Len() >= 3 && Word.Len() <= 8 && IsIsogram(Word) )//Checks specific word
{
ValidWords.Emplace(Word);
}
}
return ValidWords;
}
void UBullCowCartridge::GetTaurusBos(const FString& Guess, int32& TaurusCount, int32& BosCount) const
{
TaurusCount = 0;
BosCount = 0;
// For every index Guess is the same as Index of the HiddenWord, BullCount++
//If not a bull, was it a cow? If yes, CowCount++
for (int32 GuessIndex = 0; GuessIndex < Guess.Len(); GuessIndex++)
{
if (Guess[GuessIndex] == HiddenWord[GuessIndex])
{
TaurusCount++;
continue;
}
for (int32 HiddenIndex = 0; HiddenIndex < HiddenWord.Len(); HiddenIndex++)
{
if (Guess[GuessIndex] == HiddenWord[HiddenIndex])
{
BosCount++;
}
}
}
return;
}
Here is the Latin List:
#pragma once
#include "CoreMinimal.h"
//ForLatin
const TArray<FString> Verba =
{
TEXT("ut"),
TEXT("sum"),
TEXT("eius"),
TEXT("quod"),
TEXT("ipse"),
TEXT("fuit"),
TEXT("nam"),
TEXT("in"),
TEXT("sunt"),
TEXT("cum"),
TEXT("illi"),
TEXT("esse"),
TEXT("at"),
TEXT("unum"),
TEXT("habent"),
TEXT("hoc"),
TEXT("de"),
TEXT("calidum"),
TEXT("verbo"),
TEXT("sed"),
TEXT("quod"),
TEXT("aliqua"),
TEXT("est"),
TEXT("quod"),
TEXT("vos"),
TEXT("vel"),
TEXT("quod"),
TEXT("in"),
TEXT("de"),
TEXT("ut"),
TEXT("et"),
TEXT("a")
TEXT("in"),
TEXT("nos"),
TEXT("potest"),
TEXT("ex"),
TEXT("alia"),
TEXT("erant"),
TEXT("quibus"),
TEXT("facite"),
TEXT("eorum"),
TEXT("tempore"),
TEXT("si"),
TEXT("voluntas"),
TEXT("quam"),
TEXT("Dixitque"),
TEXT("an"),
TEXT("quisque"),
TEXT("indica"),
TEXT("quod"),
TEXT("set"),
TEXT("tribus"),
TEXT("volo"),
TEXT("aer"),
TEXT("etiam"),
TEXT("etiam"),
TEXT("fabula"),
TEXT("parva"),
TEXT("finem"),
TEXT("posuit"),
TEXT("domum"),
TEXT("lego"),
TEXT("manibus"),
TEXT("portus"),
TEXT("magna"),
TEXT("eamque"),
TEXT("addunt"),
TEXT("etiam"),
TEXT("terra"),
TEXT("hic"),
TEXT("necesse"),
TEXT("magnum"),
TEXT("princeps"),
TEXT("talis"),
TEXT("sequitur"),
TEXT("actum"),
TEXT("quid"),
TEXT("quaeris"),
TEXT("homines"),
TEXT("mutatio"),
TEXT("abiit"),
TEXT("lucem"),
TEXT("quaedam"),
TEXT("domus"),
TEXT("ipsum"),
TEXT("tentant"),
TEXT("nos"),
TEXT("rursus"),
TEXT("pecus"),
TEXT("punctum"),
TEXT("mater"),
TEXT("orbis"),
TEXT("prope"),
TEXT("aedificabis"),
TEXT("ipsum"),
TEXT("terra"),
TEXT("pater"),
TEXT("aliqua"),
TEXT("novum"),
TEXT("opus"),
TEXT("pars"),
TEXT("accipe"),
TEXT("adepto"),
TEXT("factum"),
TEXT("vivo"),
TEXT("ubi"),
TEXT("postquam"),
TEXT("rursus"),
TEXT("parum"),
TEXT("nisi"),
TEXT("per"),
TEXT("hominis"),
TEXT("anno"),
TEXT("factum"),
TEXT("ostende"),
TEXT("omnis"),
TEXT("bonum"),
TEXT("me"),
TEXT("dabit"),
TEXT("nostrum"),
TEXT("sub"),
TEXT("nomen"),
TEXT("ipsum"),
TEXT("per"),
TEXT("iustus"),
TEXT("forma"),
TEXT("sententia"),
TEXT("magna"),
TEXT("puto"),
TEXT("dicunt"),
TEXT("adiuva"),
TEXT("humilis"),
TEXT("differunt"),
TEXT("vicissim"),
TEXT("causa"),
TEXT("tantum"),
TEXT("significant"),
TEXT("antequam"),
TEXT("movemur"),
TEXT("ius"),
TEXT("puer"),
TEXT("Vetus"),
TEXT("etiam"),
TEXT("idem"),
TEXT("quae"),
TEXT("omnes"),
TEXT("ibi"),
TEXT("cum"),
TEXT("ascendit"),
TEXT("usus"),
TEXT("tuus"),
TEXT("modo"),
TEXT("de"),
TEXT("multis"),
TEXT("tunc"),
TEXT("eorum"),
TEXT("scribo"),
TEXT("utinam"),
TEXT("sicut"),
TEXT("ita"),
TEXT("haec"),
TEXT("eius"),
TEXT("longis"),
TEXT("fac"),
TEXT("aliquid"),
TEXT("video"),
TEXT("eo"),
TEXT("duobus"),
TEXT("habet"),
TEXT("respice"),
TEXT("die"),
TEXT("potuit"),
TEXT("vade"),
TEXT("venit"),
TEXT("Feceruntque"),
TEXT("numerus"),
TEXT("tuba"),
TEXT("canerent"),
TEXT("nulla"),
TEXT("maxime"),
TEXT("populus"),
TEXT("mea"),
TEXT("supra"),
TEXT("scitis"),
TEXT("aquam"),
TEXT("quam"),
TEXT("call"),
TEXT("prima"),
TEXT("qui"),
TEXT("ut"),
TEXT("descendit"),
TEXT("latere"),
TEXT("fuit"),
TEXT("nunc"),
TEXT("invenies"),
TEXT("caput"),
TEXT("stant"),
TEXT("ipse"),
TEXT("page"),
TEXT("ut"),
TEXT("patriae"),
TEXT("invenit"),
TEXT("dicendum"),
TEXT("scholae"),
TEXT("crescat"),
TEXT("studiorum"),
TEXT("etiam"),
TEXT("discant"),
TEXT("herba"),
TEXT("Cover"),
TEXT("cibum"),
TEXT("solis"),
TEXT("quatuor"),
TEXT("inter"),
TEXT("status"),
TEXT("custodi"),
TEXT("oculus"),
TEXT("numquam"),
TEXT("novissime"),
TEXT("dimitte"),
TEXT("cogitavit"),
TEXT("urbem"),
TEXT("lignum"),
TEXT("transire"),
TEXT("fundum"),
TEXT("difficile"),
TEXT("initium"),
TEXT("ut"),
TEXT("fabula"),
TEXT("Viderunt omnes"),
TEXT("tantum"),
TEXT("mare"),
TEXT("hauriret"),
TEXT("reliquit"),
TEXT("quondam"),
TEXT("currunt"),
TEXT("non"),
TEXT("cum"),
TEXT("turba"),
TEXT("proxime"),
TEXT("noctis"),
TEXT("ipsum"),
TEXT("vita"),
TEXT("pauci"),
TEXT("aquilonem"),
TEXT("liber"),
TEXT("ferte"),
TEXT("tulit"),
TEXT("scientia"),
TEXT("manducare"),
TEXT("locus"),
TEXT("amicitia"),
TEXT("coeperunt"),
TEXT("idea"),
TEXT("pisces"),
TEXT("montem"),
TEXT("subsisto"),
TEXT("quondam"),
TEXT("basi"),
TEXT("audite"),
TEXT("equo"),
TEXT("sectis"),
TEXT("certus"),
TEXT("vigilate"),
TEXT("colorem"),
TEXT("faciem"),
TEXT("lignum"),
TEXT("aperi"),
TEXT("videtur"),
TEXT("simul"),
TEXT("postero"),
TEXT("album"),
TEXT("filii"),
TEXT("incipe"),
TEXT("obtinuit"),
TEXT("ambulate"),
TEXT("exemplum"),
TEXT("relevare"),
TEXT("cartam"),
TEXT("semper"),
TEXT("musica"),
TEXT("eorum"),
TEXT("et"),
TEXT("caracterem"),
TEXT("saepe"),
TEXT("litteris"),
TEXT("usque"),
TEXT("mille passuum"),
TEXT("fluvio"),
TEXT("pedes"),
TEXT("cura"),
TEXT("secundo"),
TEXT("sufficit"),
TEXT("patet"),
TEXT("puella"),
TEXT("adulescens"),
TEXT("parata"),
TEXT("supra"),
TEXT("in perpetuum"),
TEXT("album"),
TEXT("tametsi"),
TEXT("sentio"),
TEXT("Disputatio"),
TEXT("avem"),
TEXT("mox"),
TEXT("corpus"),
TEXT("canem"),
TEXT("familia"),
TEXT("dirige"),
TEXT("aut statum"),
TEXT("relinquo"),
TEXT("canticum"),
TEXT("metiretur"),
TEXT("ostium"),
TEXT("Vestibulum"),
TEXT("nigrum"),
TEXT("breves"),
TEXT("numerales"),
TEXT("class"),
TEXT("spiritus"),
TEXT("quaestio"),
TEXT("fieri"),
TEXT("completum"),
TEXT("navem"),
TEXT("area"),
TEXT("dimidiam"),
TEXT("petrae"),
TEXT("ut"),
TEXT("ignis"),
TEXT("austri"),
TEXT("forsit"),
TEXT("frustrum"),
TEXT("nuntiavit"),
TEXT("cognovit"),
TEXT("factum"),
TEXT("cum"),
TEXT("omnis"),
TEXT("rex"),
TEXT("platea"),
TEXT("multiplicabo"),
TEXT("aliquid"),
TEXT("scilicet"),
TEXT("manete"),
TEXT("rotam"),
TEXT("pleni"),
TEXT("vi"),
TEXT("hyacintho"),
TEXT("obiectum"),
TEXT("decernere"),
TEXT("superficies"),
TEXT("abyssus"),
TEXT("lunam"),
TEXT("insulam"),
TEXT("pede"),
TEXT("ratio"),
TEXT("occupatus"),
TEXT("aliquam"),
TEXT("testimonium"),
TEXT("navicula"),
TEXT("commune"),
TEXT("aurum"),
TEXT("potest"),
TEXT("planum"),
TEXT("pro eo"),
TEXT("siccum"),
TEXT("admiramini"),
TEXT("rideat"),
TEXT("milia"),
TEXT("ago"),
TEXT("cucurrit"),
TEXT("reprehendo"),
TEXT("ludum"),
TEXT("figura"),
TEXT("aequat"),
TEXT("calidum"),
TEXT("requisierit"),
TEXT("adduxerunt"),
TEXT("calor"),
TEXT("nix"),
TEXT("piget"),
TEXT("adducet"),
TEXT("etiam"),
TEXT("distant"),
TEXT("imple"),
TEXT("orientem"),
TEXT("pingere"),
TEXT("lingua"),
TEXT("in"),
TEXT("unitas"),
TEXT("potestatem"),
TEXT("urbem"),
TEXT("Postremo"),
TEXT("quaedam"),
TEXT("fuge"),
TEXT("ceciderit"),
TEXT("ducit"),
TEXT("clamor"),
TEXT("obscuro"),
TEXT("apparatus"),
TEXT("exspecta"),
TEXT("consilium"),
TEXT("figura"),
TEXT("stella"),
TEXT("agro"),
TEXT("Reliqua"),
TEXT("recte"),
TEXT("potest"),
TEXT("libra"),
TEXT("factum"),
TEXT("pulchritudo"),
TEXT("coegi"),
TEXT("stetit"),
TEXT("continent"),
TEXT("ante"),
TEXT("docebit"),
TEXT("ultima"),
TEXT("deditque"),
TEXT("viridem"),
TEXT("acutus"),
TEXT("evolvere"),
TEXT("oceanus"),
TEXT("calidum"),
TEXT("absque"),
TEXT("minute"),
TEXT("confortare"),
TEXT("peculiarem"),
TEXT("animus"),
TEXT("retro"),
TEXT("patet"),
TEXT("caudae"),
TEXT("producere"),
TEXT("eo"),
TEXT("locus"),
TEXT("audivit"),
TEXT("optimum"),
TEXT("hora"),
TEXT("melius"),
TEXT("verum"),
TEXT("per"),
TEXT("centum"),
TEXT("quinque"),
TEXT("memores"),
TEXT("occasu"),
TEXT("terra"),
TEXT("attingere"),
TEXT("ieiunium"),
TEXT("verbo"),
TEXT("cantabo"),
TEXT("audite"),
TEXT("mensamque"),
TEXT("peregrinationes"),
TEXT("decem"),
TEXT("simplex"),
TEXT("plures"),
TEXT("vocali"),
TEXT("in"),
TEXT("bellum"),
TEXT("dormivitque"),
TEXT("contra"),
TEXT("exemplar"),
TEXT("tardus"),
TEXT("centrum"),
TEXT("amant"),
TEXT("aliquis"),
TEXT("pecuniam"),
TEXT("serviant"),
TEXT("appareant"),
TEXT("via"),
TEXT("tabula"),
TEXT("pluviae"),
TEXT("imperium"),
TEXT("regunt"),
TEXT("attrahendam"),
TEXT("frigus"),
TEXT("Observate"),
TEXT("vox"),
TEXT("navitas"),
TEXT("probabile"),
TEXT("cubili"),
TEXT("frater"),
TEXT("ovum"),
TEXT("Credere"),
TEXT("forsan"),
TEXT("colligunt"),
TEXT("repentino"),
TEXT("Numerabitis"),
TEXT("quadratum"),
TEXT("ideo"),
TEXT("longitudinis"),
TEXT("repraesentant"),
TEXT("subiectum"),
TEXT("regionem"),
TEXT("amplitudo"),
TEXT("habita"),
TEXT("dicere"),
TEXT("pondus"),
TEXT("generalis"),
TEXT("glaciem"),
TEXT("materia"),
TEXT("circulus"),
TEXT("par"),
TEXT("comprehendo"),
TEXT("divide"),
TEXT("syllabae"),
TEXT("sensi"),
TEXT("magnificum"),
TEXT("pila"),
TEXT("sed"),
TEXT("unda"),
TEXT("concrescunt"),
TEXT("cor"),
TEXT("sum"),
TEXT("praesens"),
TEXT("magna"),
TEXT("chorea"),
TEXT("locus"),
TEXT("brachium"),
TEXT("vela"),
TEXT("material"),
TEXT("fractionem"),
TEXT("saltus"),
TEXT("sedebitis"),
TEXT("generis"),
TEXT("fenestram"),
TEXT("aestas"),
TEXT("erant"),
TEXT("somnum"),
TEXT("probant"),
TEXT("agitur"),
TEXT("leg"),
TEXT("exercitium"),
TEXT("murum"),
TEXT("captiones"),
TEXT("montem"),
TEXT("volunt"),
TEXT("caelum"),
TEXT("tabulam"),
TEXT("gaudium"),
TEXT("scriptum"),
TEXT("fera"),
TEXT("instrumentum"),
TEXT("custodivit"),
TEXT("vitro"),
TEXT("faenum"),
TEXT("vitulus"),
TEXT("officium"),
TEXT("signum"),
TEXT("molli"),
TEXT("splendidum"),
TEXT("Vestibulum"),
TEXT("tempestas"),
TEXT("mense"),
TEXT("million"),
TEXT("ferre"),
TEXT("peroratum"),
TEXT("beati"),
TEXT("spero"),
TEXT("flos"),
TEXT("induere"),
TEXT("mirum"),
TEXT("abiit"),
TEXT("commercia"),
TEXT("melodiam"),
TEXT("trinus"),
TEXT("officium"),
TEXT("accipiet"),
TEXT("os"),
TEXT("exactam"),
TEXT("signum"),
TEXT("mortuus"),
TEXT("minimus"),
TEXT("angustia"),
TEXT("jubila"),
TEXT("nisi"),
TEXT("scripsit"),
TEXT("iungere"),
TEXT("suadeant"),
TEXT("mundi"),
TEXT("aspiret"),
TEXT("dominae"),
TEXT("navale"),
TEXT("surgere"),
TEXT("malum"),
TEXT("ictus"),
TEXT("olei"),
TEXT("sanguis"),
TEXT("tangerent"),
TEXT("crevit"),
TEXT("miscere"),
TEXT("bigas"),
TEXT("perierat"),
TEXT("brunneis"),
TEXT("induere"),
TEXT("hortum"),
TEXT("aequales"),
TEXT("misit"),
TEXT("elige"),
TEXT("cecidit"),
TEXT("apta"),
TEXT("influunt"),
TEXT("pulchrae"),
TEXT("ripam"),
TEXT("colligunt"),
TEXT("salvum"),
TEXT("imperium"),
TEXT("decimales"),
TEXT("aurem"),
TEXT("aliud"),
TEXT("prorsus"),
TEXT("fregit"),
TEXT("ita"),
TEXT("mediam"),
TEXT("occides"),
TEXT("filius"),
TEXT("stagnum"),
TEXT("momento"),
TEXT("statera"),
TEXT("magna"),
TEXT("ver"),
TEXT("observa"),
TEXT("puer"),
TEXT("rectas"),
TEXT("consonans"),
TEXT("gentem"),
TEXT("lac"),
TEXT("celeritate"),
TEXT("methodo"),
TEXT("organo"),
TEXT("redde"),
TEXT("saeculi"),
TEXT("section"),
TEXT("habitus"),
TEXT("nubes"),
TEXT("mirantique"),
TEXT("quietum"),
TEXT("lapis"),
TEXT("vegrandis"),
TEXT("ascenditur"),
TEXT("frigus"),
TEXT("consilium"),
TEXT("pauper"),
TEXT("multum"),
TEXT("experimento"),
TEXT("imo"),
TEXT("key"),
TEXT("ferrum"),
TEXT("una"),
TEXT("lignum"),
TEXT("flat"),
TEXT("viginti"),
TEXT("pelle"),
TEXT("risu"),
TEXT("rimula"),
TEXT("violet"),
TEXT("salire"),
TEXT("Praesent"),
TEXT("octo"),
TEXT("villa"),
TEXT("concurrunt"),
TEXT("radix"),
TEXT("emptum"),
TEXT("resuscitabo"),
TEXT("ferrum"),
TEXT("sive"),
TEXT("dis"),
TEXT("septem"),
TEXT("paragraph"),
TEXT("tertia"),
TEXT("numquid"),
TEXT("Posside"),
TEXT("capillum"),
TEXT("describere"),
TEXT("cocus"),
TEXT("pavimentum"),
TEXT("aut"),
TEXT("comburet"),
TEXT("tumulus"),
TEXT("salvum"),
TEXT("century"),
TEXT("considerate"),
TEXT("legem"),
TEXT("aliquam"),
TEXT("litore"),
TEXT("rescriptum"),
TEXT("silentium"),
TEXT("arenam"),
TEXT("solum"),
TEXT("volumen"),
TEXT("temperatus"),
TEXT("digitus"),
TEXT("industria"),
TEXT("value"),
TEXT("pugna"),
TEXT("mendacium"),
TEXT("percute"),
TEXT("excitant"),
TEXT("naturalis"),
TEXT("visum"),
TEXT("sensum"),
TEXT("capitale"),
TEXT("nolo"),
TEXT("cathedra"),
TEXT("periculum"),
TEXT("fructus"),
TEXT("dives"),
TEXT("densa"),
TEXT("miles"),
TEXT("aliquid"),
TEXT("operantur"),
TEXT("praxi"),
TEXT("separatum"),
TEXT("difficile"),
TEXT("medicus"),
TEXT("obsecro"),
TEXT("protegat"),
TEXT("meridies"),
TEXT("seges"),
TEXT("modern"),
TEXT("aliquid"),
TEXT("ictus"),
TEXT("discipulo"),
TEXT("anguli"),
TEXT("pars"),
TEXT("copia"),
TEXT("cuius"),
TEXT("locant"),
TEXT("orbis"),
TEXT("insect"),
TEXT("captus"),
TEXT("tempus"),
TEXT("indica"),
TEXT("radio"),
TEXT("Locutusque"),
TEXT("atom"),
TEXT("hominis"),
TEXT("rerum"),
TEXT("effectus"),
TEXT("electrica"),
TEXT("sperare"),
TEXT("osse"),
TEXT("cogitis"),
TEXT("imaginari"),
TEXT("praestare"),
TEXT("conveniunt"),
TEXT("ita"),
TEXT("mitis"),
TEXT("mulier"),
TEXT("dux"),
TEXT("Suspicor"),
TEXT("necesse"),
TEXT("acutum"),
TEXT("alae"),
TEXT("partum"),
TEXT("proximus"),
TEXT("lava"),
TEXT("Biblia"),
TEXT("potius"),
TEXT("turba"),
TEXT("frumentum"),
TEXT("compare"),
TEXT("nervo"),
TEXT("tintinnabulum"),
TEXT("cibum"),
TEXT("fricabis"),
TEXT("celebre"),
TEXT("pupa"),
TEXT("fluvius"),
TEXT("timore"),
TEXT("visum"),
TEXT("tenuis"),
TEXT("triangulo"),
TEXT("planeta"),
TEXT("festinate"),
TEXT("princeps"),
TEXT("coloniam"),
TEXT("horologium"),
TEXT("mea"),
TEXT("tatem"),
TEXT("intrant"),
TEXT("major"),
TEXT("recentes"),
TEXT("quaerere"),
TEXT("minor"),
TEXT("mitto"),
TEXT("flavis"),
TEXT("sino"),
TEXT("mortuus"),
TEXT("locum"),
TEXT("deserto"),
TEXT("sectam"),
TEXT("current"),
TEXT("vitae"),
TEXT("surrexit"),
TEXT("perveniunt"),
TEXT("magister"),
TEXT("semita"),
TEXT("parente"),
TEXT("litore"),
TEXT("divisione"),
TEXT("linteum"),
TEXT("substantia"),
TEXT("gratiam"),
TEXT("Pertinent"),
TEXT("post"),
TEXT("expendas"),
TEXT("chorda"),
TEXT("adipem"),
TEXT("gavisus"),
TEXT("original"),
TEXT("share"),
TEXT("statio"),
TEXT("Pater"),
TEXT("panem"),
TEXT("Testificor"),
TEXT("proprium"),
TEXT("bar"),
TEXT("offer"),
TEXT("segmentum"),
TEXT("servus"),
TEXT("anas"),
TEXT("instant"),
TEXT("ipsum"),
TEXT("gradum"),
TEXT("frequentare"),
TEXT("pullus"),
TEXT("carissimi"),
TEXT("hostem"),
TEXT("respondeo"),
TEXT("potum"),
TEXT("incididunt"),
TEXT("auxilium"),
TEXT("oratio"),
TEXT("natura"),
TEXT("range"),
TEXT("vapor"),
TEXT("motus"),
TEXT("semita"),
TEXT("liquidum"),
TEXT("stipes"),
TEXT("intelligantur"),
TEXT("quotus"),
TEXT("dentium"),
TEXT("testa"),
TEXT("cervicibus"),
TEXT("dolor"),
TEXT("mortem"),
TEXT("bellum"),
TEXT("peritia"),
TEXT("mulieres"),
TEXT("tempore"),
TEXT("solutio"),
TEXT("magnes"),
TEXT("argentum"),
TEXT("gratias"),
TEXT("ramum"),
TEXT("par"),
TEXT("etiamne"),
TEXT("maxime"),
TEXT("timere"),
TEXT("ingenti"),
TEXT("soror"),
TEXT("ferrum"),
TEXT("disputant"),
TEXT("et deinceps"),
TEXT("simile"),
TEXT("dirige"),
TEXT("experientiam"),
TEXT("Octoginta"),
TEXT("pupillam"),
TEXT("emptum"),
TEXT("ductus"),
TEXT("picem"),
TEXT("tunica"),
TEXT("missa"),
TEXT("pecto"),
TEXT("cohors"),
TEXT("fune"),
TEXT("labente"),
TEXT("vincere"),
TEXT("somniatis"),
TEXT("ad vesperum"),
TEXT("condicionis"),
TEXT("pascuntur"),
TEXT("ferramentum"),
TEXT("totalis"),
TEXT("prima"),
TEXT("olfactus"),
TEXT("vallis"),
TEXT("neque"),
TEXT("duplex"),
TEXT("cathedra"),
TEXT("perseverant"),
TEXT("clausus"),
TEXT("cursus"),
TEXT("vende"),
TEXT("successu"),
TEXT("comitatu"),
TEXT("Auferatur"),
TEXT("eventus"),
TEXT("particularis"),
TEXT("multum"),
TEXT("natant"),
TEXT("term"),
TEXT("oppositi"),
TEXT("uxorem"),
TEXT("calceum"),
TEXT("umero"),
TEXT("expandit"),
TEXT("disponere"),
TEXT("castra"),
TEXT("confingunt"),
TEXT("bombicis"),
TEXT("natus"),
TEXT("statuere"),
TEXT("quart"),
TEXT("novem"),
TEXT("dolor"),
TEXT("sonus"),
TEXT("plana"),
TEXT("forte"),
TEXT("congregate"),
TEXT("taberna"),
TEXT("tractum"),
TEXT("mittite"),
TEXT("luceat"),
TEXT("proprietate"),
TEXT("columna"),
TEXT("moleculo"),
TEXT("eligere"),
TEXT("iniuriam"),
TEXT("iterum"),
TEXT("requirunt"),
TEXT("lata"),
TEXT("praeparabit"),
TEXT("sal"),
TEXT("nasum"),
TEXT("iratus"),
TEXT("clamium"),
TEXT("continentem")
};
and my headerfile:
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Console/Cartridge.h"
#include "BullCowCartridge.generated.h"
UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
class BULLCOWGAME_API UBullCowCartridge : public UCartridge
{
GENERATED_BODY()
public:
virtual void BeginPlay() override;
virtual void OnInput(const FString& Input) override;
void SetupGame();
void EndGame();
void ProcessGuess(const FString& Guess); // can ignore the variable names, but useful documentation.
bool IsIsogram(const FString& Word) const;
TArray<FString> GetValidWords(const TArray<FString>& WordList) const;
void GetTaurusBos(const FString& Guess, int32& TaurusCount, int32& BosCount) const;
// Your declarations go below!
private:
FString HiddenWord;
int32 Lives;
bool bGameOver;
TArray<FString> Isograms;
};
I edited my latin list: some English words snuck in. I saw the word “Fun”. Except as “fundo, fundere”, I do not recal “fun” being a latin word. Also: grey, top, car, gun,etc.