Chat Tutorial in NetBeans/Text Client: Difference between revisions

Content deleted Content added
imported>SimonSmall
Added building the Text Client
imported>SimonSmall
small correction
Line 1:
== Introduction ==
 
These instructions are a continuation of the Chat Tutorial. This is a text based client that runs in a command / terminal window.
client that runs in a command / terminal window.
 
== NetBeans Project ==
 
In the NetBeans IDE, clickclose all open projects. Click New Project, choose Java and Java Application. Click Next, then give the Project Name as client. Change the Project Location to DEVPATH\DevChat (DEVPATH, see above); the Project Folder is shown as DEVPATH\DevChat\client with DEVPATH being your chosen location. Check that Create Main Class is ticked, and the class is client.Test before clicking Finish.
 
The empty Project is created in NetBeans. Under the Files tab you will see the directory structure it has also generated; check this using your file explorer.
Line 14 ⟶ 13:
=== Client Files ===
 
The following files need to be created, as they are not present in the marauroa source file. It does not matter in which order you create them.
 
==== Client.java ====
 
Right-click on the client package and add a new Java Class. Give the class name as Client. Add the following code:
 
<source lang="Java">
package client;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.List;
import java.util.HashMap;
import java.util.ArrayList;
import marauroa.client.ClientFramework;
import marauroa.client.net.IPerceptionListener;
Line 77 ⟶ 75:
}
@Override
protected void onPerception(MessageS2CPerception message) {
try {
Line 84 ⟶ 83:
}
}
 
@Override
protected List<TransferContent> onTransferREQ(List<TransferContent> items) {
return items;
}
 
@Override
protected void onTransfer(List<TransferContent> items) {
}
 
@Override
protected void onAvailableCharacters(String[] characters) {
available_characters = characters;
}
 
@Override
protected void onServerInfo(String[] info) {
for (String s : info) {
Line 101 ⟶ 104:
}
}
 
@Override
protected String getGameName() {
return "Chat";
}
 
@Override
protected String getVersionNumber() {
return "0.5";
}
 
@Override
protected void onPreviousLogins(List<String> previousLogins) {
}
 
class PerceptionListener implements IPerceptionListener {
 
@Override
public boolean onAdded(RPObject object) {
if (object.has("text")) {
Line 120 ⟶ 128:
return false;
}
 
@Override
public boolean onModifiedAdded(RPObject object, RPObject changes) {
return false;
}
 
@Override
public boolean onModifiedDeleted(RPObject object, RPObject changes) {
return false;
}
 
@Override
public boolean onDeleted(RPObject object) {
return false;
}
 
@Override
public boolean onMyRPObject(RPObject added, RPObject deleted) {
return false;
}
 
@Override
public void onSynced() {
}
 
@Override
public void onUnsynced() {
}
 
@Override
public void onException(Exception e, marauroa.common.net.message.MessageS2CPerception perception) {
e.printStackTrace();
System.exit(-1);
}
 
@Override
public boolean onClear() {
return false;
}
 
public void onPerceptionBegin(byte type, int timestamp) {
}
 
public void onPerceptionEnd(byte type, int timestamp) {
}