0.1.4
This commit is contained in:
38
bash_scripts/generate.sh
Executable file
38
bash_scripts/generate.sh
Executable file
@@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# relative or absolute path where the classes are
|
||||||
|
path=../public/data/class/*
|
||||||
|
|
||||||
|
# image filetype needs to be the same
|
||||||
|
file_type=*.jpg
|
||||||
|
|
||||||
|
# REGEX
|
||||||
|
reg='(.*)class\/([0\-9A\-z_]*)\/([0\-9A\-z_]*)\.jpg'
|
||||||
|
#reg='class\/([0\-9A\-z_]*)'
|
||||||
|
for i in $path
|
||||||
|
do
|
||||||
|
if [ -d "$i" ]; then
|
||||||
|
#echo "$i"
|
||||||
|
|
||||||
|
json_file=$i/user.json
|
||||||
|
|
||||||
|
printf '{\n"user":[\n'>$json_file
|
||||||
|
|
||||||
|
for j in $i/*
|
||||||
|
do
|
||||||
|
|
||||||
|
if [[ $j == ${file_type} ]]; then
|
||||||
|
if [[ $j =~ ${reg} ]]; then
|
||||||
|
echo "${BASH_REMATCH[3]}"
|
||||||
|
printf '"'>>$json_file
|
||||||
|
printf ${BASH_REMATCH[3]}>>$json_file
|
||||||
|
printf '",\n'>>$json_file
|
||||||
|
else
|
||||||
|
echo "TEST2"
|
||||||
|
echo $j
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
cat $json_file | rev | cut -c 3- | rev
|
||||||
|
|
||||||
|
fi
|
||||||
|
done
|
||||||
0
bash_scripts/regenerate.sh
Normal file
0
bash_scripts/regenerate.sh
Normal file
0
public/data/class/example/test.jpg
Normal file
0
public/data/class/example/test.jpg
Normal file
@@ -1,8 +1,26 @@
|
|||||||
{
|
{
|
||||||
"user":[
|
"user": [
|
||||||
"max_mustermann",
|
"stanislav_teun",
|
||||||
"bernd_baecker",
|
"christina_juliana",
|
||||||
"fred_fischer",
|
"nele_mechthild",
|
||||||
"charley_"
|
"hans-guenther_Patrick",
|
||||||
|
"irmingrad_eckhard",
|
||||||
|
"felix_leonore",
|
||||||
|
"ruediger_gregor",
|
||||||
|
"kai_tanja",
|
||||||
|
"hans_judit",
|
||||||
|
"susann_laurenz",
|
||||||
|
"mathis_raphaela",
|
||||||
|
"stanislav_teun",
|
||||||
|
"christina_juliana",
|
||||||
|
"nele_mechthild",
|
||||||
|
"hans-guenther_Patrick",
|
||||||
|
"irmingrad_eckhard",
|
||||||
|
"felix_leonore",
|
||||||
|
"ruediger_gregor",
|
||||||
|
"kai_tanja",
|
||||||
|
"hans_judit",
|
||||||
|
"susann_laurenz",
|
||||||
|
"mathis_raphaela"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -13,12 +13,17 @@ export class Main extends React.Component{
|
|||||||
selected:"-",
|
selected:"-",
|
||||||
students:[],
|
students:[],
|
||||||
stud_html:[],
|
stud_html:[],
|
||||||
choose:1
|
choose:1,
|
||||||
|
|
||||||
|
prank:30,
|
||||||
|
prank_i:0,
|
||||||
|
prank_delay:100
|
||||||
}
|
}
|
||||||
|
|
||||||
this.selCh = this.selCh.bind(this);
|
this.selCh = this.selCh.bind(this);
|
||||||
this.changeChoosen = this.changeChoosen.bind(this);
|
this.changeChoosen = this.changeChoosen.bind(this);
|
||||||
this.choose = this.choose.bind(this);
|
this.choose = this.choose.bind(this);
|
||||||
|
this.chooseInit = this.chooseInit.bind(this);
|
||||||
|
|
||||||
var me = this;
|
var me = this;
|
||||||
Classes.load_Classes((data)=>{
|
Classes.load_Classes((data)=>{
|
||||||
@@ -51,21 +56,40 @@ export class Main extends React.Component{
|
|||||||
changeChoosen(e){
|
changeChoosen(e){
|
||||||
this.setState({choose:e.target.value})
|
this.setState({choose:e.target.value})
|
||||||
}
|
}
|
||||||
|
chooseInit(){
|
||||||
|
this.setState({prank_i:0})
|
||||||
|
this.choose();
|
||||||
|
}
|
||||||
choose(){
|
choose(){
|
||||||
|
for(var i in User.user_arr){
|
||||||
|
User.user_arr[i].appear();
|
||||||
|
}
|
||||||
var me = this;
|
var me = this;
|
||||||
var c = [];
|
var c = [];
|
||||||
for(var i = 0;i<this.state.choose;i++){
|
var users = User.user_arr.length;
|
||||||
var y = -1;
|
var needed = User.user_arr.length-this.state.choose;
|
||||||
var nc = false;
|
|
||||||
y = Math.floor(Math.random()*User.user_arr.length);
|
|
||||||
if(c[0]==y){
|
|
||||||
y = Math.floor(Math.random()*User.user_arr.length);
|
|
||||||
}
|
|
||||||
c.push(y);
|
|
||||||
|
|
||||||
User.user_arr[y].disappear();
|
var already_picked = [];
|
||||||
|
|
||||||
|
for(var i = 0;i<needed;i++){
|
||||||
|
var pushed = false;
|
||||||
|
do {
|
||||||
|
var x = Math.floor(Math.random()*users);
|
||||||
|
if(already_picked.indexOf(x)===-1){
|
||||||
|
already_picked.push(x);
|
||||||
|
console.log(x);
|
||||||
|
User.user_arr[x].disappear();
|
||||||
|
pushed = true;
|
||||||
|
}
|
||||||
|
} while (pushed == false);
|
||||||
}
|
}
|
||||||
console.log(c)
|
setTimeout(function(){
|
||||||
|
if(me.state.prank > me.state.prank_i){
|
||||||
|
me.setState({prank_i:me.state.prank_i+1})
|
||||||
|
me.choose();
|
||||||
|
}
|
||||||
|
|
||||||
|
},me.state.prank_delay)
|
||||||
}
|
}
|
||||||
render(){
|
render(){
|
||||||
return (
|
return (
|
||||||
@@ -83,7 +107,7 @@ export class Main extends React.Component{
|
|||||||
<input type="number" min="1" value={this.state.choose} onChange={this.changeChoosen}/>
|
<input type="number" min="1" value={this.state.choose} onChange={this.changeChoosen}/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<button onClick={this.choose}>Auswählen</button>
|
<button onClick={this.chooseInit}>Auswählen</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="studentList">
|
<div className="studentList">
|
||||||
|
|||||||
@@ -30,6 +30,9 @@ export class Student extends React.Component{
|
|||||||
var url = '/data/class/student.svg';
|
var url = '/data/class/student.svg';
|
||||||
this.setState({img_url:url});
|
this.setState({img_url:url});
|
||||||
}
|
}
|
||||||
|
appear(){
|
||||||
|
this.setState({dis:""});
|
||||||
|
}
|
||||||
disappear(){
|
disappear(){
|
||||||
this.setState({dis:"disappear"});
|
this.setState({dis:"disappear"});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,8 +26,14 @@ html,body{
|
|||||||
border: 1px solid #454545;
|
border: 1px solid #454545;
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
transition: cubic-bezier(0.075, 0.82, 0.165, 1) 1000ms;
|
||||||
&.disappear{
|
&.disappear{
|
||||||
opacity: 0;
|
opacity: 0.09;
|
||||||
|
transition: cubic-bezier(0.075, 0.82, 0.165, 1) 1000ms;
|
||||||
|
}
|
||||||
|
&.appear{
|
||||||
|
opacity: 1;
|
||||||
|
transition: cubic-bezier(0.075, 0.82, 0.165, 1) 1000ms;
|
||||||
}
|
}
|
||||||
.user_img{
|
.user_img{
|
||||||
img{
|
img{
|
||||||
|
|||||||
18
test/random.js
Normal file
18
test/random.js
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
var users = 10;
|
||||||
|
var needed = 5;
|
||||||
|
|
||||||
|
var already_picked = [];
|
||||||
|
|
||||||
|
for(var i = 0;i<needed;i++){
|
||||||
|
var pushed = false;
|
||||||
|
do {
|
||||||
|
var x = Math.floor(Math.random()*users);
|
||||||
|
if(already_picked.indexOf(x)===-1){
|
||||||
|
already_picked.push(x);
|
||||||
|
console.log(x);
|
||||||
|
pushed = true;
|
||||||
|
}
|
||||||
|
} while (pushed == false);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user