From 3c15d3a37088a7db442bf40fdb880a0f178df3de Mon Sep 17 00:00:00 2001 From: Kallfaktorn Date: Thu, 3 Feb 2011 14:06:27 +0100 Subject: [PATCH] mnesia cleanup to keep erlang convention --- Mnesia/gamedb.erl | 31 -------------- Mnesia/gamedb.hrl | 6 --- Mnesia/gamedb_usage.txt | 12 ------ games/tic-tac-toe-js/js/TicTacToeClient.js | 2 +- games/tic-tac-toe/TODO | 8 +--- games/tic-tac-toe/e.png | Bin 2565 -> 187 bytes games/tic-tac-toe/tictactoeboard.py | 11 +++++ games/tic-tac-toe/tictactoeboard.pyc | Bin 2379 -> 2379 bytes src/ggs_server.erl | 46 ++++----------------- 9 files changed, 22 insertions(+), 94 deletions(-) delete mode 100644 Mnesia/gamedb.erl delete mode 100644 Mnesia/gamedb.hrl delete mode 100644 Mnesia/gamedb_usage.txt diff --git a/Mnesia/gamedb.erl b/Mnesia/gamedb.erl deleted file mode 100644 index 9d6bbbe..0000000 --- a/Mnesia/gamedb.erl +++ /dev/null @@ -1,31 +0,0 @@ -%Test Mnesia --module(gamedb). --import(mnesia). --export([init/0,insert_player/1,example_player/0,read_player/1,test_player/0]). --include("gamedb.hrl"). - -init() -> - mnesia:create_table(player, [{attributes, record_info(fields, player)}]). - -test_player() -> - insert_player(example_player()), - read_player(0001). - -insert_player(Player) -> - Fun = fun() -> - mnesia:write(Player) - end, - mnesia:transaction(Fun). - -example_player() -> - #player{id = 0001, - name = "Tux"}. - -read_player(Player_Key) -> - Fun = fun() -> - [P] = mnesia:read(player, Player_Key), - Name = P#player.name, - io:format("Player name: ~s~n",[Name]) - end, - mnesia:transaction(Fun). - diff --git a/Mnesia/gamedb.hrl b/Mnesia/gamedb.hrl deleted file mode 100644 index 1ae9c8f..0000000 --- a/Mnesia/gamedb.hrl +++ /dev/null @@ -1,6 +0,0 @@ -%% gamedb.hrl - --record(player, {id, name}). - - - diff --git a/Mnesia/gamedb_usage.txt b/Mnesia/gamedb_usage.txt deleted file mode 100644 index b3a07a0..0000000 --- a/Mnesia/gamedb_usage.txt +++ /dev/null @@ -1,12 +0,0 @@ -1. From terminal: erl -mnesia dir '"/home/user/dir/to/GGS/GameDB.Player"' -2. mnesia:create_schema([node()]). -3. mnesia:start(). -4. c(gamedb). -5. gamedb:init(). -6. mnesia:info(). -7. gamedb:test_player(). - -Last output should be: - Player name: Tux - {atomic,ok} - diff --git a/games/tic-tac-toe-js/js/TicTacToeClient.js b/games/tic-tac-toe-js/js/TicTacToeClient.js index 80f8ef1..79e4064 100644 --- a/games/tic-tac-toe-js/js/TicTacToeClient.js +++ b/games/tic-tac-toe-js/js/TicTacToeClient.js @@ -90,4 +90,4 @@ TicTacToeClient.prototype.updateBoard = function(gameBoardData) { this.spots[k++].innerHTML = t; } } -} \ No newline at end of file +} diff --git a/games/tic-tac-toe/TODO b/games/tic-tac-toe/TODO index 07c0710..a957a1f 100644 --- a/games/tic-tac-toe/TODO +++ b/games/tic-tac-toe/TODO @@ -1,12 +1,6 @@ -- background image -- subimages for game_area:s -- subimages for game markers (X or 0) -- rectangle collision on game_area:s +- background - redraw background then all game_area:s -- board_state: a hashtable where key is game_area_index - and value is either'x' 'o' or ' ' - board contains nr_of_squares = 9 board contains array of squares with nr_of_squares elements board contains x, y, width and height board contains a frame diff --git a/games/tic-tac-toe/e.png b/games/tic-tac-toe/e.png index 4cbf977f58bdbe47864f563ba90a313820b2af27..1b1d7f7bb08b08b11a4f2d93597d2cfb9ba1360e 100644 GIT binary patch delta 117 zcmZn_+08h?ke@Bd+uel$41PNAuAiu<5G~KA!xiM)-VYSC_H=O!i8%cBoFO9v0|&Fh q*81l&58P)Ky5RY0{>tfF@Blq-Mh)h~7JYG5klCKDelF{r5}E+K7A{=? delta 2516 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 delta 16 XcmX>tbXthrpNE(0V3*TIb{9?nEB^$> diff --git a/src/ggs_server.erl b/src/ggs_server.erl index d7be36e..f440cde 100644 --- a/src/ggs_server.erl +++ b/src/ggs_server.erl @@ -1,13 +1,15 @@ %%%---------------------------------------------------- %%% @author Jonatan Pålsson %%% @copyright 2010 Jonatan Pålsson -%%% @doc RPC over TCP server %%% @end %%%---------------------------------------------------- -module(ggs_server). -behaviour(gen_server). +% import +-import(ggs_connection). + %% API -export([start_link/1, start_link/0, @@ -16,8 +18,7 @@ ]). %% gen_server callbacks --export([init/1, handle_call/3, handle_cast/2, - handle_info/2, terminate/2, code_change/3]). +-export([terminate/2, code_change/3]). -define(SERVER, ?MODULE). @@ -61,28 +62,6 @@ stop() -> %%----------------------------------------------------- %% gen_server callbacks %%----------------------------------------------------- - -init([Port]) -> - {ok, LSock} = gen_tcp:listen(Port, [{active, true}, - {reuseaddr, true}]), - {ok, #state{port = Port, lsock = LSock}, 0}. - -handle_call(get_count, _From, State) -> - {reply, {ok, State#state.client_vm_map}, State}. - -handle_cast(stop, State) -> - {stop, normal, State}. - -handle_info({tcp, Socket, RawData}, State) -> - NewState = do_JSCall(Socket, RawData, State), - OldMap = State#state.client_vm_map, - io:format("Old map: ~p NewState: ~p~n", [OldMap, NewState]), - {noreply, State#state{client_vm_map = OldMap ++ [NewState]}}; - -handle_info(timeout, #state{lsock = LSock} = State) -> - {ok, _Sock} = gen_tcp:accept(LSock), - {noreply, State}. - terminate(_Reason, _State) -> ok. @@ -92,7 +71,6 @@ code_change(_OldVsn, State, _Extra) -> %%----------------------------------------------------- %% Internal functions %%----------------------------------------------------- - do_JSCall(Socket, Data, State) -> JSVM = js_runner:boot(), js_runner:define(JSVM, "function userCommand(cmd, par) {return cmd+' '+ par}"), @@ -103,23 +81,23 @@ do_JSCall(Socket, Data, State) -> Ret = js_runner:call(JSVM, "userCommand", [list_to_binary(Command), list_to_binary(Parameter)]), - send(Socket, "RefID", "JS says: ", Ret), + connection:send(Socket, "RefID", "JS says: ", Ret), []; % Set the new state to the reference generated, and JSVM associated {hello} -> Client = getRef(), - send(Socket, Client, "__ok_hello"), + connection:send(Socket, Client, "__ok_hello"), {Client, JSVM}; {echo, RefID, _, MSG} -> - send(Socket, RefID, "Your VM is ", getJSVM(RefID, State)), + connection:send(Socket, RefID, "Your VM is ", getJSVM(RefID, State)), []; {crash, Zero} -> 10/Zero; {vms} -> - send(Socket, "RefID", State); + connection:send(Socket, "RefID", State); % Set the new state to [] Other -> - send(Socket, "RefID", "__error"), + ggs_connection:send(Socket, "RefID", "__error"), [] end, % Return the new state @@ -136,9 +114,3 @@ getJSVM(RefID, State) -> VMs = State#state.client_vm_map, {value, {_,VM}} = lists:keysearch(RefID, 1, VMs), VM. - -send(Socket, RefID, String) -> - gen_tcp:send(Socket, io_lib:fwrite("~p ~p~n", [RefID,String])). - -send(Socket, RefID, String1, String2) -> - gen_tcp:send(Socket, io_lib:fwrite("~p ~p ~p~n", [RefID, String1, String2])).