├── .browserslistrc
├── postcss.config.js
├── babel.config.js
├── public
├── favicon.ico
└── index.html
├── src
├── assets
│ └── logo.png
├── pages
│ ├── shims-vue.d.ts
│ ├── NNN
│ │ ├── main.ts
│ │ └── App.vue
│ ├── Game
│ │ ├── main.ts
│ │ └── App.vue
│ ├── Home
│ │ ├── main.ts
│ │ └── App.vue
│ └── shims-tsx.d.ts
└── components
│ ├── ProfileMenu.vue
│ ├── NumberDisplay.vue
│ ├── LineChart.vue
│ └── HelloWorld.vue
├── .gitignore
├── README.md
├── .eslintrc.js
├── .github
└── workflows
│ └── deploy.yml
├── vue.config.js
├── tsconfig.json
├── package.json
└── LICENSE
/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | autoprefixer: {}
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yourWaifu/you-are-crazy-rich-game/master/public/favicon.ico
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yourWaifu/you-are-crazy-rich-game/master/src/assets/logo.png
--------------------------------------------------------------------------------
/src/pages/shims-vue.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.vue' {
2 | import Vue from 'vue'
3 | export default Vue
4 | }
5 |
--------------------------------------------------------------------------------
/src/pages/NNN/main.ts:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 |
4 | Vue.config.productionTip = false
5 |
6 | new Vue({
7 | render: h => h(App),
8 | }).$mount('#app')
--------------------------------------------------------------------------------
/src/pages/Game/main.ts:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 |
4 | Vue.config.productionTip = false
5 |
6 | new Vue({
7 | render: h => h(App),
8 | }).$mount('#app')
9 |
--------------------------------------------------------------------------------
/src/pages/Home/main.ts:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 |
4 | Vue.config.productionTip = false
5 |
6 | new Vue({
7 | render: h => h(App),
8 | }).$mount('#app')
9 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 | # local env files
6 | .env.local
7 | .env.*.local
8 |
9 | # Log files
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 |
14 | # Editor directories and files
15 | .idea
16 | .vscode
17 | *.suo
18 | *.ntvs*
19 | *.njsproj
20 | *.sln
21 | *.sw?
22 |
--------------------------------------------------------------------------------
/src/components/ProfileMenu.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Bill gates image here
5 |
Bill Gate
6 |
7 |
8 |
9 |
10 |
14 |
15 |
--------------------------------------------------------------------------------
/src/pages/shims-tsx.d.ts:
--------------------------------------------------------------------------------
1 | import Vue, { VNode } from 'vue'
2 |
3 | declare global {
4 | namespace JSX {
5 | // tslint:disable no-empty-interface
6 | interface Element extends VNode {}
7 | // tslint:disable no-empty-interface
8 | interface ElementClass extends Vue {}
9 | interface IntrinsicElements {
10 | [elem: string]: any
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/components/NumberDisplay.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{value}}
4 |
5 |
6 |
7 |
15 |
16 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # you-are-crazy-rich-game
2 |
3 | ## Project setup
4 | ```
5 | npm install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | npm run serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | npm run build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | npm run lint
21 | ```
22 |
23 | ### Customize configuration
24 | See [Configuration Reference](https://cli.vuejs.org/config/).
25 |
--------------------------------------------------------------------------------
/src/components/LineChart.vue:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | node: true
5 | },
6 | 'extends': [
7 | 'plugin:vue/essential',
8 | 'eslint:recommended',
9 | '@vue/typescript'
10 | ],
11 | rules: {
12 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
13 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
14 | },
15 | parserOptions: {
16 | parser: '@typescript-eslint/parser'
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | you-are-crazy-rich-game
9 |
10 |
11 |
12 | We're sorry but you-are-crazy-rich-game doesn't work properly without JavaScript enabled. Please enable it to continue.
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/.github/workflows/deploy.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on: [push]
4 |
5 | jobs:
6 | build:
7 |
8 | runs-on: ubuntu-latest
9 |
10 | steps:
11 | - name: Checkout
12 | uses: actions/checkout@v1
13 | - name: npm packages
14 | run: npm install
15 | - name: Build
16 | run: npm run build
17 | - name: Deploy to GitHub Pages
18 | uses: JamesIves/github-pages-deploy-action@3.0.4
19 | with:
20 | ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
21 | BASE_BRANCH: master # The branch the action should deploy from.
22 | BRANCH: gh-pages # The branch the action should deploy to.
23 | FOLDER: 'dist' # The folder the action should deploy.
24 |
--------------------------------------------------------------------------------
/vue.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | publicPath: "./",
3 | pages: {
4 | 'index': {
5 | entry: './src/pages/Home/main.ts',
6 | template: 'public/index.html',
7 | title: 'Home',
8 | chunks: [ 'chunk-vendors', 'chunk-common', 'index' ]
9 | },
10 | 'nnn': {
11 | entry: './src/pages/NNN/main.ts',
12 | template: 'public/index.html',
13 | title: 'NNN',
14 | chunks: [ 'chunk-vendors', 'chunk-common', 'nnn' ]
15 | },
16 | 'game': {
17 | entry: './src/pages/Game/main.ts',
18 | template: 'public/index.html',
19 | title: 'Game',
20 | chunks: [ 'chunk-vendors', 'chunk-common', 'game' ]
21 | }
22 | },
23 | devServer: {
24 | watchOptions: {
25 | poll: true
26 | }
27 | },
28 | chainWebpack: config => config.optimization.minimize(false)
29 | }
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "strict": true,
6 | "jsx": "preserve",
7 | "importHelpers": true,
8 | "moduleResolution": "node",
9 | "experimentalDecorators": true,
10 | "esModuleInterop": true,
11 | "allowSyntheticDefaultImports": true,
12 | "sourceMap": true,
13 | "baseUrl": ".",
14 | "types": [
15 | "webpack-env"
16 | ],
17 | "paths": {
18 | "@/*": [
19 | "src/*"
20 | ]
21 | },
22 | "lib": [
23 | "esnext",
24 | "dom",
25 | "dom.iterable",
26 | "scripthost"
27 | ]
28 | },
29 | "include": [
30 | "src/**/*.ts",
31 | "src/**/*.tsx",
32 | "src/**/*.vue",
33 | "tests/**/*.ts",
34 | "tests/**/*.tsx"
35 | ],
36 | "exclude": [
37 | "node_modules"
38 | ]
39 | }
40 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "you-are-crazy-rich-game",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "@types/chart.js": "^2.9.4",
12 | "chart.js": "^2.9.3",
13 | "core-js": "^3.3.2",
14 | "vue": "^2.6.10",
15 | "vue-chartjs": "^3.5.0",
16 | "vue-class-component": "^7.0.2",
17 | "vue-property-decorator": "^8.3.0"
18 | },
19 | "devDependencies": {
20 | "@vue/cli-plugin-babel": "^4.0.0",
21 | "@vue/cli-plugin-eslint": "^4.0.0",
22 | "@vue/cli-plugin-typescript": "^4.0.0",
23 | "@vue/cli-service": "^4.0.0",
24 | "@vue/eslint-config-typescript": "^4.0.0",
25 | "eslint": "^5.16.0",
26 | "eslint-plugin-vue": "^5.0.0",
27 | "typescript": "~3.5.3",
28 | "vue-template-compiler": "^2.6.10"
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Sleepy Flower Girl
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/src/pages/NNN/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
No Nut November Sim
4 |
{{ message }}
5 |
NUT
6 |
Nut count: {{ nutCount }}
7 |
Time til December: {{ timeLeft }}
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/pages/Home/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
You are CRazY Rich!!
4 |
Spend all your money!
5 |
8 |
Play prototype
9 |
View on GitHub
10 |
Sponsor
11 |
12 | This is just a school project to show off what I can do.
13 |
About
14 | After spending lots of your money, you've destroyed some other's county's economy and now they are after you. You only have a month to spend all your money somehow.
15 |
16 |
17 |
18 |
29 |
30 |
40 |
--------------------------------------------------------------------------------
/src/components/HelloWorld.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{{ msg }}
4 |
5 | For a guide and recipes on how to configure / customize this project,
6 | check out the
7 | vue-cli documentation .
8 |
9 |
Installed CLI Plugins
10 |
15 |
Essential Links
16 |
23 |
Ecosystem
24 |
31 |
32 |
33 |
34 |
42 |
43 |
44 |
60 |
--------------------------------------------------------------------------------
/src/pages/Game/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{{ message }}
4 |
Money per second: {{ currency }}
5 |
Money count: {{ currency }}
6 |
7 |
Time Left: seconds
8 |
Donate {{ donationPower }} {{ currency }}
9 |
10 |
11 |
Upgrades
12 |
17 | {{upgrade.name}} +{{formatNumberToSI(upgrade.profit)}}{{currency}}
18 |
19 |
Actions
20 |
25 | {{action.name}} +{{formatNumberToSI(action.profit, (value) => value.toFixed(2))}}{{currency}} {{action.count}}
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------