System.out.println("Invalid");
</div> <p style="font-size: 10px; position: absolute; margin-top: 40px;"> ©Jiri Swen, 2018 </p> * Prints all possible commands to type when a player asks for it.
} closeReader();
*
Oh, and yes, the 'Uber' feature from the title was actually completed by no one in the course, as integrating the app with the Uber API was the very last bonus item on the assignment page... <li> If something is little-known, there's an 28% increase in the chance that I will like it. </li> */
<path d="M -200 750 C 400 0 800 1300 1200 900" fill="none"/> System.out.println("\nSUCCESS\n");
<p style="margin-top: 17vw;"> Hardcore introvert here, so I really need my <br>recharging time in comfortable places like my home or nature <br>(particularly like the mountains and 庭園) </p> </div> GENRES.forEach(filter => { else {
public void passArray(char[][] array) {
if (command.equals("COMMANDS")) {
<div> return command;
<link href="styles/style.css" rel="stylesheet" type="text/css"> <h2 style="margin-top: 12vw" class="left"> nerdy things </h2> System.out.println("");
catch (IOException e) {
color: white; <p> Scroll down for some info about me. </p> *
if (validCommands.contains(command)) {
<p> <a href="https://nl.linkedin.com/in/jiriswen" target="_blank">LinkedIn</a> <br> (behold, in how professional a manner I can present myself on a high-end platform like LinkedIn... yeah NOT xD) </p><html> // Stores commands considered 'valid' to check against
<h2 style="margin-top: 7vw;" class="right"> music </h2> else return null; }
* Accepts input to print the (processed) result.
<img src="images/panorama-web-klein.jpg" class="fullscreen-width" style="margin: 0; clip-path: polygon(78% 0, 100% 0, 100% 100%, 0 100%, 0 0); position: absolute; top: 0;"> /**
</div> *
font-size: large; if (command == null) {
<a href="https://nl.linkedin.com/in/jiriswen" target="_blank"> <img src="images/linkedin.png" class="icon"> </a>import java.io.IOException;
}); // Locations String command = getInputFromConsole();
<div class="cool-animation"> case "MOVE_SUCCESS":
Email: <input type="email" name="email" onChange={props.onChange} value={props.values.email} />@keyframes App-logo-spin {// Please refer to their documentation on https://mochajs.org/ for help.// } catch (IOException e) {
</div> <h2 class="normal" style="margin-top: 6vw;"> Random facts about me </h2> </div>import java.util.List;
* Gets raw input from the console for getNextInput() to use
* @exception The usual IOException from a BufferedReader.
<div class="right-triangle" style="clip-path: polygon(100% 14%, 0 65%, 100% 94%); margin-top: -12vw;"> <li> Speaks English with some kind of weird made-up British accent </li> }
// import * as myExtension from '../extension';const GENRES = Profile.genres(); </div> return br.readLine();
*/
else { <p style="font-size: 11.5px; line-height: 12px; margin-top: -5px; color: #FFAACB"> (Explanation about "text going around objects": in order for "shape-outside" to work the object that uses it cannot be positioned "absolute"ly and I did actually get all this working using cool calc()s and stuff, but then the whole site got buggy and elements were shifting from the place where they are supposed to be in the flow of the page and just generally I never got the layout to look pleasing at all ratios, soooow yes it'd help to actually understand Javascript or sth.) <br></p>import {Profile} from '../Profile'; br.close();
* Prints out an array when received for the player to read.
<div class="right-triangle" style="clip-path: polygon(100% 14%, 0 48%, 100% 94%); margin-top: -10vw;"> <p style="margin-top: 28vw/*540px*/;"> Hi, I'm Jiri! (*´ω`*) 宜しくお願いっす~~ </p> </svg> }
</form>Creating/editing/deleting a ticket that you posted, automatic color-marking of tickets based on the risk they are a fraud and possibility to sort tickets by date/author/price. <li> Finished bachelor Architecture ¯\_(ツ)_/¯ </li> * @return A string containing the input the player entered.
<path d="M -200 650 C 400 -200 800 1350 1200 700" fill="none"/> if (filterIndex === undefined || filterIndex < 0) { <div class="social-media-plug"> }
for (int j = 0; j < array[i].length; ++j) {
this.props.onChangeLocation(e); System.err.println("\nIOException!");
<title>侍鈴さんの名鑼儼</title> </div> <form onSubmit={props.onSubmit}> <div class="social-media-plug">### Aside switch (result) {
}
} * Closes the reader (when the game ends).
<p style="margin-top: 14vw; text-align: right;"> This one doesn't really need explaining does it >:3 </p> System.out.println("");
*
}) </div> <meta charset="utf-8"> * @return Processed output or Invalid if the @param command is wrong.
} }) updateFilters() { // Most results are just printed directly as there's no use in 'encoding' them
return command;
</div> * Reads the next command from the command line,
</div> <p>I am very much looking forward to getting to know all the intricacies and tools that go into webdev, and getting to work with talented people etc. etc. <br> I'm quite new to this web development thing, but have loved programming for some time now so yeah, I'm not going anywhere anytime soon :) </p> <li> Has most keys on the keyboard in muscle memory. Useful! (like, actually) </li> protected String getNextAction(String command) {
state = { } public HumanPlayer() {}
<a target="_blank"> <img src="images/soundcloud.png" class="icon"> </a> </div>As you can see, it looks like crap. This is because I chose to sacrifice aeshetics to spend my time on creating functionality, which I still think was a good decision. Maybe I'll add some styling eventually.const LoginForm = (props) => { <form> <div class="social-media-plug"> } System.exit(0);
} <div class="left-triangle" style="clip-path: polygon(0 16%, 0 92%, 100% 56%); margin-top: -10vw;"> /**
checked={this.state[location] || false} /**
*
<a target="_blank"> <img src="images/instagram.png" class="icon"> </a> background-color: #222; <div id="triangle-section"> <head> }
<path d="M -200 400 C 400 -600 750 1650 1200 0" fill="none"/> protected void closeReader() {
if (this.state[filter] && !genreFilters.find(filterArray => filterArray[2] === filter)) { <path d="M -200 850 C 200 350 600 800 1200 1300" fill="none"/> System.out.println("\nAvailable commands:");
<li> INFP through and through (though also a bit of INTP) ((use this information however you wish except if it is disadvantageous to me)) (((;゚Д゚))) </li> </div>} <p>Locations (OR logic)</p> else if (command.equals("PASS")) {
<p> <a href="https://www.facebook.com/jiri.swen" target="_blank">Facebook</a> <br>(don't use, but sure go ahead and have a look at my embarrassing pictures from the past ~kyaaah~) </p>export default SearchPreferences; const filterIndex = this.props.userFilters.findIndex(filter => filter[0] === filterName); componentDidMount() { text-align: center; <a href="https://www.facebook.com/jiri.swen" target="_blank"> <img src="images/facebook.png" class="icon"> </a> // Goes to the next line when end of line is reached
<path d="M -150 1200 C 200 900 400 800 400 1200" fill="none"/> * Also cuts to closing the system when e.g. Ctrl+D is pressed.
* then processes it, checks if it is valid and returns it for {@link GameLogic} to use.
}
Creating/editing/deleting an event (admin only), and filtering and searching in the list of events. filterIncludes = (filterName, string) => { *
const filterIndex = this.props.userFilters.findIndex(filter => filter[0] === 'location'); */
<h1>Jiri</h1> * Processes the command. It should return a reply in form of a String, as the protocol dictates.
/**
import java.io.BufferedReader;
<h2 class="normal" style="margin-top: 4vw"> Links </h2> // Lets your turn go by without anything happening
onChange={this.handleLocationChange}/> {location} </p>)} for (int i = 0; i < validCommands.size(); ++i) {
}
from { transform: rotate(0deg); }public class HumanPlayer implements Player {
}
System.err.println("\nIOException!");
}**`Event description + Tickets list on an event`** animation: App-logo-spin infinite 20s linear; <div class="social-media-plug"> assert.equal(-1, [1, 2, 3].indexOf(5)); padding: 20px; <div id="footer"> *
<path d="M -200 500 C 400 -300 800 1350 1200 500" fill="none"/> </div> ); }
<div class="social-media-plug">import java.io.InputStreamReader;
case "MOVE_FAIL":
<div id="icon-jumble"> <img src="images/happouen.jpg"> } </div> * or for {@link GameLogic} to use when needed.
<!DOCTYPE html> <p> <a target="_blank">DeviantArt</a> <br>(sometimes like(d) to draw with my Wacom tablet) </p> <img src="images/coding.jpg"> return this.props.userFilters[filterIndex][2].includes(string) // This makes it so that it doesn't matter if you type in (partly) lowercase or put spaces at the beginning or end
<a target="_blank"> <img src="images/twitter.png" class="icon"> </a> public String getNextCommand() {
// import * as vscode from 'vscode'; try {
*/
<input type="submit" name="submit" /> height: 150px;// Note: This example test is leveraging the Mocha test framework. <form> <path d="M -150 1000 C 200 700 600 800 700 1200" fill="none"/> this.updateFilters(); }
<a target="_blank"> <img src="images/deviantart.png" class="icon"> </a> * @param The array coming from {@link GameLogic} to print.
// Defines a Mocha test suite to group tests of similar kind together render() { this.updateFilters();**`Login/logout/signup as admin/normal user`** That's not gonna stop me from keeping it in the title tho~! </div> // Used to read commands from command line to be processed
{GENRES.map(genre => <p key={genre}><input type="checkbox" value={genre} checked={this.state[genre] || false} onChange={this.handleGenreChange}/> {genre} </p>)} return ( <div> }// The module 'assert' provides assertion methods from node </form> if (array[i].length - j <= 1) {
handleGenreChange = (e) => { * Default constructor.
</body>## Features} <img src="images/geesen.jpg"> * @param The result coming from {@link GameLogic}
.App-intro { <h2 style="margin-top: 7vw" class="right"> 日本 </h2> * NOT USED because taking a string as argument does not
This application was the final assignment during the Codaisseur Codaisseur Academy, where we had 4 days to 'put all our aquired skills together' for a final evaluation. <div id="new-icons"></div># Ticket Uber /**
const genreFilters = this.props.userFilters.filter(filter => filter[0] === 'genres'); <div class="left-triangle" style="clip-path: polygon(0 9%, 0 90%, 100% 30%); margin-top: -20vw;"> .App-logo { public String getNextAction() {
}
</div>class SearchPreferences extends Component { <img src="images/musicEquipment.jpg">
<h2 style="margin-top: -6vw" class="left"> cute stuff </h2> <path d="M -200 950 C 200 500 600 800 900 1200" fill="none"/> </div> } } // Move success and failure is 'encoded' as that can be useful for the bot to read as feedback
</form> }
}</html> while (true) {
// You can import and use all API from the 'vscode' module * @param Input entered by the user.
<div class="right-triangle" style="clip-path: polygon(100% 14%, 0 48%, 100% 94%); margin-top: -8vw;"> System.out.println("\"" + validCommands.get(i) + "\"");
height: 80px;}); {LOCATIONS.map(location => <p key={location}><input type="checkbox"
import React from 'react'; <img src="images/streetFashion.jpeg">It's composed of a React.js client and a Node.js+Koa+RoutingControllers+TypeORM+Postgres server-database-combo, and uses a few extra npm packages here and there. <p style="margin-top: 25vw; text-align: right;"> Used to be more of a nerd than I am now, <br>but I still like my anime/games and do find things interesting that <br> are probably not supposed to be interesting (゚∀゚) </p>export default LoginForm; genreFilters.forEach(filterArray => { *
String command = getNextCommand();
<div class="fly-in"> <p> <a target="_blank">Twitter</a> <br>(don't use, why am I even listing this here...) </p> */
this.props.onChangeGenre(e); * @return The processed command.
try {
if (this.props.userFilters[filterIndex][2]) { * @see {@link Player.java}
this.setState({ [filterArray[2]]: true }); <img src="images/japan.jpg"> </head>} <p style="margin-top: 12vw; text-align: right;"> Western fashion is mostly stupid and boring, <br> I'll pick the Asian perspective on clothing any day. <br>Also like to experiment with combining things that aren't "meant" to come together ^^ </p> </div> this.updateFilters(); <div class="right-triangle" style="clip-path: polygon(100% 9%, 0 40%, 100% 90%); margin-top: -6vw;"> System.out.println("\n" + result + "\n");
}
<li> Emilia is best grill, jk </li> <p>Genres (AND logic)</p> System.out.println("");
}
</div> /**
</div>import java.util.Scanner;
*/
<link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet"> <li> Used to go about the winter in shirts&shorts until the discovery of the fashion potential of long sleeves </li> <svg height="85vh" width="100vw" viewBox="0 0 1000 1000" preserveAspectRatio="none" style="display: block; margin: auto;">import java.util.Arrays;
* @see {@link GameLogic.java}
</ul> <img src="images/kawaiiSpul.jpg"> <img src="images/fantasyWorld.jpg"> <p><br>I like:</p> this.setState({[location]: this.filterIncludes('location', location)}); to { transform: rotate(360deg); } <div id="introduction"> }
<script src="scripts/main.js"></script> // Genres, dit kan vast efficienter */
/**
for (int i = 0; i < array.length; ++i) {
font-size: 1.5em;import React, { Component } from 'react'; }
</div> <div class="left-triangle" style="clip-path: polygon(0 5%, 0 76%, 100% 15%); margin-top: 0vw; right: 50%;"> if (!this.state[filterArray[2]]) { public void passResult(String result) {
<p style="margin-top: 18vw;"> (Curious to see if Javascript is as abominable <br>a programming language as my Computer Science friends always say it is... <br>I mean I'm already liking that the syntax since ES6 sort-a resembles Java) </p> <ul> <p style="margin-top: 20vw; text-align: left;"> Avid fan of all kinds of different music though <br> mostly electronic genres. Also like to play piano and have dabbled into creating electronic music (: </p> }
<p style="margin-top: 17vw;"> I'm, like, a weeaboo... except that <br>I went to the point where I think it's no longer called that。 </p> // Defines a Mocha unit test// as well as import your extension to test it <path d="M -200 200 C 400 -700 750 1800 1100 -400" fill="none"/> }
*/
System.out.println("");
<div>} LOCATIONS.forEach(location => {suite("Extension Tests", function () { printAvailableCommands();
<p>.App { private List<String> validCommands = Arrays.asList("HELLO", "LOOK", "MOVE N", "MOVE S", "MOVE E", "MOVE W", "PICKUP", "QUIT", "PASS", "COMMANDS");
this.setState({[location]: true});**`Ticket description + Comments list on a ticket`** * @version 2.0
</p> * Runs the game with a human player and contains code needed to read inputs and display results.
}
* Otherwise it should return the string "Invalid".
/**
return "0";
const LOCATIONS = Profile.locations();} <div id="links">
import * as assert from 'assert'; System.out.println("");
return;
</div> } <h2 style="margin-top: 7vw" class="right"> quiet places </h2> */
It is a simple application where people can (re)sell tickets to events, and when you buy a ticket an Uber will be dispatched to your house (I know it's a bit weird and ambiguous, but it made for a good assignment). handleLocationChange = (e) => { <div class="social-media-plug"> * @exception The usual IOException from a BufferedReader.
<p style="margin-top: 20vw; text-align: right;"> The regular world/society/life is boring which is why <br>I'm extraordinarily inspired by worlds that are by today's standards impossible or unthinkable. </p> <h2 style="margin-top: 5.5vw" class="left"> fashion </h2> <p style="font-size: 13px; line-height: 16px; margin-top: 50px"> This page is best viewed using a 16:9 screen using Google Chrome. Lots of proportion-based magic has been incorporated to make it usable at other aspect ratios (try resizing the window!), however I will have to admit that actually making this fully functional and aesthetically pleasing with text going around the objects is at this point too challenging for me. And also on some mobile browsers, something seems to break as a consequence of the Javascript-animation and I hate it and I can't find it :d </p> </div> protected void printAvailableCommands() {
<p> <a target="_blank">SoundCloud</a> <br>(it's just 2 weird conglomerations of tunes but may be interesting to get insight into the inner workings of my brain or sth) </p> * @author Jiri Swen
assert.equal(-1, [1, 2, 3].indexOf(0)); }) else return JSON.stringify(this.props.userFilters[filterName]).includes(string); return null;
System.out.println("\nFAIL\n");
.App-header { }**`Events list`** Putting/deleting a comment on a ticket. * @return The raw input from the command line.
<path d="M -150 1100 C 200 800 500 800 500 1200" fill="none"/> return ( <div> }
} command = command.trim().toUpperCase();
<body> <p> <a target="_blank">Instagram</a> <br>(don't post) </p> </div> );// protected String getInputFromConsole() {
Password: <input type="password" name="password" onChange={props.onChange} value={props.values.password} /> </div> <h2 style="margin-top: 9vw" class="right"> coding ;) </h2> private BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
* @release 15/12/2017
<h2 style="margin-top: 10vw" class="left"> fantasy </h2> }
.App-title { /**
}
</div> /**
test("Something 1", function() { this.setState({ [filter]: false }); return;
<div class="left-triangle" style="clip-path: polygon(0 16%, 0 92%, 100% 40%); margin-top: -10vw; right: 30%;"> <div id="facts"> <li> Transgender / not yet medically transitioning but e.g. dressing girlily (yess that is correct English albeit rarely used), should not hinder communication </li> if (filterIndex !== undefined) {(See FinalAssignment.md for the formal requirements of the assignment / basically a detailed description of how the application works.) System.out.print(array[i][j]);
} */
* Reads player's input from the console.
* make as much sense as reading directly from the command line.
value={location}


ABOUT























osu! db manipulator