Merge pull request #8 from nitta-lab/shinji_makeB
Shinji makeB
commit f563ca84e7abea7c08df175586927726915c0288
2 parents 706bc5b + 1ff6af4
Naoya Nitta authored on 12 Aug 2022
Showing 29 changed files
View
18
courseA/EnvironmentAlgolike.html
}
</style>
<body>
<h1>Algolike の環境構築とテスト</h1>
<p>Algolike の Github のリポジトリは<a href="">こちら</a>です.クローンしてお手元の開発環境でビルドをし,動作確認を行ってください.</p>
<p>Algolike の Github のリポジトリは<a href="https://github.com/nitta-lab/AlgolikePull">こちら</a>です.クローンしてお手元の開発環境でビルドをし,動作確認を行ってください.</p>
 
<p> Algolike は Gradle プロジェクトとして作成しています.<br>
<ul>Eclipse 上でビルドする場合は,プロジェクトを右クリック→「構成」→「Gradle ネーチャーの追加」でGradleを動かせるようにしておいてください.
</ul>
<p>Algolike のテストコードは /src/test/java/MainTest.java にあります.JUnitでテストすることができます.</p>
<h2>Algolike のテストシナリオ</h2>
<p>MainTest.java では Algolike における以下の一連の動作をテストしています.
<ol>
<li>自分はカードを1枚引き,自分から見て右から1番目にあるCPUのカードに対して「1」を宣言する.</li>
<li>自分はカードを1枚引き,自分から見て右から1番目にあるCPUのカードに対して「3」を宣言する.</li>
<li>自分のアタックは失敗する.</li>
<li>CPUはカードを1枚引き,自分の手札の左から3番目のカードに対して「2」を宣言する.</li>
<li>CPUのアタックは失敗する.</li>
<li>自分はカードを1枚引き,右から2番目にあるCPUのカードに対して「3」を宣言する.</li>
<li>自分のアタックは成功する.</li>
<li>CPUはカードを1枚引き,自分の手札の左から1番目のカードに対して「2」を宣言する.</li>
<li>CPUのアタックは失敗する.</li>
<li>自分は左から1番目のカードをアタックに使用し,CPUの右から1番目のカードに対して「1」を宣言する.</li>
<li>自分のアタックは成功する.</li>
<li>CPUの手札が全て表になったので,CPUは敗北する.</li>
<li>自分はカードを1枚引き,右から3番目にあるCPUのカードに対して「3」を宣言する.</li>
<li>自分のアタックは失敗する.</li>
<li>CPUはカードを1枚引き,自分の手札の左から1番目のカードに対して「0」を宣言する.</li>
<li>CPUのアタックは成功する.</li>
<li>自分は左から2番目のカードをアタックに使用し,CPUの右から1番目のカードに対して「3」を宣言する.</li>
<li>自分のアタックは失敗する.</li>
<li>自分の手札が全て表になったので,自分は敗北する.</li>
</ol>
</p>
<p style="margin-bottom:3em;"></p>
View
2
■■■
courseA/EnvironmentStockManagement.html
}
</style>
<body>
<h1>StockManagement の環境構築とテスト</h1>
<p>StockManagement の Github のリポジトリは<a href="">こちら</a>です.クローンしてお手元の開発環境でビルドをし,動作確認を行ってください.</p>
<p>StockManagement の Github のリポジトリは<a href="https://github.com/nitta-lab/StockManagementPush">こちら</a>です.クローンしてお手元の開発環境でビルドをし,動作確認を行ってください.</p>
 
