Skip to content
Snippets Groups Projects
Commit eb87823c authored by CHAPUSOT Alexis's avatar CHAPUSOT Alexis
Browse files

création du monde(sans mise a jour possible) et début création des salles

parent a4768225
Branches
No related tags found
No related merge requests found
Showing
with 679 additions and 0 deletions
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
# Default ignored files
/shelf/
/workspace.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="17" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>
\ No newline at end of file
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
/build
\ No newline at end of file
plugins {
id("com.android.application")
}
android {
namespace = "com.example.buildingbuilder"
compileSdk = 34
defaultConfig {
applicationId = "com.example.buildingbuilder"
minSdk = 24
targetSdk = 30
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}
dependencies {
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.10.0")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
implementation("androidx.gridlayout:gridlayout:1.0.0")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
}
\ No newline at end of file
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
\ No newline at end of file
package com.example.buildingbuilder;
import android.content.Context;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("com.example.buildingbuilder", appContext.getPackageName());
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-feature
android:name="android.hardware.camera"
android:required="true"/>
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.BuildingBuilder"
tools:targetApi="31">
<activity
android:name=".Room_Creator"
android:exported="false"/>
<activity
android:name=".worldCreator"
android:exported="false"/>
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
\ No newline at end of file
app/src/main/ic_launcher-playstore.png

23.9 KiB

package com.example.buildingbuilder.Data;
public class Access {
Coordonéees coordonéees;
String accessedRoom;
public Access(Coordonéees c,String accessedRoom){
coordonéees = c;
this.accessedRoom = accessedRoom;
}
}
package com.example.buildingbuilder.Data;
import android.graphics.Bitmap;
import androidx.annotation.NonNull;
import com.example.buildingbuilder.IterableItem;
import org.jetbrains.annotations.NotNull;
import java.util.*;
public class Building implements IterableItem,Iterable<Room> {
private String name;
private ArrayList<Room> rooms;
private boolean valid;
private String uuid;
private ArrayList<Room> workingRoom;
private String location;
private boolean selected;
public Building(String Name){
this.uuid = UUID.randomUUID().toString();
this.location = uuid+"/"+"home.data";
this.name = Name;
this.rooms = new ArrayList<>();
this.valid =false;
this.workingRoom = new ArrayList<>();
}
public Building(){
this.uuid = UUID.randomUUID().toString();
this.location = uuid+"/"+"home";
this.rooms = new ArrayList<>();
this.valid =false;
this.workingRoom = new ArrayList<>();
}
public String getName() {
return name;
}
@Override
public String getLocation() {
return location;
}
public void setName(String name) {
this.name = name;
}
public Room getRooms(int position) {
return rooms.get(position);
}
public void setRooms(Room... rooms) {
this.rooms.addAll(Arrays.asList(rooms));
}
public Room getLastWorkingRoom(){
return workingRoom.get(workingRoom.size()-1);
}
public void addWorkingRoom(Room room){
workingRoom.add(room);
}
public void removeWorkingRoom(Room room){
workingRoom.remove(room);
}
public void validRoom(){
Room validRoom = workingRoom.get(workingRoom.size()+1);
rooms.add(workingRoom.get(workingRoom.size()-1));
workingRoom.remove(validRoom);
}
public void setLocation(String location) {
this.location = location;
}
public String getUuid() {
return uuid;
}
public boolean getValid(){
return valid;
}
public boolean isSelected() {
return selected;
}
public void setSelected(boolean selected) {
this.selected = selected;
}
@NonNull
@NotNull
@Override
public Iterator<Room> iterator() {
return rooms.iterator();
}
}
package com.example.buildingbuilder.Data;
import androidx.annotation.NonNull;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.UUID;
public class BuildingManager implements Iterable<Building>{
//HashMap<String,Building> buildings;
private final ArrayList<Building> buildingsList;
private static final BuildingManager instance = new BuildingManager();
private static Building currentBuilding=null;
private boolean selectedMode;
public BuildingManager(){
buildingsList = new ArrayList<>();
selectedMode = false;
}
public static BuildingManager getInstance() {
return instance;
}
public void save() {
}
public String getCurrentBuildingUUID() {
return currentBuilding.getUuid();
}
public Building getCurrentBuilding(){
return currentBuilding;
}
public void cancelCurrentBuilding(){
currentBuilding=null;
}
public void addBuilding(Building building){
buildingsList.add(building);
}
public void removeCurrentBuilding(){
currentBuilding = null;
}
public void addCurrentBuilding(Building building){
currentBuilding = building;
}
public Building getBuilding(int position){
return buildingsList.get(position);
}
@NotNull
@Override
public Iterator<Building> iterator() {
return buildingsList.iterator();
}
public boolean isSelectedMode() {
return selectedMode;
}
public void setSelectedMode(boolean selectedMode) {
this.selectedMode = selectedMode;
}
public void unSelectAllBuilding(){
for(Building b:this.buildingsList){
b.setSelected(false);
}
}
public void validBuilding() {
buildingsList.add(currentBuilding);
}
public void validBuilding(int position){
buildingsList.set(position,currentBuilding);
}
}
package com.example.buildingbuilder.Data;
public class Coordonéees {
private int x;
private int y;
private int width;
private int heigth;
public Coordonéees(int x,int y, int width,int heigth){
this.x = x;
this.y = y;
this.width = width;
this.heigth = heigth;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
public int getHeigth() {
return heigth;
}
public void setHeigth(int heigth) {
this.heigth = heigth;
}
}
package com.example.buildingbuilder.Data;
import android.graphics.Bitmap;
import com.example.buildingbuilder.IterableItem;
import java.util.UUID;
public class Room implements IterableItem {
private String location;
private String uuid;
private String name;
private Wall[] walls;
int selectedWalls;
private boolean selected;
public Room(String name){
selectedWalls = 0;
walls = new Wall[4];
this.name = name;
this.uuid = UUID.randomUUID().toString();
}
public void setName(String name){
this.name = name;
}
public Room(Room room){
}
public Wall getWall(){
return walls[selectedWalls];
}
public int getSelectedWalls(){
return selectedWalls;
}
public void setSelectedWalls(int position){
this.selectedWalls =position;
}
@Override
public String getName() {
return name;
}
@Override
public String getLocation() {
return location;
}
@Override
public boolean getValid() {
return false;
}
@Override
public boolean isSelected() {
return false;
}
@Override
public void setSelected(boolean selected) {
this.selected=selected; }
}
package com.example.buildingbuilder.Data;
import java.util.ArrayList;
public class Wall {
ArrayList<Access> access;
String Location;
public Wall(){
access = new ArrayList<>();
}
public void setLocation(String location) {
Location = location;
}
}
package com.example.buildingbuilder;
import android.content.Context;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import com.example.buildingbuilder.Data.Building;
import com.example.buildingbuilder.Data.BuildingManager;
import java.util.ArrayList;
import java.util.List;
public class ItemAdapter extends ArrayAdapter<IterableItem> {
Button button;
public ItemAdapter(@NonNull Context context, int resource, @NonNull List<IterableItem> objects,Button button) {
super(context, resource, objects);
this.button = button;
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
if(position==getCount()-1){
return button;
}
View view = View.inflate(getContext(),R.layout.buildingitem,null);
TextView text = view.findViewById(R.id.BuildingItemText);
ImageView valid = view.findViewById(R.id.BuildingItemValid);
CheckBox box = view.findViewById(R.id.BuildingCheckBox);
box.setVisibility(View.VISIBLE);
box.setChecked(getItem(position).isSelected());
box.setOnClickListener(v -> {
IterableItem item = getItem(position);
item.setSelected(item.isSelected());
notifyDataSetChanged();
});
if(getItem(position).getValid()){
valid.setBackground(ContextCompat.getDrawable(getContext(),R.drawable.check));
}
else{
valid.setBackground(ContextCompat.getDrawable(getContext(),android.R.drawable.ic_delete));
}
text.setText(getItem(position).getName());
return view;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment