summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-06-17 08:10:54 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-06-17 08:10:54 +0900
commit1ef66c962a1cea81dee4f5db32cd011feac7de44 (patch)
tree006945b7ae9d437cebb0fabc5eb5a849cff518c5 /src
parentAdd missing semicolon (diff)
downloadsharkey-1ef66c962a1cea81dee4f5db32cd011feac7de44.tar.gz
sharkey-1ef66c962a1cea81dee4f5db32cd011feac7de44.tar.bz2
sharkey-1ef66c962a1cea81dee4f5db32cd011feac7de44.zip
reversi :white_flower: :100:
Diffstat (limited to 'src')
-rw-r--r--src/client/app/common/scripts/compose-notification.ts2
-rw-r--r--src/client/app/common/scripts/streaming/reversi-game.ts (renamed from src/client/app/common/scripts/streaming/othello-game.ts)4
-rw-r--r--src/client/app/common/scripts/streaming/reversi.ts (renamed from src/client/app/common/scripts/streaming/othello.ts)8
-rw-r--r--src/client/app/common/views/components/index.ts4
-rw-r--r--src/client/app/common/views/components/reversi.game.vue (renamed from src/client/app/common/views/components/othello.game.vue)14
-rw-r--r--src/client/app/common/views/components/reversi.gameroom.vue (renamed from src/client/app/common/views/components/othello.gameroom.vue)8
-rw-r--r--src/client/app/common/views/components/reversi.room.vue (renamed from src/client/app/common/views/components/othello.room.vue)2
-rw-r--r--src/client/app/common/views/components/reversi.vue (renamed from src/client/app/common/views/components/othello.vue)34
-rw-r--r--src/client/app/desktop/script.ts10
-rw-r--r--src/client/app/desktop/views/components/game-window.vue6
-rw-r--r--src/client/app/desktop/views/components/ui.header.nav.vue12
-rw-r--r--src/client/app/desktop/views/pages/reversi.vue (renamed from src/client/app/desktop/views/pages/othello.vue)6
-rw-r--r--src/client/app/mios.ts8
-rw-r--r--src/client/app/mobile/script.ts6
-rw-r--r--src/client/app/mobile/views/components/ui.header.vue12
-rw-r--r--src/client/app/mobile/views/components/ui.nav.vue14
-rw-r--r--src/client/app/mobile/views/pages/reversi.vue (renamed from src/client/app/mobile/views/pages/othello.vue)10
-rw-r--r--src/client/assets/reversi-put-me.mp3 (renamed from src/client/assets/othello-put-me.mp3)bin15672 -> 15672 bytes
-rw-r--r--src/client/assets/reversi-put-you.mp3 (renamed from src/client/assets/othello-put-you.mp3)bin26121 -> 26121 bytes
-rw-r--r--src/config/types.ts2
-rw-r--r--src/models/reversi-game.ts (renamed from src/models/othello-game.ts)12
-rw-r--r--src/models/reversi-matching.ts (renamed from src/models/othello-matching.ts)4
-rw-r--r--src/publishers/stream.ts12
-rw-r--r--src/reversi/ai/back.ts (renamed from src/othello/ai/back.ts)14
-rw-r--r--src/reversi/ai/front.ts (renamed from src/othello/ai/front.ts)34
-rw-r--r--src/reversi/ai/index.ts (renamed from src/othello/ai/index.ts)0
-rw-r--r--src/reversi/core.ts (renamed from src/othello/core.ts)4
-rw-r--r--src/reversi/maps.ts (renamed from src/othello/maps.ts)2
-rw-r--r--src/server/api/endpoints.ts10
-rw-r--r--src/server/api/endpoints/reversi/games.ts (renamed from src/server/api/endpoints/othello/games.ts)4
-rw-r--r--src/server/api/endpoints/reversi/games/show.ts (renamed from src/server/api/endpoints/othello/games/show.ts)8
-rw-r--r--src/server/api/endpoints/reversi/invitations.ts (renamed from src/server/api/endpoints/othello/invitations.ts)2
-rw-r--r--src/server/api/endpoints/reversi/match.ts (renamed from src/server/api/endpoints/othello/match.ts)18
-rw-r--r--src/server/api/endpoints/reversi/match/cancel.ts (renamed from src/server/api/endpoints/othello/match/cancel.ts)2
-rw-r--r--src/server/api/stream/reversi-game.ts (renamed from src/server/api/stream/othello-game.ts)64
-rw-r--r--src/server/api/stream/reversi.ts (renamed from src/server/api/stream/othello.ts)8
-rw-r--r--src/server/api/streaming.ts10
37 files changed, 185 insertions, 185 deletions
diff --git a/src/client/app/common/scripts/compose-notification.ts b/src/client/app/common/scripts/compose-notification.ts
index c19b1c5ad0..cc28f75998 100644
--- a/src/client/app/common/scripts/compose-notification.ts
+++ b/src/client/app/common/scripts/compose-notification.ts
@@ -55,7 +55,7 @@ export default function(type, data): Notification {
icon: data.user.avatarUrl + '?thumbnail&size=64'
};
- case 'othello_invited':
+ case 'reversi_invited':
return {
title: '対局への招待があります',
body: `${getUserName(data.parent)}さんから`,
diff --git a/src/client/app/common/scripts/streaming/othello-game.ts b/src/client/app/common/scripts/streaming/reversi-game.ts
index 9e36f647bb..5638b3013f 100644
--- a/src/client/app/common/scripts/streaming/othello-game.ts
+++ b/src/client/app/common/scripts/streaming/reversi-game.ts
@@ -1,9 +1,9 @@
import Stream from './stream';
import MiOS from '../../../mios';
-export class OthelloGameStream extends Stream {
+export class ReversiGameStream extends Stream {
constructor(os: MiOS, me, game) {
- super(os, 'othello-game', {
+ super(os, 'reversi-game', {
i: me ? me.token : null,
game: game.id
});
diff --git a/src/client/app/common/scripts/streaming/othello.ts b/src/client/app/common/scripts/streaming/reversi.ts
index 8f4f217e39..2e4395f0f1 100644
--- a/src/client/app/common/scripts/streaming/othello.ts
+++ b/src/client/app/common/scripts/streaming/reversi.ts
@@ -2,15 +2,15 @@ import StreamManager from './stream-manager';
import Stream from './stream';
import MiOS from '../../../mios';
-export class OthelloStream extends Stream {
+export class ReversiStream extends Stream {
constructor(os: MiOS, me) {
- super(os, 'othello', {
+ super(os, 'reversi', {
i: me.token
});
}
}
-export class OthelloStreamManager extends StreamManager<OthelloStream> {
+export class ReversiStreamManager extends StreamManager<ReversiStream> {
private me;
private os: MiOS;
@@ -23,7 +23,7 @@ export class OthelloStreamManager extends StreamManager<OthelloStream> {
public getConnection() {
if (this.connection == null) {
- this.connection = new OthelloStream(this.os, this.me);
+ this.connection = new ReversiStream(this.os, this.me);
}
return this.connection;
diff --git a/src/client/app/common/views/components/index.ts b/src/client/app/common/views/components/index.ts
index b91008f718..5b2fa084fb 100644
--- a/src/client/app/common/views/components/index.ts
+++ b/src/client/app/common/views/components/index.ts
@@ -27,7 +27,7 @@ import urlPreview from './url-preview.vue';
import twitterSetting from './twitter-setting.vue';
import fileTypeIcon from './file-type-icon.vue';
import Switch from './switch.vue';
-import Othello from './othello.vue';
+import Reversi from './reversi.vue';
import welcomeTimeline from './welcome-timeline.vue';
import uiInput from './ui/input.vue';
import uiButton from './ui/button.vue';
@@ -65,7 +65,7 @@ Vue.component('mk-url-preview', urlPreview);
Vue.component('mk-twitter-setting', twitterSetting);
Vue.component('mk-file-type-icon', fileTypeIcon);
Vue.component('mk-switch', Switch);
-Vue.component('mk-othello', Othello);
+Vue.component('mk-reversi', Reversi);
Vue.component('mk-welcome-timeline', welcomeTimeline);
Vue.component('ui-input', uiInput);
Vue.component('ui-button', uiButton);
diff --git a/src/client/app/common/views/components/othello.game.vue b/src/client/app/common/views/components/reversi.game.vue
index 4c63bd18b8..dc79c95bb8 100644
--- a/src/client/app/common/views/components/othello.game.vue
+++ b/src/client/app/common/views/components/reversi.game.vue
@@ -43,7 +43,7 @@
<script lang="ts">
import Vue from 'vue';
import * as CRC32 from 'crc-32';
-import Othello, { Color } from '../../../../../othello/core';
+import Reversi, { Color } from '../../../../../reversi/core';
import { url } from '../../../config';
export default Vue.extend({
@@ -52,7 +52,7 @@ export default Vue.extend({
data() {
return {
game: null,
- o: null as Othello,
+ o: null as Reversi,
logs: [],
logPos: 0,
pollingClock: null
@@ -98,7 +98,7 @@ export default Vue.extend({
watch: {
logPos(v) {
if (!this.game.isEnded) return;
- this.o = new Othello(this.game.settings.map, {
+ this.o = new Reversi(this.game.settings.map, {
isLlotheo: this.game.settings.isLlotheo,
canPutEverywhere: this.game.settings.canPutEverywhere,
loopedBoard: this.game.settings.loopedBoard
@@ -115,7 +115,7 @@ export default Vue.extend({
created() {
this.game = this.initGame;
- this.o = new Othello(this.game.settings.map, {
+ this.o = new Reversi(this.game.settings.map, {
isLlotheo: this.game.settings.isLlotheo,
canPutEverywhere: this.game.settings.canPutEverywhere,
loopedBoard: this.game.settings.loopedBoard
@@ -163,7 +163,7 @@ export default Vue.extend({
// サウンドを再生する
if (this.$store.state.device.enableSounds) {
- const sound = new Audio(`${url}/assets/othello-put-me.mp3`);
+ const sound = new Audio(`${url}/assets/reversi-put-me.mp3`);
sound.volume = this.$store.state.device.soundVolume;
sound.play();
}
@@ -187,7 +187,7 @@ export default Vue.extend({
// サウンドを再生する
if (this.$store.state.device.enableSounds && x.color != this.myColor) {
- const sound = new Audio(`${url}/assets/othello-put-you.mp3`);
+ const sound = new Audio(`${url}/assets/reversi-put-you.mp3`);
sound.volume = this.$store.state.device.soundVolume;
sound.play();
}
@@ -213,7 +213,7 @@ export default Vue.extend({
onRescue(game) {
this.game = game;
- this.o = new Othello(this.game.settings.map, {
+ this.o = new Reversi(this.game.settings.map, {
isLlotheo: this.game.settings.isLlotheo,
canPutEverywhere: this.game.settings.canPutEverywhere,
loopedBoard: this.game.settings.loopedBoard
diff --git a/src/client/app/common/views/components/othello.gameroom.vue b/src/client/app/common/views/components/reversi.gameroom.vue
index 2dbd04ce49..7ce0112451 100644
--- a/src/client/app/common/views/components/othello.gameroom.vue
+++ b/src/client/app/common/views/components/reversi.gameroom.vue
@@ -7,9 +7,9 @@
<script lang="ts">
import Vue from 'vue';
-import XGame from './othello.game.vue';
-import XRoom from './othello.room.vue';
-import { OthelloGameStream } from '../../scripts/streaming/othello-game';
+import XGame from './reversi.game.vue';
+import XRoom from './reversi.room.vue';
+import { ReversiGameStream } from '../../scripts/streaming/reversi-game';
export default Vue.extend({
components: {
@@ -25,7 +25,7 @@ export default Vue.extend({
},
created() {
this.g = this.game;
- this.connection = new OthelloGameStream((this as any).os, this.$store.state.i, this.game);
+ this.connection = new ReversiGameStream((this as any).os, this.$store.state.i, this.game);
this.connection.on('started', this.onStarted);
},
beforeDestroy() {
diff --git a/src/client/app/common/views/components/othello.room.vue b/src/client/app/common/views/components/reversi.room.vue
index dcf41f2e04..5074845758 100644
--- a/src/client/app/common/views/components/othello.room.vue
+++ b/src/client/app/common/views/components/reversi.room.vue
@@ -94,7 +94,7 @@
<script lang="ts">
import Vue from 'vue';
-import * as maps from '../../../../../othello/maps';
+import * as maps from '../../../../../reversi/maps';
export default Vue.extend({
props: ['game', 'connection'],
diff --git a/src/client/app/common/views/components/othello.vue b/src/client/app/common/views/components/reversi.vue
index a0971c45b4..e4d7740bde 100644
--- a/src/client/app/common/views/components/othello.vue
+++ b/src/client/app/common/views/components/reversi.vue
@@ -1,5 +1,5 @@
<template>
-<div class="mk-othello">
+<div class="mk-reversi">
<div v-if="game">
<x-gameroom :game="game"/>
</div>
@@ -11,14 +11,14 @@
</div>
<div class="index" v-else>
<h1>Misskey %fa:circle%thell%fa:circle R%</h1>
- <p>他のMisskeyユーザーとオセロで対戦しよう</p>
+ <p>他のMisskeyユーザーとリバーシで対戦しよう</p>
<div class="play">
<el-button round>フリーマッチ(準備中)</el-button>
<el-button type="primary" round @click="match">指名</el-button>
<details>
<summary>遊び方</summary>
<div>
- <p>オセロは、相手と交互に石をボードに置いてゆき、相手の石を挟んでひっくり返しながら、最終的に残った石が多い方が勝ちというボードゲームです。</p>
+ <p>リバーシは、相手と交互に石をボードに置いてゆき、相手の石を挟んでひっくり返しながら、最終的に残った石が多い方が勝ちというボードゲームです。</p>
<dl>
<dt><b>フリーマッチ</b></dt>
<dd>ランダムなユーザーと対戦するモードです。</dd>
@@ -39,7 +39,7 @@
</section>
<section v-if="myGames.length > 0">
<h2>自分の対局</h2>
- <a class="game" v-for="g in myGames" tabindex="-1" @click.prevent="go(g)" :href="`/othello/${g.id}`">
+ <a class="game" v-for="g in myGames" tabindex="-1" @click.prevent="go(g)" :href="`/reversi/${g.id}`">
<mk-avatar class="avatar" :user="g.user1"/>
<mk-avatar class="avatar" :user="g.user2"/>
<span><b>{{ g.user1.name }}</b> vs <b>{{ g.user2.name }}</b></span>
@@ -48,7 +48,7 @@
</section>
<section v-if="games.length > 0">
<h2>みんなの対局</h2>
- <a class="game" v-for="g in games" tabindex="-1" @click.prevent="go(g)" :href="`/othello/${g.id}`">
+ <a class="game" v-for="g in games" tabindex="-1" @click.prevent="go(g)" :href="`/reversi/${g.id}`">
<mk-avatar class="avatar" :user="g.user1"/>
<mk-avatar class="avatar" :user="g.user2"/>
<span><b>{{ g.user1.name }}</b> vs <b>{{ g.user2.name }}</b></span>
@@ -61,7 +61,7 @@
<script lang="ts">
import Vue from 'vue';
-import XGameroom from './othello.gameroom.vue';
+import XGameroom from './reversi.gameroom.vue';
export default Vue.extend({
components: {
@@ -93,24 +93,24 @@ export default Vue.extend({
}
},
mounted() {
- this.connection = (this as any).os.streams.othelloStream.getConnection();
- this.connectionId = (this as any).os.streams.othelloStream.use();
+ this.connection = (this as any).os.streams.reversiStream.getConnection();
+ this.connectionId = (this as any).os.streams.reversiStream.use();
this.connection.on('matched', this.onMatched);
this.connection.on('invited', this.onInvited);
- (this as any).api('othello/games', {
+ (this as any).api('reversi/games', {
my: true
}).then(games => {
this.myGames = games;
});
- (this as any).api('othello/games').then(games => {
+ (this as any).api('reversi/games').then(games => {
this.games = games;
this.gamesFetching = false;
});
- (this as any).api('othello/invitations').then(invitations => {
+ (this as any).api('reversi/invitations').then(invitations => {
this.invitations = this.invitations.concat(invitations);
});
@@ -126,13 +126,13 @@ export default Vue.extend({
beforeDestroy() {
this.connection.off('matched', this.onMatched);
this.connection.off('invited', this.onInvited);
- (this as any).os.streams.othelloStream.dispose(this.connectionId);
+ (this as any).os.streams.reversiStream.dispose(this.connectionId);
clearInterval(this.pingClock);
},
methods: {
go(game) {
- (this as any).api('othello/games/show', {
+ (this as any).api('reversi/games/show', {
gameId: game.id
}).then(game => {
this.matching = null;
@@ -146,7 +146,7 @@ export default Vue.extend({
(this as any).api('users/show', {
username
}).then(user => {
- (this as any).api('othello/match', {
+ (this as any).api('reversi/match', {
userId: user.id
}).then(res => {
if (res == null) {
@@ -160,10 +160,10 @@ export default Vue.extend({
},
cancel() {
this.matching = null;
- (this as any).api('othello/match/cancel');
+ (this as any).api('reversi/match/cancel');
},
accept(invitation) {
- (this as any).api('othello/match', {
+ (this as any).api('reversi/match', {
userId: invitation.parent.id
}).then(game => {
if (game) {
@@ -186,7 +186,7 @@ export default Vue.extend({
<style lang="stylus" scoped>
@import '~const.styl'
-.mk-othello
+.mk-reversi
color #677f84
background #fff
diff --git a/src/client/app/desktop/script.ts b/src/client/app/desktop/script.ts
index 076d532d6d..201ab0a83d 100644
--- a/src/client/app/desktop/script.ts
+++ b/src/client/app/desktop/script.ts
@@ -34,7 +34,7 @@ import MkMessagingRoom from './views/pages/messaging-room.vue';
import MkNote from './views/pages/note.vue';
import MkSearch from './views/pages/search.vue';
import MkTag from './views/pages/tag.vue';
-import MkOthello from './views/pages/othello.vue';
+import MkReversi from './views/pages/reversi.vue';
import MkShare from './views/pages/share.vue';
/**
@@ -64,8 +64,8 @@ init(async (launch) => {
{ path: '/search', component: MkSearch },
{ path: '/tags/:tag', component: MkTag },
{ path: '/share', component: MkShare },
- { path: '/othello', component: MkOthello },
- { path: '/othello/:game', component: MkOthello },
+ { path: '/reversi', component: MkReversi },
+ { path: '/reversi/:game', component: MkReversi },
{ path: '/@:user', component: MkUser },
{ path: '/notes/:note', component: MkNote }
]
@@ -166,8 +166,8 @@ function registerNotifications(stream: HomeStreamManager) {
setTimeout(n.close.bind(n), 7000);
});
- connection.on('othello_invited', matching => {
- const _n = composeNotification('othello_invited', matching);
+ connection.on('reversi_invited', matching => {
+ const _n = composeNotification('reversi_invited', matching);
const n = new Notification(_n.title, {
body: _n.body,
icon: _n.icon
diff --git a/src/client/app/desktop/views/components/game-window.vue b/src/client/app/desktop/views/components/game-window.vue
index c3c0f90075..7c6cb9cd40 100644
--- a/src/client/app/desktop/views/components/game-window.vue
+++ b/src/client/app/desktop/views/components/game-window.vue
@@ -1,7 +1,7 @@
<template>
<mk-window ref="window" width="500px" height="560px" :popout-url="popout" @closed="$destroy">
<span slot="header" :class="$style.header">%fa:gamepad%%i18n:@game%</span>
- <mk-othello :class="$style.content" @gamed="g => game = g"/>
+ <mk-reversi :class="$style.content" @gamed="g => game = g"/>
</mk-window>
</template>
@@ -18,8 +18,8 @@ export default Vue.extend({
computed: {
popout(): string {
return this.game
- ? `${url}/othello/${this.game.id}`
- : `${url}/othello`;
+ ? `${url}/reversi/${this.game.id}`
+ : `${url}/reversi`;
}
}
});
diff --git a/src/client/app/desktop/views/components/ui.header.nav.vue b/src/client/app/desktop/views/components/ui.header.nav.vue
index fe2637cec3..42211b57fe 100644
--- a/src/client/app/desktop/views/components/ui.header.nav.vue
+++ b/src/client/app/desktop/views/components/ui.header.nav.vue
@@ -56,23 +56,23 @@ export default Vue.extend({
this.connection = (this as any).os.stream.getConnection();
this.connectionId = (this as any).os.stream.use();
- this.connection.on('othello_invited', this.onOthelloInvited);
- this.connection.on('othello_no_invites', this.onOthelloNoInvites);
+ this.connection.on('reversi_invited', this.onReversiInvited);
+ this.connection.on('reversi_no_invites', this.onReversiNoInvites);
}
},
beforeDestroy() {
if (this.$store.getters.isSignedIn) {
- this.connection.off('othello_invited', this.onOthelloInvited);
- this.connection.off('othello_no_invites', this.onOthelloNoInvites);
+ this.connection.off('reversi_invited', this.onReversiInvited);
+ this.connection.off('reversi_no_invites', this.onReversiNoInvites);
(this as any).os.stream.dispose(this.connectionId);
}
},
methods: {
- onOthelloInvited() {
+ onReversiInvited() {
this.hasGameInvitations = true;
},
- onOthelloNoInvites() {
+ onReversiNoInvites() {
this.hasGameInvitations = false;
},
diff --git a/src/client/app/desktop/views/pages/othello.vue b/src/client/app/desktop/views/pages/reversi.vue
index 0d8e987dd9..098fc41f1c 100644
--- a/src/client/app/desktop/views/pages/othello.vue
+++ b/src/client/app/desktop/views/pages/reversi.vue
@@ -1,6 +1,6 @@
<template>
<component :is="ui ? 'mk-ui' : 'div'">
- <mk-othello v-if="!fetching" :init-game="game" @gamed="onGamed"/>
+ <mk-reversi v-if="!fetching" :init-game="game" @gamed="onGamed"/>
</component>
</template>
@@ -33,7 +33,7 @@ export default Vue.extend({
Progress.start();
this.fetching = true;
- (this as any).api('othello/games/show', {
+ (this as any).api('reversi/games/show', {
gameId: this.$route.params.game
}).then(game => {
this.game = game;
@@ -43,7 +43,7 @@ export default Vue.extend({
});
},
onGamed(game) {
- history.pushState(null, null, '/othello/' + game.id);
+ history.pushState(null, null, '/reversi/' + game.id);
}
}
});
diff --git a/src/client/app/mios.ts b/src/client/app/mios.ts
index ba3f967a23..9a8d19adbd 100644
--- a/src/client/app/mios.ts
+++ b/src/client/app/mios.ts
@@ -11,7 +11,7 @@ import { DriveStreamManager } from './common/scripts/streaming/drive';
import { ServerStatsStreamManager } from './common/scripts/streaming/server-stats';
import { NotesStatsStreamManager } from './common/scripts/streaming/notes-stats';
import { MessagingIndexStreamManager } from './common/scripts/streaming/messaging-index';
-import { OthelloStreamManager } from './common/scripts/streaming/othello';
+import { ReversiStreamManager } from './common/scripts/streaming/reversi';
import Err from './common/views/components/connect-failed.vue';
import { LocalTimelineStreamManager } from './common/scripts/streaming/local-timeline';
@@ -108,7 +108,7 @@ export default class MiOS extends EventEmitter {
serverStatsStream: ServerStatsStreamManager;
notesStatsStream: NotesStatsStreamManager;
messagingIndexStream: MessagingIndexStreamManager;
- othelloStream: OthelloStreamManager;
+ reversiStream: ReversiStreamManager;
} = {
localTimelineStream: null,
globalTimelineStream: null,
@@ -116,7 +116,7 @@ export default class MiOS extends EventEmitter {
serverStatsStream: null,
notesStatsStream: null,
messagingIndexStream: null,
- othelloStream: null
+ reversiStream: null
};
/**
@@ -233,7 +233,7 @@ export default class MiOS extends EventEmitter {
this.streams.globalTimelineStream = new GlobalTimelineStreamManager(this, this.store.state.i);
this.streams.driveStream = new DriveStreamManager(this, this.store.state.i);
this.streams.messagingIndexStream = new MessagingIndexStreamManager(this, this.store.state.i);
- this.streams.othelloStream = new OthelloStreamManager(this, this.store.state.i);
+ this.streams.reversiStream = new ReversiStreamManager(this, this.store.state.i);
});
//#endregion
diff --git a/src/client/app/mobile/script.ts b/src/client/app/mobile/script.ts
index 1572fd73ed..cc0a8331ba 100644
--- a/src/client/app/mobile/script.ts
+++ b/src/client/app/mobile/script.ts
@@ -35,7 +35,7 @@ import MkFavorites from './views/pages/favorites.vue';
import MkUserLists from './views/pages/user-lists.vue';
import MkUserList from './views/pages/user-list.vue';
import MkSettings from './views/pages/settings.vue';
-import MkOthello from './views/pages/othello.vue';
+import MkReversi from './views/pages/reversi.vue';
import MkTag from './views/pages/tag.vue';
import MkShare from './views/pages/share.vue';
@@ -75,8 +75,8 @@ init((launch) => {
{ path: '/search', component: MkSearch },
{ path: '/tags/:tag', component: MkTag },
{ path: '/share', component: MkShare },
- { path: '/othello', name: 'othello', component: MkOthello },
- { path: '/othello/:game', component: MkOthello },
+ { path: '/reversi', name: 'reversi', component: MkReversi },
+ { path: '/reversi/:game', component: MkReversi },
{ path: '/@:user', component: MkUser },
{ path: '/@:user/followers', component: MkFollowers },
{ path: '/@:user/following', component: MkFollowing },
diff --git a/src/client/app/mobile/views/components/ui.header.vue b/src/client/app/mobile/views/components/ui.header.vue
index c72b15fb8b..c1ee70d105 100644
--- a/src/client/app/mobile/views/components/ui.header.vue
+++ b/src/client/app/mobile/views/components/ui.header.vue
@@ -45,8 +45,8 @@ export default Vue.extend({
this.connection = (this as any).os.stream.getConnection();
this.connectionId = (this as any).os.stream.use();
- this.connection.on('othello_invited', this.onOthelloInvited);
- this.connection.on('othello_no_invites', this.onOthelloNoInvites);
+ this.connection.on('reversi_invited', this.onReversiInvited);
+ this.connection.on('reversi_no_invites', this.onReversiNoInvites);
const ago = (new Date().getTime() - new Date(this.$store.state.i.lastUsedAt).getTime()) / 1000;
const isHisasiburi = ago >= 3600;
@@ -98,16 +98,16 @@ export default Vue.extend({
},
beforeDestroy() {
if (this.$store.getters.isSignedIn) {
- this.connection.off('othello_invited', this.onOthelloInvited);
- this.connection.off('othello_no_invites', this.onOthelloNoInvites);
+ this.connection.off('reversi_invited', this.onReversiInvited);
+ this.connection.off('reversi_no_invites', this.onReversiNoInvites);
(this as any).os.stream.dispose(this.connectionId);
}
},
methods: {
- onOthelloInvited() {
+ onReversiInvited() {
this.hasGameInvitation = true;
},
- onOthelloNoInvites() {
+ onReversiNoInvites() {
this.hasGameInvitation = false;
}
}
diff --git a/src/client/app/mobile/views/components/ui.nav.vue b/src/client/app/mobile/views/components/ui.nav.vue
index 80f60e4232..bb7a2f558c 100644
--- a/src/client/app/mobile/views/components/ui.nav.vue
+++ b/src/client/app/mobile/views/components/ui.nav.vue
@@ -19,7 +19,7 @@
<li><router-link to="/i/notifications" :data-active="$route.name == 'notifications'">%fa:R bell%%i18n:@notifications%<template v-if="hasUnreadNotification">%fa:circle%</template>%fa:angle-right%</router-link></li>
<li><router-link to="/i/messaging" :data-active="$route.name == 'messaging'">%fa:R comments%%i18n:@messaging%<template v-if="hasUnreadMessagingMessage">%fa:circle%</template>%fa:angle-right%</router-link></li>
<li v-if="$store.getters.isSignedIn && $store.state.i.isLocked"><router-link to="/i/received-follow-requests" :data-active="$route.name == 'received-follow-requests'">%fa:R envelope%%i18n:@follow-requests%<template v-if="$store.getters.isSignedIn && $store.state.i.pendingReceivedFollowRequestsCount">%fa:circle%</template>%fa:angle-right%</router-link></li>
- <li><router-link to="/othello" :data-active="$route.name == 'othello'">%fa:gamepad%%i18n:@game%<template v-if="hasGameInvitation">%fa:circle%</template>%fa:angle-right%</router-link></li>
+ <li><router-link to="/reversi" :data-active="$route.name == 'reversi'">%fa:gamepad%%i18n:@game%<template v-if="hasGameInvitation">%fa:circle%</template>%fa:angle-right%</router-link></li>
</ul>
<ul>
<li><router-link to="/i/widgets" :data-active="$route.name == 'widgets'">%fa:R calendar-alt%%i18n:@widgets%%fa:angle-right%</router-link></li>
@@ -66,14 +66,14 @@ export default Vue.extend({
this.connection = (this as any).os.stream.getConnection();
this.connectionId = (this as any).os.stream.use();
- this.connection.on('othello_invited', this.onOthelloInvited);
- this.connection.on('othello_no_invites', this.onOthelloNoInvites);
+ this.connection.on('reversi_invited', this.onReversiInvited);
+ this.connection.on('reversi_no_invites', this.onReversiNoInvites);
}
},
beforeDestroy() {
if (this.$store.getters.isSignedIn) {
- this.connection.off('othello_invited', this.onOthelloInvited);
- this.connection.off('othello_no_invites', this.onOthelloNoInvites);
+ this.connection.off('reversi_invited', this.onReversiInvited);
+ this.connection.off('reversi_no_invites', this.onReversiNoInvites);
(this as any).os.stream.dispose(this.connectionId);
}
},
@@ -83,10 +83,10 @@ export default Vue.extend({
if (query == null || query == '') return;
this.$router.push('/search?q=' + encodeURIComponent(query));
},
- onOthelloInvited() {
+ onReversiInvited() {
this.hasGameInvitation = true;
},
- onOthelloNoInvites() {
+ onReversiNoInvites() {
this.hasGameInvitation = false;
},
dark() {
diff --git a/src/client/app/mobile/views/pages/othello.vue b/src/client/app/mobile/views/pages/reversi.vue
index e04e583c20..e2f0db6d87 100644
--- a/src/client/app/mobile/views/pages/othello.vue
+++ b/src/client/app/mobile/views/pages/reversi.vue
@@ -1,7 +1,7 @@
<template>
<mk-ui>
- <span slot="header">%fa:gamepad%オセロ</span>
- <mk-othello v-if="!fetching" :init-game="game" @gamed="onGamed"/>
+ <span slot="header">%fa:gamepad%リバーシ</span>
+ <mk-reversi v-if="!fetching" :init-game="game" @gamed="onGamed"/>
</mk-ui>
</template>
@@ -23,7 +23,7 @@ export default Vue.extend({
this.fetch();
},
mounted() {
- document.title = 'Misskey オセロ';
+ document.title = 'Misskey リバーシ';
document.documentElement.style.background = '#fff';
},
methods: {
@@ -33,7 +33,7 @@ export default Vue.extend({
Progress.start();
this.fetching = true;
- (this as any).api('othello/games/show', {
+ (this as any).api('reversi/games/show', {
gameId: this.$route.params.game
}).then(game => {
this.game = game;
@@ -43,7 +43,7 @@ export default Vue.extend({
});
},
onGamed(game) {
- history.pushState(null, null, '/othello/' + game.id);
+ history.pushState(null, null, '/reversi/' + game.id);
}
}
});
diff --git a/src/client/assets/othello-put-me.mp3 b/src/client/assets/reversi-put-me.mp3
index 4e0e72091c..4e0e72091c 100644
--- a/src/client/assets/othello-put-me.mp3
+++ b/src/client/assets/reversi-put-me.mp3
Binary files differ
diff --git a/src/client/assets/othello-put-you.mp3 b/src/client/assets/reversi-put-you.mp3
index 9244189c2d..9244189c2d 100644
--- a/src/client/assets/othello-put-you.mp3
+++ b/src/client/assets/reversi-put-you.mp3
Binary files differ
diff --git a/src/config/types.ts b/src/config/types.ts
index 62f63d4a3c..49eeac508b 100644
--- a/src/config/types.ts
+++ b/src/config/types.ts
@@ -60,7 +60,7 @@ export type Source = {
hook_secret: string;
username: string;
};
- othello_ai?: {
+ reversi_ai?: {
id: string;
i: string;
};
diff --git a/src/models/othello-game.ts b/src/models/reversi-game.ts
index 1dd375d2e5..16b9ab0d4e 100644
--- a/src/models/othello-game.ts
+++ b/src/models/reversi-game.ts
@@ -3,10 +3,10 @@ import * as deepcopy from 'deepcopy';
import db from '../db/mongodb';
import { IUser, pack as packUser } from './user';
-const OthelloGame = db.get<IOthelloGame>('othelloGames');
-export default OthelloGame;
+const ReversiGame = db.get<IReversiGame>('reversiGames');
+export default ReversiGame;
-export interface IOthelloGame {
+export interface IReversiGame {
_id: mongo.ObjectID;
createdAt: Date;
startedAt: Date;
@@ -45,7 +45,7 @@ export interface IOthelloGame {
}
/**
- * Pack an othello game for API response
+ * Pack an reversi game for API response
*/
export const pack = (
game: any,
@@ -62,11 +62,11 @@ export const pack = (
// Populate the game if 'game' is ID
if (mongo.ObjectID.prototype.isPrototypeOf(game)) {
- _game = await OthelloGame.findOne({
+ _game = await ReversiGame.findOne({
_id: game
});
} else if (typeof game === 'string') {
- _game = await OthelloGame.findOne({
+ _game = await ReversiGame.findOne({
_id: new mongo.ObjectID(game)
});
} else {
diff --git a/src/models/othello-matching.ts b/src/models/reversi-matching.ts
index 0efba3ae5d..5efa5d76ad 100644
--- a/src/models/othello-matching.ts
+++ b/src/models/reversi-matching.ts
@@ -3,7 +3,7 @@ import * as deepcopy from 'deepcopy';
import db from '../db/mongodb';
import { IUser, pack as packUser } from './user';
-const Matching = db.get<IMatching>('othelloMatchings');
+const Matching = db.get<IMatching>('reversiMatchings');
export default Matching;
export interface IMatching {
@@ -14,7 +14,7 @@ export interface IMatching {
}
/**
- * Pack an othello matching for API response
+ * Pack an reversi matching for API response
*/
export const pack = (
matching: any,
diff --git a/src/publishers/stream.ts b/src/publishers/stream.ts
index 58a6ef49aa..b573b65a65 100644
--- a/src/publishers/stream.ts
+++ b/src/publishers/stream.ts
@@ -37,12 +37,12 @@ class MisskeyEvent {
this.publish(`messaging-index-stream:${userId}`, type, typeof value === 'undefined' ? null : value);
}
- public publishOthelloStream(userId: ID, type: string, value?: any): void {
- this.publish(`othello-stream:${userId}`, type, typeof value === 'undefined' ? null : value);
+ public publishReversiStream(userId: ID, type: string, value?: any): void {
+ this.publish(`reversi-stream:${userId}`, type, typeof value === 'undefined' ? null : value);
}
- public publishOthelloGameStream(gameId: ID, type: string, value?: any): void {
- this.publish(`othello-game-stream:${gameId}`, type, typeof value === 'undefined' ? null : value);
+ public publishReversiGameStream(gameId: ID, type: string, value?: any): void {
+ this.publish(`reversi-game-stream:${gameId}`, type, typeof value === 'undefined' ? null : value);
}
public publishLocalTimelineStream(note: any): void {
@@ -73,5 +73,5 @@ export const publishUserListStream = ev.publishUserListStream.bind(ev);
export const publishNoteStream = ev.publishNoteStream.bind(ev);
export const publishMessagingStream = ev.publishMessagingStream.bind(ev);
export const publishMessagingIndexStream = ev.publishMessagingIndexStream.bind(ev);
-export const publishOthelloStream = ev.publishOthelloStream.bind(ev);
-export const publishOthelloGameStream = ev.publishOthelloGameStream.bind(ev);
+export const publishReversiStream = ev.publishReversiStream.bind(ev);
+export const publishReversiGameStream = ev.publishReversiGameStream.bind(ev);
diff --git a/src/othello/ai/back.ts b/src/reversi/ai/back.ts
index e4d0cfdd33..42f1a0f4b8 100644
--- a/src/othello/ai/back.ts
+++ b/src/reversi/ai/back.ts
@@ -7,7 +7,7 @@
*/
import * as request from 'request-promise-native';
-import Othello, { Color } from '../core';
+import Reversi, { Color } from '../core';
import conf from '../../config';
import getUserName from '../../renderers/get-user-name';
@@ -17,12 +17,12 @@ let form;
/**
* BotアカウントのユーザーID
*/
-const id = conf.othello_ai.id;
+const id = conf.reversi_ai.id;
/**
* BotアカウントのAPIキー
*/
-const i = conf.othello_ai.i;
+const i = conf.reversi_ai.i;
let note;
@@ -44,7 +44,7 @@ process.on('message', async msg => {
//#region TLに投稿する
const game = msg.body;
- const url = `${conf.url}/othello/${game.id}`;
+ const url = `${conf.url}/reversi/${game.id}`;
const user = game.user1Id == id ? game.user2 : game.user1;
const isSettai = form[0].value === 0;
const text = isSettai
@@ -100,7 +100,7 @@ process.on('message', async msg => {
}
});
-let o: Othello;
+let o: Reversi;
let botColor: Color;
// 各マスの強さ
@@ -113,8 +113,8 @@ let cellWeights;
function onGameStarted(g) {
game = g;
- // オセロエンジン初期化
- o = new Othello(game.settings.map, {
+ // リバーシエンジン初期化
+ o = new Reversi(game.settings.map, {
isLlotheo: game.settings.isLlotheo,
canPutEverywhere: game.settings.canPutEverywhere,
loopedBoard: game.settings.loopedBoard
diff --git a/src/othello/ai/front.ts b/src/reversi/ai/front.ts
index ff74b7216e..25ee43225a 100644
--- a/src/othello/ai/front.ts
+++ b/src/reversi/ai/front.ts
@@ -17,12 +17,12 @@ import conf from '../../config';
/**
* BotアカウントのAPIキー
*/
-const i = conf.othello_ai.i;
+const i = conf.reversi_ai.i;
/**
* BotアカウントのユーザーID
*/
-const id = conf.othello_ai.id;
+const id = conf.reversi_ai.id;
////////////////////////////////////////////////////////////////
@@ -59,7 +59,7 @@ homeStream.on('message', message => {
});
if (note.text) {
- if (note.text.indexOf('オセロ') > -1) {
+ if (note.text.indexOf('リバーシ') > -1) {
request.post(`${conf.api_url}/notes/create`, {
json: { i,
replyId: note.id,
@@ -76,7 +76,7 @@ homeStream.on('message', message => {
if (msg.type == 'messaging_message') {
const message = msg.body;
if (message.text) {
- if (message.text.indexOf('オセロ') > -1) {
+ if (message.text.indexOf('リバーシ') > -1) {
request.post(`${conf.api_url}/messaging/messages/create`, {
json: { i,
userId: message.userId,
@@ -92,7 +92,7 @@ homeStream.on('message', message => {
// ユーザーを対局に誘う
function invite(userId) {
- request.post(`${conf.api_url}/othello/match`, {
+ request.post(`${conf.api_url}/reversi/match`, {
json: { i,
userId: userId
}
@@ -100,21 +100,21 @@ function invite(userId) {
}
/**
- * オセロストリーム
+ * リバーシストリーム
*/
-const othelloStream = new ReconnectingWebSocket(`${conf.ws_url}/othello?i=${i}`, undefined, {
+const reversiStream = new ReconnectingWebSocket(`${conf.ws_url}/reversi?i=${i}`, undefined, {
constructor: WebSocket
});
-othelloStream.on('open', () => {
- console.log('othello stream opened');
+reversiStream.on('open', () => {
+ console.log('reversi stream opened');
});
-othelloStream.on('close', () => {
- console.log('othello stream closed');
+reversiStream.on('close', () => {
+ console.log('reversi stream closed');
});
-othelloStream.on('message', message => {
+reversiStream.on('message', message => {
const msg = JSON.parse(message.toString());
// 招待されたとき
@@ -134,12 +134,12 @@ othelloStream.on('message', message => {
*/
function gameStart(game) {
// ゲームストリームに接続
- const gw = new ReconnectingWebSocket(`${conf.ws_url}/othello-game?i=${i}&game=${game.id}`, undefined, {
+ const gw = new ReconnectingWebSocket(`${conf.ws_url}/reversi-game?i=${i}&game=${game.id}`, undefined, {
constructor: WebSocket
});
gw.on('open', () => {
- console.log('othello game stream opened');
+ console.log('reversi game stream opened');
// フォーム
const form = [{
@@ -210,19 +210,19 @@ function gameStart(game) {
});
gw.on('close', () => {
- console.log('othello game stream closed');
+ console.log('reversi game stream closed');
});
}
/**
- * オセロの対局に招待されたとき
+ * リバーシの対局に招待されたとき
* @param inviter 誘ってきたユーザー
*/
async function onInviteMe(inviter) {
console.log(`Someone invited me: @${inviter.username}`);
// 承認
- const game = await request.post(`${conf.api_url}/othello/match`, {
+ const game = await request.post(`${conf.api_url}/reversi/match`, {
json: {
i,
userId: inviter.id
diff --git a/src/othello/ai/index.ts b/src/reversi/ai/index.ts
index 5cd1db82da..5cd1db82da 100644
--- a/src/othello/ai/index.ts
+++ b/src/reversi/ai/index.ts
diff --git a/src/othello/core.ts b/src/reversi/core.ts
index 217066d375..f1f9de1486 100644
--- a/src/othello/core.ts
+++ b/src/reversi/core.ts
@@ -37,9 +37,9 @@ export type Undo = {
};
/**
- * オセロエンジン
+ * リバーシエンジン
*/
-export default class Othello {
+export default class Reversi {
public map: MapPixel[];
public mapWidth: number;
public mapHeight: number;
diff --git a/src/othello/maps.ts b/src/reversi/maps.ts
index 68e5a446f1..f55cb1d516 100644
--- a/src/othello/maps.ts
+++ b/src/reversi/maps.ts
@@ -892,7 +892,7 @@ export const test4: Map = {
]
};
-// https://misskey.xyz/othello/5aaabf7fe126e10b5216ea09 64
+// https://misskey.xyz/reversi/5aaabf7fe126e10b5216ea09 64
export const test5: Map = {
name: 'Test5',
category: 'Test',
diff --git a/src/server/api/endpoints.ts b/src/server/api/endpoints.ts
index 5f0a020d6f..a5d13b0237 100644
--- a/src/server/api/endpoints.ts
+++ b/src/server/api/endpoints.ts
@@ -245,27 +245,27 @@ const endpoints: Endpoint[] = [
},
{
- name: 'othello/match',
+ name: 'reversi/match',
withCredential: true
},
{
- name: 'othello/match/cancel',
+ name: 'reversi/match/cancel',
withCredential: true
},
{
- name: 'othello/invitations',
+ name: 'reversi/invitations',
withCredential: true
},
{
- name: 'othello/games',
+ name: 'reversi/games',
withCredential: true
},
{
- name: 'othello/games/show'
+ name: 'reversi/games/show'
},
{
diff --git a/src/server/api/endpoints/othello/games.ts b/src/server/api/endpoints/reversi/games.ts
index 2320a34b04..9d879ecf23 100644
--- a/src/server/api/endpoints/othello/games.ts
+++ b/src/server/api/endpoints/reversi/games.ts
@@ -1,5 +1,5 @@
import $ from 'cafy'; import ID from '../../../../cafy-id';
-import OthelloGame, { pack } from '../../../../models/othello-game';
+import ReversiGame, { pack } from '../../../../models/reversi-game';
module.exports = (params, user) => new Promise(async (res, rej) => {
// Get 'my' parameter
@@ -50,7 +50,7 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
}
// Fetch games
- const games = await OthelloGame.find(q, {
+ const games = await ReversiGame.find(q, {
sort,
limit
});
diff --git a/src/server/api/endpoints/othello/games/show.ts b/src/server/api/endpoints/reversi/games/show.ts
index 6b2f5ce137..f32eb23513 100644
--- a/src/server/api/endpoints/othello/games/show.ts
+++ b/src/server/api/endpoints/reversi/games/show.ts
@@ -1,19 +1,19 @@
import $ from 'cafy'; import ID from '../../../../../cafy-id';
-import OthelloGame, { pack } from '../../../../../models/othello-game';
-import Othello from '../../../../../othello/core';
+import ReversiGame, { pack } from '../../../../../models/reversi-game';
+import Reversi from '../../../../../reversi/core';
module.exports = (params, user) => new Promise(async (res, rej) => {
// Get 'gameId' parameter
const [gameId, gameIdErr] = $.type(ID).get(params.gameId);
if (gameIdErr) return rej('invalid gameId param');
- const game = await OthelloGame.findOne({ _id: gameId });
+ const game = await ReversiGame.findOne({ _id: gameId });
if (game == null) {
return rej('game not found');
}
- const o = new Othello(game.settings.map, {
+ const o = new Reversi(game.settings.map, {
isLlotheo: game.settings.isLlotheo,
canPutEverywhere: game.settings.canPutEverywhere,
loopedBoard: game.settings.loopedBoard
diff --git a/src/server/api/endpoints/othello/invitations.ts b/src/server/api/endpoints/reversi/invitations.ts
index 4761537614..fc487205a9 100644
--- a/src/server/api/endpoints/othello/invitations.ts
+++ b/src/server/api/endpoints/reversi/invitations.ts
@@ -1,4 +1,4 @@
-import Matching, { pack as packMatching } from '../../../../models/othello-matching';
+import Matching, { pack as packMatching } from '../../../../models/reversi-matching';
module.exports = (params, user) => new Promise(async (res, rej) => {
// Find session
diff --git a/src/server/api/endpoints/othello/match.ts b/src/server/api/endpoints/reversi/match.ts
index e70e579755..5a699ddbae 100644
--- a/src/server/api/endpoints/othello/match.ts
+++ b/src/server/api/endpoints/reversi/match.ts
@@ -1,9 +1,9 @@
import $ from 'cafy'; import ID from '../../../../cafy-id';
-import Matching, { pack as packMatching } from '../../../../models/othello-matching';
-import OthelloGame, { pack as packGame } from '../../../../models/othello-game';
+import Matching, { pack as packMatching } from '../../../../models/reversi-matching';
+import ReversiGame, { pack as packGame } from '../../../../models/reversi-game';
import User from '../../../../models/user';
-import publishUserStream, { publishOthelloStream } from '../../../../publishers/stream';
-import { eighteight } from '../../../../othello/maps';
+import publishUserStream, { publishReversiStream } from '../../../../publishers/stream';
+import { eighteight } from '../../../../reversi/maps';
module.exports = (params, user) => new Promise(async (res, rej) => {
// Get 'userId' parameter
@@ -28,7 +28,7 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
});
// Create game
- const game = await OthelloGame.insert({
+ const game = await ReversiGame.insert({
createdAt: new Date(),
user1Id: exist.parentId,
user2Id: user._id,
@@ -47,14 +47,14 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
// Reponse
res(await packGame(game, user));
- publishOthelloStream(exist.parentId, 'matched', await packGame(game, exist.parentId));
+ publishReversiStream(exist.parentId, 'matched', await packGame(game, exist.parentId));
const other = await Matching.count({
childId: user._id
});
if (other == 0) {
- publishUserStream(user._id, 'othello_no_invites');
+ publishUserStream(user._id, 'reversi_no_invites');
}
} else {
// Fetch child
@@ -88,8 +88,8 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
const packed = await packMatching(matching, child);
// 招待
- publishOthelloStream(child._id, 'invited', packed);
+ publishReversiStream(child._id, 'invited', packed);
- publishUserStream(child._id, 'othello_invited', packed);
+ publishUserStream(child._id, 'reversi_invited', packed);
}
});
diff --git a/src/server/api/endpoints/othello/match/cancel.ts b/src/server/api/endpoints/reversi/match/cancel.ts
index 562e691061..bc8a4cd640 100644
--- a/src/server/api/endpoints/othello/match/cancel.ts
+++ b/src/server/api/endpoints/reversi/match/cancel.ts
@@ -1,4 +1,4 @@
-import Matching from '../../../../../models/othello-matching';
+import Matching from '../../../../../models/reversi-matching';
module.exports = (params, user) => new Promise(async (res, rej) => {
await Matching.remove({
diff --git a/src/server/api/stream/othello-game.ts b/src/server/api/stream/reversi-game.ts
index 841e542610..63d9b220b0 100644
--- a/src/server/api/stream/othello-game.ts
+++ b/src/server/api/stream/reversi-game.ts
@@ -1,10 +1,10 @@
import * as websocket from 'websocket';
import * as redis from 'redis';
import * as CRC32 from 'crc-32';
-import OthelloGame, { pack } from '../../../models/othello-game';
-import { publishOthelloGameStream } from '../../../publishers/stream';
-import Othello from '../../../othello/core';
-import * as maps from '../../../othello/maps';
+import ReversiGame, { pack } from '../../../models/reversi-game';
+import { publishReversiGameStream } from '../../../publishers/stream';
+import Reversi from '../../../reversi/core';
+import * as maps from '../../../reversi/maps';
import { ParsedUrlQuery } from 'querystring';
export default function(request: websocket.request, connection: websocket.connection, subscriber: redis.RedisClient, user?: any): void {
@@ -12,7 +12,7 @@ export default function(request: websocket.request, connection: websocket.connec
const gameId = q.game;
// Subscribe game stream
- subscriber.subscribe(`misskey:othello-game-stream:${gameId}`);
+ subscriber.subscribe(`misskey:reversi-game-stream:${gameId}`);
subscriber.on('message', (_, data) => {
connection.send(data);
});
@@ -62,24 +62,24 @@ export default function(request: websocket.request, connection: websocket.connec
});
async function updateSettings(settings) {
- const game = await OthelloGame.findOne({ _id: gameId });
+ const game = await ReversiGame.findOne({ _id: gameId });
if (game.isStarted) return;
if (!game.user1Id.equals(user._id) && !game.user2Id.equals(user._id)) return;
if (game.user1Id.equals(user._id) && game.user1Accepted) return;
if (game.user2Id.equals(user._id) && game.user2Accepted) return;
- await OthelloGame.update({ _id: gameId }, {
+ await ReversiGame.update({ _id: gameId }, {
$set: {
settings
}
});
- publishOthelloGameStream(gameId, 'update-settings', settings);
+ publishReversiGameStream(gameId, 'update-settings', settings);
}
async function initForm(form) {
- const game = await OthelloGame.findOne({ _id: gameId });
+ const game = await ReversiGame.findOne({ _id: gameId });
if (game.isStarted) return;
if (!game.user1Id.equals(user._id) && !game.user2Id.equals(user._id)) return;
@@ -90,18 +90,18 @@ export default function(request: websocket.request, connection: websocket.connec
form2: form
};
- await OthelloGame.update({ _id: gameId }, {
+ await ReversiGame.update({ _id: gameId }, {
$set: set
});
- publishOthelloGameStream(gameId, 'init-form', {
+ publishReversiGameStream(gameId, 'init-form', {
userId: user._id,
form
});
}
async function updateForm(id, value) {
- const game = await OthelloGame.findOne({ _id: gameId });
+ const game = await ReversiGame.findOne({ _id: gameId });
if (game.isStarted) return;
if (!game.user1Id.equals(user._id) && !game.user2Id.equals(user._id)) return;
@@ -120,11 +120,11 @@ export default function(request: websocket.request, connection: websocket.connec
form1: form
};
- await OthelloGame.update({ _id: gameId }, {
+ await ReversiGame.update({ _id: gameId }, {
$set: set
});
- publishOthelloGameStream(gameId, 'update-form', {
+ publishReversiGameStream(gameId, 'update-form', {
userId: user._id,
id,
value
@@ -133,40 +133,40 @@ export default function(request: websocket.request, connection: websocket.connec
async function message(message) {
message.id = Math.random();
- publishOthelloGameStream(gameId, 'message', {
+ publishReversiGameStream(gameId, 'message', {
userId: user._id,
message
});
}
async function accept(accept: boolean) {
- const game = await OthelloGame.findOne({ _id: gameId });
+ const game = await ReversiGame.findOne({ _id: gameId });
if (game.isStarted) return;
let bothAccepted = false;
if (game.user1Id.equals(user._id)) {
- await OthelloGame.update({ _id: gameId }, {
+ await ReversiGame.update({ _id: gameId }, {
$set: {
user1Accepted: accept
}
});
- publishOthelloGameStream(gameId, 'change-accepts', {
+ publishReversiGameStream(gameId, 'change-accepts', {
user1: accept,
user2: game.user2Accepted
});
if (accept && game.user2Accepted) bothAccepted = true;
} else if (game.user2Id.equals(user._id)) {
- await OthelloGame.update({ _id: gameId }, {
+ await ReversiGame.update({ _id: gameId }, {
$set: {
user2Accepted: accept
}
});
- publishOthelloGameStream(gameId, 'change-accepts', {
+ publishReversiGameStream(gameId, 'change-accepts', {
user1: game.user1Accepted,
user2: accept
});
@@ -179,7 +179,7 @@ export default function(request: websocket.request, connection: websocket.connec
if (bothAccepted) {
// 3秒後、まだacceptされていたらゲーム開始
setTimeout(async () => {
- const freshGame = await OthelloGame.findOne({ _id: gameId });
+ const freshGame = await ReversiGame.findOne({ _id: gameId });
if (freshGame == null || freshGame.isStarted || freshGame.isEnded) return;
if (!freshGame.user1Accepted || !freshGame.user2Accepted) return;
@@ -198,7 +198,7 @@ export default function(request: websocket.request, connection: websocket.connec
const map = freshGame.settings.map != null ? freshGame.settings.map : getRandomMap();
- await OthelloGame.update({ _id: gameId }, {
+ await ReversiGame.update({ _id: gameId }, {
$set: {
startedAt: new Date(),
isStarted: true,
@@ -208,7 +208,7 @@ export default function(request: websocket.request, connection: websocket.connec
});
//#region 盤面に最初から石がないなどして始まった瞬間に勝敗が決定する場合があるのでその処理
- const o = new Othello(map, {
+ const o = new Reversi(map, {
isLlotheo: freshGame.settings.isLlotheo,
canPutEverywhere: freshGame.settings.canPutEverywhere,
loopedBoard: freshGame.settings.loopedBoard
@@ -224,7 +224,7 @@ export default function(request: websocket.request, connection: websocket.connec
winner = null;
}
- await OthelloGame.update({
+ await ReversiGame.update({
_id: gameId
}, {
$set: {
@@ -233,27 +233,27 @@ export default function(request: websocket.request, connection: websocket.connec
}
});
- publishOthelloGameStream(gameId, 'ended', {
+ publishReversiGameStream(gameId, 'ended', {
winnerId: winner,
game: await pack(gameId, user)
});
}
//#endregion
- publishOthelloGameStream(gameId, 'started', await pack(gameId, user));
+ publishReversiGameStream(gameId, 'started', await pack(gameId, user));
}, 3000);
}
}
// 石を打つ
async function set(pos) {
- const game = await OthelloGame.findOne({ _id: gameId });
+ const game = await ReversiGame.findOne({ _id: gameId });
if (!game.isStarted) return;
if (game.isEnded) return;
if (!game.user1Id.equals(user._id) && !game.user2Id.equals(user._id)) return;
- const o = new Othello(game.settings.map, {
+ const o = new Reversi(game.settings.map, {
isLlotheo: game.settings.isLlotheo,
canPutEverywhere: game.settings.canPutEverywhere,
loopedBoard: game.settings.loopedBoard
@@ -290,7 +290,7 @@ export default function(request: websocket.request, connection: websocket.connec
const crc32 = CRC32.str(game.logs.map(x => x.pos.toString()).join('') + pos.toString());
- await OthelloGame.update({
+ await ReversiGame.update({
_id: gameId
}, {
$set: {
@@ -303,12 +303,12 @@ export default function(request: websocket.request, connection: websocket.connec
}
});
- publishOthelloGameStream(gameId, 'set', Object.assign(log, {
+ publishReversiGameStream(gameId, 'set', Object.assign(log, {
next: o.turn
}));
if (o.isEnded) {
- publishOthelloGameStream(gameId, 'ended', {
+ publishReversiGameStream(gameId, 'ended', {
winnerId: winner,
game: await pack(gameId, user)
});
@@ -316,7 +316,7 @@ export default function(request: websocket.request, connection: websocket.connec
}
async function check(crc32) {
- const game = await OthelloGame.findOne({ _id: gameId });
+ const game = await ReversiGame.findOne({ _id: gameId });
if (!game.isStarted) return;
diff --git a/src/server/api/stream/othello.ts b/src/server/api/stream/reversi.ts
index fa62b05836..35c6167364 100644
--- a/src/server/api/stream/othello.ts
+++ b/src/server/api/stream/reversi.ts
@@ -1,12 +1,12 @@
import * as mongo from 'mongodb';
import * as websocket from 'websocket';
import * as redis from 'redis';
-import Matching, { pack } from '../../../models/othello-matching';
+import Matching, { pack } from '../../../models/reversi-matching';
import publishUserStream from '../../../publishers/stream';
export default function(request: websocket.request, connection: websocket.connection, subscriber: redis.RedisClient, user: any): void {
- // Subscribe othello stream
- subscriber.subscribe(`misskey:othello-stream:${user._id}`);
+ // Subscribe reversi stream
+ subscriber.subscribe(`misskey:reversi-stream:${user._id}`);
subscriber.on('message', (_, data) => {
connection.send(data);
});
@@ -22,7 +22,7 @@ export default function(request: websocket.request, connection: websocket.connec
childId: new mongo.ObjectID(msg.id)
});
if (matching == null) return;
- publishUserStream(matching.childId, 'othello_invited', await pack(matching, matching.childId));
+ publishUserStream(matching.childId, 'reversi_invited', await pack(matching, matching.childId));
break;
}
});
diff --git a/src/server/api/streaming.ts b/src/server/api/streaming.ts
index 2d4cfc108f..a3e4ed6f85 100644
--- a/src/server/api/streaming.ts
+++ b/src/server/api/streaming.ts
@@ -10,8 +10,8 @@ import userListStream from './stream/user-list';
import driveStream from './stream/drive';
import messagingStream from './stream/messaging';
import messagingIndexStream from './stream/messaging-index';
-import othelloGameStream from './stream/othello-game';
-import othelloStream from './stream/othello';
+import reversiGameStream from './stream/reversi-game';
+import reversiStream from './stream/reversi';
import serverStatsStream from './stream/server-stats';
import notesStatsStream from './stream/notes-stats';
import requestsStream from './stream/requests';
@@ -56,8 +56,8 @@ module.exports = (server: http.Server) => {
const q = request.resourceURL.query as ParsedUrlQuery;
const [user, app] = await authenticate(q.i as string);
- if (request.resourceURL.pathname === '/othello-game') {
- othelloGameStream(request, connection, subscriber, user);
+ if (request.resourceURL.pathname === '/reversi-game') {
+ reversiGameStream(request, connection, subscriber, user);
return;
}
@@ -75,7 +75,7 @@ module.exports = (server: http.Server) => {
request.resourceURL.pathname === '/drive' ? driveStream :
request.resourceURL.pathname === '/messaging' ? messagingStream :
request.resourceURL.pathname === '/messaging-index' ? messagingIndexStream :
- request.resourceURL.pathname === '/othello' ? othelloStream :
+ request.resourceURL.pathname === '/reversi' ? reversiStream :
null;
if (channel !== null) {