<p> StockManagement は Gradle プロジェクトとして作成しています.<br>
<ul>Eclipse 上でビルドする場合は,プロジェクトを右クリック→「構成」→「Gradle ネーチャーの追加」でGradleを動かせるようにしておいてください.
</ul>
View
57
courseB/CourseDescriptionB.html 0 → 100644
<!DOCTYPE HTML>
<html lang="ja">
<head>
<title>開始時の説明</title>
<meta charset="UTF-8">
</head>
<style>
.image_size{
width: 800px;
height: 550px;
}
</style>
<body>
<h1>作業全体の説明</h1>
<p>
甲南大学知能情報学部のソフトウェア設計検証研究室です.<br>
この度は私共の実験にご協力頂きまして誠にありがとうございます.<br>
</p>
<p>
これから行っていただく作業は,2個のリファクタリング課題とアンケートへの回答です.全体の作業時間としては,2~3時間程度を想定しています.<br>
対象となるJavaプログラムは2つあり,それぞれのプログラムに対して1つずつリファクタリングの課題に取り組んでいただきます.<br>
リファクタリングの課題はお手元のPC上で手作業で行っていただき,課題を終えるたびに,アンケートにお答えいただきます.<br>
これ以降お答えいただくアンケートは各リファクタリング課題の完了後と最後の計3個です.<br>
アンケートへの回答が終わるたびに作業を中断していただいて構いません.
作業はすべてWebおよびローカルのPC上で完結します.
</p>
<strong>実験は以下の流れで行います.</strong>
<ol>
<li>実験用のWebページ(本ページ)にアクセスしていただきます.</li>
<li>リファクタリングを行うための事前知識として,PUSH型のデータ転送とPULL型のデータ転送について解説します.</li>
<li>1つめの実験用プログラムについてリファクタリング課題に取り組んでいただきます.</li>
<ul>
<li>プログラムの仕様を理解していただきます.</li>
<li>GitHub上のプログラムをクローンしていただき,お手元の環境でビルドと動作確認を行っていただきます.</li>
<li>リファクタリング課題の目的と手順を説明いたします.</li>
<li>作業用のブランチを切っていただき,時間計測をしながらリファクタリング作業を行っていただきます.</li>
<li>作業の結果をブランチにコミット&プッシュしていただきます.</li>
<li>課題別アンケートにお答えいただきます.</li>
</ul>
<li>2つめの実験用プログラムについても同様にリファクタリング課題に取り組んでいただきます.</li>
<ul>
<li>プログラムの仕様を理解していただきます.</li>
<li>GitHub上のプログラムをクローンしていただき,お手元の環境でビルドと動作確認を行っていただきます.</li>
<li>リファクタリング課題の目的と手順を説明いたします.</li>
<li>作業用のブランチを切っていただき,時間計測をしながらリファクタリング作業を行っていただきます.</li>
<li>作業の結果をブランチにコミット&プッシュしていただきます.</li>
<li>課題別アンケートにお答えいただきます.</li>
</ul>
<li>最後に実験全体に関してのアンケートにお答えいただきます.</li>
</ol>
<p>
実験課題に取り組んでいただく前に,PUSH型のデータ転送とPULL型のデータ転送について説明します.<br>
</p>
 
<a href="Explanation.html">PUSH型のデータ転送とPULL型のデータ転送についての説明へ進む</a>
</body>
View
67
courseB/DescriptionAlgolike.html 0 → 100644
<!DOCTYPE HTML>
<html lang="ja">
<head>
<title>Argolike説明</title>
<meta charset="UTF-8">
</head>
<style>
.image_size{
width: 600px;
height: 400px;
}
</style>
<body>
<h1>Algolike の概要説明</h1>
<p>「Algolike」は,カードゲーム「<a href="https://www.sansu-olympic.gr.jp/algo/">algo</a>」を基にしたゲームプログラムです.</p>
<p> Algolikeでは,「0」から「11」までの数字が書かれた計12枚のカードを用いて,プレイヤーとCPUが対戦します.</p>
 
 
<p> ゲーム開始時,12枚のカードを裏向けにして山札を作り,これを「デッキ」とします.<br>
そして,各プレイヤーにデッキからカードを2枚配り.それを各プレイヤーの最初の「手札」とします.<br>
なお,各プレイヤーは自分から見て左側から数字が小さい順になるように,相手にわからないよう手札のカードを裏向けにして並べなければなりません.<br>
画面では,裏向きになっているカードは黒色で表示されます.(自分の手札は下側に表示されます)<br>
<img src="../images/description_algo/algo_start.png", class ="image_size">
<p> ゲームはプレイヤーが交互に「アタック」という行動を繰り返して進行していきます.<br>
アタックとは,相手の裏のカードを選んで,その数字を当てていくことをいいます.<br>
以下では,行動しているプレイヤーを「自分」,自分からみた相手プレイヤーを「相手」とします.</p>
 
