Skip to content
Snippets Groups Projects
Commit e4730d87 authored by Kristoffer Krogh Wetterhus's avatar Kristoffer Krogh Wetterhus
Browse files

Created Word class and Category class

parent 7da223ce
No related branches found
No related tags found
2 merge requests!22Resolve "Create game model",!18Draft: Resolve "Create game model"
......@@ -7,7 +7,7 @@ buildscript {
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.3.0'
classpath 'com.android.tools.build:gradle:8.2.1'
classpath 'com.google.gms:google-services:4.4.1'
......
package com.wordbattle.game.model;
import java.util.ArrayList;
import java.util.List;
public class Category {
private String name;
private List<Word> words;
public Category(String name) {
this.name = name;
this.words = new ArrayList<>();
}
public String getName() {
return name;
}
public List<Word> getWords() {
return words;
}
public void addWord(Word word) {
words.add(word);
}
}
package com.wordbattle.game.model;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class CreateWords {
public static void main(String[] args) {
Map<String, Category> categories = new HashMap<>();
try (BufferedReader br = new BufferedReader(new FileReader("/Users/kkw/OneDrive – NTNU/NTNU/Progark/progarkproject/core/src/com/wordbattle/game/model/words.txt"))) {
String line;
while ((line = br.readLine()) != null) {
String[] parts = line.split(":");
String categoryName = parts[0];
String[] wordsArray = parts[1].split(",");
@SuppressWarnings("NewApi") Category category = categories.getOrDefault(categoryName, new Category(categoryName));
categories.put(categoryName, category);
for (String wordStr : wordsArray) {
Word word = new Word(wordStr, category);
category.addWord(word);
}
}
// Print categories and words
for (Category category : categories.values()) {
System.out.println(" ");
System.out.println("Category: " + category.getName());
List<Word> words = category.getWords();
for (Word word : words) {
System.out.println(word.getWord());
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.wordbattle.game.model;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class Word {
private final String word;
private final Category category;
public Word(String word, Category category) {
this.word = word;
this.category = category;
}
public String getWord() {
return word;
}
public Category getCategory() {
return category;
}
public List<String> getLetters(int amount) {
List<String> letters = new ArrayList<>();
// Add letters from the word
for (char letter : word.toCharArray()) {
letters.add(String.valueOf(letter));
}
// Generate random letters
Random random = new Random();
int maxLetters = 10;
if (amount > maxLetters) {
amount = maxLetters;
}
if (amount > 0) {
for (int i = 0; i < amount; i++) {
char randomLetter = (char) (random.nextInt(26) + 'a');
letters.add(String.valueOf(randomLetter));
}
}
Collections.shuffle(letters, random);
for (String letter : letters) {
System.out.print(letter + " ");
}
System.out.println();
return letters;
}
public boolean checkWord(String guessedWord) {
return guessedWord.equalsIgnoreCase(word);
}
}
package com.wordbattle.game.model;
public class WordTest {
public static void main(String[] args) {
// Create an instance of Word
Category category = new Category("Test");
Word word = new Word("lemon", category);
// Test the getWord method
System.out.println("Word: " + word.getWord());
// Test the getLetters method
int numberOfRandomLetters = 7;
System.out.println("Letters:");
word.getLetters(numberOfRandomLetters);
System.out.println(word.checkWord("lemon"));
}
}
\ No newline at end of file
Dyr:Hund,Katt,Løve,Elefant,Tiger,Sjiraff,Bjørn,Hval,Kanin,Hai,Ape,Rev,Slange,Pingvin,Kamel,Ørn,Flamingo,Hjort,Frosk,Puma,Gepard,Skilpadde,Krokodille,Bison,Sebra
Mat:Pizza,Pasta,Salat,Suppe,Sushi,Burger,Taco,Kebab,Ris,Kjøtt,Kylling,Biff,Pølse,Kotelett,Iskrem,Omelett,Yoghurt,Bønner,Kake,Brød,Rull,Toast
Frukt:Eple,Banan,Drue,Kiwi,Pære,Melon,Fiken,Aprikos,Mango,Avokado,Fersken,Kirsebær,Lime,Nype,Jordbær,Appelsin,Nektarin,Plomme,Ananas,Papaya
Land:Norge,Sverige,Danmark,Tyskland,Frankrike,Spania,Italia,Kina,Japan,Russland,Brasil,India,Egypt,Mexico,Tyrkia,Hellas,Polen,Canada,Nederland,Belgia,Østerrike,Australia,Argentina,Peru
Yrker:Lærer,Lege,Kokk,Sanger,Tannlege,Advokat,Politi,Bonde,Pilot,Frisør,Artist,Forfatter,Maler,Snekker,Tegner,Dyrker,Sjåfør,Kjøper,Skredder,Ingeniør,Rektor,Guide
Farger:Rød,Blå,Grønn,Gul,Svart,Hvit,Grå,Rosa,Brun,Cyan,Lilla,Indigo,Turkis,Oransj,Gull,Sølv,Krem,Koral,Lavendel,Oliven,Beige,Perle,Kobber
Sport:Fotball,Tennis,Svømming,Håndball,Golf,Sykling,Ski,Roing,Surfing,Skøyter,Boksing,Løping,Klatring,Rugby,Hockey,Badminton,Turn,Basket,Stuping,Baseball,Fekting,Judo
Klær:Bukse,Sko,Kjole,Skjørt,Jakke,Lue,Shorts,Støvler,Dress,Sokker,Slips,Genser,Votter,Caps,Hatt,Hanske,Sandal,Skjerf,Tights
Transport:Bil,Sykkel,Buss,Tog,Fly,Skip,Taxi,Båt,Ferge,Kjerre,Slede,Tralle,Vogn,ATV,Lastebil,Drone,Ubåt,Flåte
Ferie:Strand,Fjell,Sol,Vann,Skog,Snø,Park,Basseng,Camping,Reise,Safari,Festival,Kultur,Mat,Slott,Hotell,Spa,Skogstur,Fjelltur,Yoga,Party,Utforske,Chill
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment