aboutsummaryrefslogtreecommitdiff
path: root/practice
blob: 8c7c450a94fa2033700144aaa3be869c093e8a3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/sh

# Script based on nissy (see https://nissy.tronto.net) to practice FMC

# Usage: practice [eo|htr|slice]

usage() {
	echo "Usage: practice [eo|htr|slice]"
}

eo() {
	nextscr="$(nissy scramble)"
	while true; do
		scr="$nextscr"
		nextscr="$(nissy scramble)"
		echo "$scr"
		eofb="$(nissy solve -N -M 4 eofb -p "$scr")"
		eorl="$(nissy solve -N -M 4 eorl -p "$scr")"
		eoud="$(nissy solve -N -M 4 eoud -p "$scr")"
		nfbn="$(echo "$eofb" | grep -v '^$' | grep -Fv '(' | wc -l)"
		nrln="$(echo "$eorl" | grep -v '^$' | grep -Fv '(' | wc -l)"
		nudn="$(echo "$eoud" | grep -v '^$' | grep -Fv '(' | wc -l)"
		nfbi="$(echo "$eofb" | grep '^(' | wc -l)"
		nrli="$(echo "$eorl" | grep '^(' | wc -l)"
		nudi="$(echo "$eoud" | grep '^(' | wc -l)"
		nfbniss="$(echo "$eofb" | grep -v '^(' | grep '(' | wc -l)"
		nrlniss="$(echo "$eorl" | grep -v '^(' | grep '(' | wc -l)"
		nudniss="$(echo "$eoud" | grep -v '^(' | grep '(' | wc -l)"
		nfb="$((nfbn + nfbi + nfbniss))"
		nrl="$((nrln + nrli + nrlniss))"
		nud="$((nudn + nudi + nudniss))"
		read -r x
		echo "FB: $nfb ($nfbn normal, $nfbi inverse, $nfbniss niss)"
		echo "RL: $nrl ($nrln normal, $nrli inverse, $nrlniss niss)"
		echo "UD: $nud ($nudn normal, $nudi inverse, $nudniss niss)"
		read -r x
		echo "$eofb"
		echo "---"
		echo "$eorl"
		echo "---"
		echo "$eoud"
		read -r x
	done
}

htr() {
	nextscr="$(nissy scramble dr)"
	while true; do
		scr="$nextscr"
		nextscr="$(nissy scramble dr)"
		echo "$scr"
		read -r x
		nissy solve -o htr "$scr"
		read -r x
	done
}

slice() {
	nextscr="$(nissy scramble htr)"
	while true; do
		scr="$nextscr"
		nextscr="$(nissy scramble htr)"
		echo "$scr"
		read -r x
		nissy solve -o drudslice "$scr"
		read -r x
	done
}

if [ -z "$1" ]; then
	usage
	exit 1
fi

case "$1" in
	eo)
		eo
		;;
	htr)
		htr
		;;
	slice)
		slice
		;;
	*)
		usage
		exit 1
		;;
esac

Generated with cgit - Back to sebastiano.tronto.net