<h3> デッキにカードが存在する場合</h3>
<ul>
自分はデッキからカードを1枚引いて,相手に見えないように自分だけ見ます.<br>
<img src="../images/description_algo/algo_draw.png", class ="image_size"><br>
そして,相手の手札の中から,数字を当てるカードを選びます.<br>
<img src="../images/description_algo/algo_target.png", class ="image_size"><br>
そのカードに対して,自分の手札や,相手の手札の状態をもとに,数字を推理します.そして,推理した数字を宣言します.<br>
<img src="../images/description_algo/algo_declare.png", class ="image_size"><br>
</ul>
 
<h3> デッキにカードが存在しない場合</h3>
<ul>
自分は手札から裏のカードを一枚選んで,相手の手札の中から数字を当てるカードを選びます.<br>
<img src="../images/description_algo/algo_select.png", class ="image_size"><br>
これ以降はデッキにカードが存在する場合と同様の流れで,推理した数字を宣言します.<br>
</ul>
 
<p>この時,相手は選ばれたカードと宣言された数字が一致しているかどうかを「Yes」か「No」で答えます.<br>
もし「No」だった場合,アタックは失敗となり,アタックに使用した自分のカードを表にして数字順になるように自分の手札に加えます.<br>
画面では,表になったカードは白色で表示されます.
<ul> <img src="../images/description_algo/algo_failed.png", class ="image_size"><br></ul>
もし「Yes」だった場合,アタックは成功となり,相手は当てられたカードを表にします.
アタックに使用した自分のカードは裏向きのまま,数字順になるように自分の手札に加えます.</p>
 
<ul><img src="../images/description_algo/algo_succeed.png", class ="image_size"><br></ul>
<p>そして,ターンを相手に渡します.</p>
<img src="../images/description_algo/algo_bot.png", class ="image_size">
<p>これを交互に繰り返します。</p>
 
<p>プレイヤーの手札のカードが全て表になったとき、そのプレイヤーはゲームに敗北します。</p>
<img src="../images/description_algo/algo_win.png", class ="image_size">
<img src="../images/description_algo/algo_lose.png", class ="image_size">
 
<p>プレイヤーの手札のカードが全て表になったとき、そのプレイヤーはゲームに敗北します。</p>
<p style="margin-bottom:3em;"></p>
<a href="EnvironmentAlgoLike.html">次へ</a>
<p style="margin-bottom:5em;"></p>
</body>
View
courseB/DescriptionStockManagement.html 0 → 100644
View
courseB/EnvironmentAlgolike.html 0 → 100644
View
courseB/EnvironmentStockManagement.html 0 → 100644
View
courseB/Explanation.html 0 → 100644
View
courseB/ProblemB1.html
View
courseB/ProblemB2.html
View
courseC/CourseDescriptionC.html 0 → 100644
View
courseC/DescriptionAlgolike.html 0 → 100644
View
courseC/DescriptionStockManagement.html 0 → 100644
View
courseC/EnvironmentAlgolike.html 0 → 100644
View
courseC/EnvironmentStockManagement.html 0 → 100644
View
courseC/Explanation.html 0 → 100644
View
courseC/ProblemC1.html 0 → 100644
View
courseC/ProblemC2.html 0 → 100644
View
courseD/CourseDescriptionD.html 0 → 100644
View
courseD/DescriptionAlgolike.html 0 → 100644
View
courseD/DescriptionStockManagement.html 0 → 100644
View
courseD/EnvironmentAlgolike.html 0 → 100644
View
courseD/EnvironmentStockManagement.html 0 → 100644
View
courseD/Explanation.html 0 → 100644
View
courseD/ProblemD1.html 0 → 100644
View
courseD/ProblemD2.html 0 → 100644
View
images/algo_class_pull.jpg
View
images/algo_class_push.jpg
View
images/algo_seq_pull.jpg 0 → 100644