You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
171 lines
18 KiB
171 lines
18 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "232d592791465c1678cab3a2bb6cd3e8",
|
|
"translation_date": "2025-10-22T18:09:20+00:00",
|
|
"source_file": "6-space-game/6-end-condition/assignment.md",
|
|
"language_code": "pa"
|
|
}
|
|
-->
|
|
# ਨਮੂਨਾ ਗੇਮ ਬਣਾਓ
|
|
|
|
## ਅਸਾਈਨਮੈਂਟ ਝਲਕ
|
|
|
|
ਹੁਣ ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਸਪੇਸ ਗੇਮ ਵਿੱਚ ਖੇਡ ਦੇ ਅੰਤ ਦੀਆਂ ਸ਼ਰਤਾਂ ਅਤੇ ਰੀਸਟਾਰਟ ਫੰਕਸ਼ਨਲਿਟੀ ਵਿੱਚ ਮਾਹਰ ਹੋ ਗਏ ਹੋ, ਇਹ ਸਮਾਂ ਹੈ ਕਿ ਤੁਸੀਂ ਇਹ ਧਾਰਨਾਵਾਂ ਇੱਕ ਬਿਲਕੁਲ ਨਵੀਂ ਗੇਮਿੰਗ ਅਨੁਭਵ ਵਿੱਚ ਲਾਗੂ ਕਰੋ। ਤੁਸੀਂ ਆਪਣੀ ਗੇਮ ਡਿਜ਼ਾਈਨ ਅਤੇ ਬਣਾਉਣ ਜਾ ਰਹੇ ਹੋ ਜੋ ਵੱਖ-ਵੱਖ ਅੰਤ ਦੀਆਂ ਸ਼ਰਤਾਂ ਅਤੇ ਰੀਸਟਾਰਟ ਮਕੈਨਿਕਸ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।
|
|
|
|
ਇਹ ਅਸਾਈਨਮੈਂਟ ਤੁਹਾਨੂੰ ਗੇਮ ਡਿਜ਼ਾਈਨ ਬਾਰੇ ਰਚਨਾਤਮਕ ਸੋਚਣ ਦੀ ਚੁਣੌਤੀ ਦਿੰਦਾ ਹੈ ਜਦੋਂ ਕਿ ਤੁਸੀਂ ਸਿੱਖੀਆਂ ਤਕਨੀਕੀ ਹੁਨਰਾਂ ਦਾ ਅਭਿਆਸ ਕਰਦੇ ਹੋ। ਤੁਸੀਂ ਵੱਖ-ਵੱਖ ਜਿੱਤ ਅਤੇ ਹਾਰ ਦੇ ਦ੍ਰਿਸ਼ਾਂ ਦੀ ਪੜਚੋਲ ਕਰੋਗੇ, ਖਿਡਾਰੀ ਦੀ ਤਰੱਕੀ ਨੂੰ ਲਾਗੂ ਕਰੋਗੇ, ਅਤੇ ਰੁਚਿਕਰ ਰੀਸਟਾਰਟ ਅਨੁਭਵ ਬਣਾਓਗੇ।
|
|
|
|
## ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਲੋੜਾਂ
|
|
|
|
### ਮੁੱਖ ਗੇਮ ਫੀਚਰ
|
|
|
|
ਤੁਹਾਡੀ ਗੇਮ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੇ ਜ਼ਰੂਰੀ ਤੱਤ ਸ਼ਾਮਲ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ:
|
|
|
|
**ਅੰਤ ਦੀਆਂ ਸ਼ਰਤਾਂ ਵਿੱਚ ਵੱਖ-ਵੱਖਤਾ**: ਘੱਟੋ-ਘੱਟ ਦੋ ਵੱਖ-ਵੱਖ ਤਰੀਕੇ ਲਾਗੂ ਕਰੋ ਜਿਨ੍ਹਾਂ ਨਾਲ ਗੇਮ ਖਤਮ ਹੋ ਸਕਦੀ ਹੈ:
|
|
- **ਪੁਆਇੰਟ-ਅਧਾਰਿਤ ਜਿੱਤ**: ਖਿਡਾਰੀ ਟਾਰਗਟ ਸਕੋਰ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ ਜਾਂ ਖਾਸ ਆਈਟਮ ਇਕੱਠੇ ਕਰਦਾ ਹੈ
|
|
- **ਜੀਵਨ-ਅਧਾਰਿਤ ਹਾਰ**: ਖਿਡਾਰੀ ਸਾਰੇ ਉਪਲਬਧ ਜੀਵਨ ਜਾਂ ਸਿਹਤ ਦੇ ਅੰਕ ਗੁਆ ਲੈਂਦਾ ਹੈ
|
|
- **ਉਦੇਸ਼ ਪੂਰਾ ਕਰਨਾ**: ਸਾਰੇ ਦੁਸ਼ਮਨ ਹਾਰ ਜਾਂਦੇ ਹਨ, ਖਾਸ ਆਈਟਮ ਇਕੱਠੇ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਜਾਂ ਟੀਚੇ ਹਾਸਲ ਕੀਤੇ ਜਾਂਦੇ ਹਨ
|
|
- **ਸਮਾਂ-ਅਧਾਰਿਤ**: ਗੇਮ ਇੱਕ ਨਿਰਧਾਰਿਤ ਸਮੇਂ ਦੇ ਬਾਅਦ ਜਾਂ ਕਾਊਂਟਡਾਊਨ ਖਤਮ ਹੋਣ 'ਤੇ ਖਤਮ ਹੁੰਦੀ ਹੈ
|
|
|
|
**ਰੀਸਟਾਰਟ ਫੰਕਸ਼ਨਲਿਟੀ**:
|
|
- **ਗੇਮ ਸਟੇਟ ਸਾਫ਼ ਕਰੋ**: ਸਾਰੇ ਪਿਛਲੇ ਗੇਮ ਆਬਜੈਕਟ ਹਟਾਓ ਅਤੇ ਵੈਰੀਏਬਲ ਰੀਸੈਟ ਕਰੋ
|
|
- **ਸਿਸਟਮ ਨੂੰ ਮੁੜ ਸ਼ੁਰੂ ਕਰੋ**: ਨਵੇਂ ਖਿਡਾਰੀ ਦੇ ਅੰਕ, ਦੁਸ਼ਮਨ, ਅਤੇ ਟੀਚਿਆਂ ਨਾਲ ਤਾਜ਼ਾ ਸ਼ੁਰੂ ਕਰੋ
|
|
- **ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਕੰਟਰੋਲ**: ਗੇਮ ਨੂੰ ਮੁੜ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸਪਸ਼ਟ ਹਦਾਇਤਾਂ ਦਿਓ
|
|
|
|
**ਖਿਡਾਰੀ ਫੀਡਬੈਕ**:
|
|
- **ਜਿੱਤ ਦੇ ਸੁਨੇਹੇ**: ਖਿਡਾਰੀ ਦੀਆਂ ਉਪਲਬਧੀਆਂ ਨੂੰ ਸਕਾਰਾਤਮਕ ਫੀਡਬੈਕ ਨਾਲ ਮਨਾਇਆ ਜਾਵੇ
|
|
- **ਹਾਰ ਦੇ ਸੁਨੇਹੇ**: ਉਤਸ਼ਾਹਜਨਕ ਸੁਨੇਹੇ ਦਿਓ ਜੋ ਮੁੜ ਖੇਡਣ ਲਈ ਪ੍ਰੇਰਿਤ ਕਰਦੇ ਹਨ
|
|
- **ਤਰੱਕੀ ਦੇ ਸੰਕੇਤ**: ਮੌਜੂਦਾ ਸਕੋਰ, ਜੀਵਨ, ਜਾਂ ਟੀਚੇ ਦੀ ਸਥਿਤੀ ਦਿਖਾਓ
|
|
|
|
### ਗੇਮ ਦੇ ਵਿਚਾਰ ਅਤੇ ਪ੍ਰੇਰਣਾ
|
|
|
|
ਇਨ੍ਹਾਂ ਗੇਮ ਸੰਕਲਪਾਂ ਵਿੱਚੋਂ ਇੱਕ ਚੁਣੋ ਜਾਂ ਆਪਣੀ ਬਣਾਓ:
|
|
|
|
#### 1. ਕੰਸੋਲ ਐਡਵੈਂਚਰ ਗੇਮ
|
|
ਕੰਬੈਟ ਮਕੈਨਿਕਸ ਨਾਲ ਇੱਕ ਟੈਕਸਟ-ਅਧਾਰਿਤ ਐਡਵੈਂਚਰ ਬਣਾਓ:
|
|
|
|
```
|
|
Hero> Strikes with broadsword - orc takes 3p damage
|
|
Orc> Hits with club - hero takes 2p damage
|
|
Hero> Kicks - orc takes 1p damage
|
|
Game> Orc is defeated - Hero collects 2 coins
|
|
Game> ****No more monsters, you have conquered the evil fortress****
|
|
```
|
|
|
|
**ਲਾਗੂ ਕਰਨ ਲਈ ਮੁੱਖ ਫੀਚਰ**:
|
|
- **ਟਰਨ-ਅਧਾਰਿਤ ਕੰਬੈਟ** ਵੱਖ-ਵੱਖ ਹਮਲੇ ਦੇ ਵਿਕਲਪਾਂ ਨਾਲ
|
|
- **ਸਿਹਤ ਦੇ ਅੰਕ** ਖਿਡਾਰੀ ਅਤੇ ਦੁਸ਼ਮਨ ਦੋਵਾਂ ਲਈ
|
|
- **ਇਨਵੈਂਟਰੀ ਸਿਸਟਮ** ਸਿੱਕੇ ਜਾਂ ਆਈਟਮ ਇਕੱਠੇ ਕਰਨ ਲਈ
|
|
- **ਕਈ ਤਰ੍ਹਾਂ ਦੇ ਦੁਸ਼ਮਨ** ਵੱਖ-ਵੱਖ ਮੁਸ਼ਕਲਾਈ ਦੇ ਨਾਲ
|
|
- **ਜਿੱਤ ਦੀ ਸ਼ਰਤ** ਜਦੋਂ ਸਾਰੇ ਦੁਸ਼ਮਨ ਹਾਰ ਜਾਂਦੇ ਹਨ
|
|
|
|
#### 2. ਕਲੈਕਸ਼ਨ ਗੇਮ
|
|
- **ਟੀਚਾ**: ਖਾਸ ਆਈਟਮ ਇਕੱਠੇ ਕਰੋ ਜਦੋਂ ਕਿ ਰੁਕਾਵਟਾਂ ਤੋਂ ਬਚਦੇ ਹੋ
|
|
- **ਅੰਤ ਦੀਆਂ ਸ਼ਰਤਾਂ**: ਟਾਰਗਟ ਕਲੈਕਸ਼ਨ ਗਿਣਤੀ ਤੱਕ ਪਹੁੰਚੋ ਜਾਂ ਸਾਰੇ ਜੀਵਨ ਗੁਆ ਲਵੋ
|
|
- **ਤਰੱਕੀ**: ਆਈਟਮ ਗੇਮ ਦੇ ਜਾਰੀ ਰਹਿਣ ਨਾਲ ਪਹੁੰਚਣ ਲਈ ਮੁਸ਼ਕਲ ਹੋ ਜਾਂਦੇ ਹਨ
|
|
|
|
#### 3. ਪਜ਼ਲ ਗੇਮ
|
|
- **ਟੀਚਾ**: ਵਧ ਰਹੀਆਂ ਮੁਸ਼ਕਲ ਪਜ਼ਲਾਂ ਹੱਲ ਕਰੋ
|
|
- **ਅੰਤ ਦੀਆਂ ਸ਼ਰਤਾਂ**: ਸਾਰੇ ਲੈਵਲ ਪੂਰੇ ਕਰੋ ਜਾਂ ਚਲਾਂ/ਸਮਾਂ ਖਤਮ ਹੋ ਜਾਵੇ
|
|
- **ਰੀਸਟਾਰਟ**: ਪਹਿਲੇ ਲੈਵਲ 'ਤੇ ਮੁੜ ਸੈਟ ਕਰੋ ਅਤੇ ਤਰੱਕੀ ਸਾਫ਼ ਕਰੋ
|
|
|
|
#### 4. ਡਿਫੈਂਸ ਗੇਮ
|
|
- **ਟੀਚਾ**: ਆਪਣੇ ਬੇਸ ਨੂੰ ਦੁਸ਼ਮਨਾਂ ਦੀ ਲਹਿਰਾਂ ਤੋਂ ਬਚਾਓ
|
|
- **ਅੰਤ ਦੀਆਂ ਸ਼ਰਤਾਂ**: ਸਾਰੀਆਂ ਲਹਿਰਾਂ ਤੋਂ ਬਚੋ (ਜਿੱਤ) ਜਾਂ ਬੇਸ ਨਸ਼ਟ ਹੋ ਜਾਂਦਾ ਹੈ (ਹਾਰ)
|
|
- **ਤਰੱਕੀ**: ਦੁਸ਼ਮਨ ਦੀਆਂ ਲਹਿਰਾਂ ਦੀ ਮੁਸ਼ਕਲ ਅਤੇ ਗਿਣਤੀ ਵਿੱਚ ਵਾਧਾ ਹੁੰਦਾ ਹੈ
|
|
|
|
## ਲਾਗੂ ਕਰਨ ਦੇ ਨਿਯਮ
|
|
|
|
### ਸ਼ੁਰੂਆਤ ਕਰਨਾ
|
|
|
|
1. **ਆਪਣੀ ਗੇਮ ਡਿਜ਼ਾਈਨ ਦੀ ਯੋਜਨਾ ਬਣਾਓ**:
|
|
- ਬੁਨਿਆਦੀ ਗੇਮਪਲੇ ਲੂਪ ਦਾ ਸਕੈਚ ਬਣਾਓ
|
|
- ਆਪਣੀਆਂ ਅੰਤ ਦੀਆਂ ਸ਼ਰਤਾਂ ਨੂੰ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
|
|
- ਪਛਾਣੋ ਕਿ ਰੀਸਟਾਰਟ 'ਤੇ ਕਿਹੜੇ ਡਾਟਾ ਨੂੰ ਰੀਸੈਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ
|
|
|
|
2. **ਆਪਣੀ ਪ੍ਰੋਜੈਕਟ ਸਟ੍ਰਕਚਰ ਸੈਟ ਕਰੋ**:
|
|
```
|
|
my-game/
|
|
├── index.html
|
|
├── style.css
|
|
├── game.js
|
|
└── README.md
|
|
```
|
|
|
|
3. **ਆਪਣਾ ਮੁੱਖ ਗੇਮ ਲੂਪ ਬਣਾਓ**:
|
|
- ਗੇਮ ਸਟੇਟ ਸ਼ੁਰੂ ਕਰੋ
|
|
- ਉਪਭੋਗਤਾ ਇਨਪੁਟ ਨੂੰ ਸੰਭਾਲੋ
|
|
- ਗੇਮ ਲਾਜਿਕ ਅਪਡੇਟ ਕਰੋ
|
|
- ਅੰਤ ਦੀਆਂ ਸ਼ਰਤਾਂ ਦੀ ਜਾਂਚ ਕਰੋ
|
|
- ਮੌਜੂਦਾ ਸਥਿਤੀ ਨੂੰ ਰੈਂਡਰ ਕਰੋ
|
|
|
|
### ਤਕਨੀਕੀ ਲੋੜਾਂ
|
|
|
|
**ਮਾਡਰਨ ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਰਤੋ**:
|
|
- ਵੈਰੀਏਬਲ ਡਿਕਲੇਰੇਸ਼ਨ ਲਈ `const` ਅਤੇ `let` ਲਾਗੂ ਕਰੋ
|
|
- ਜਿੱਥੇ ਉਚਿਤ ਹੋਵੇ, ਐਰੋ ਫੰਕਸ਼ਨ ਵਰਤੋ
|
|
- ES6+ ਫੀਚਰਾਂ ਜਿਵੇਂ ਟੈਂਪਲੇਟ ਲਿਟਰਲ ਅਤੇ ਡਿਸਟ੍ਰਕਚਰਿੰਗ ਨੂੰ ਲਾਗੂ ਕਰੋ
|
|
|
|
**ਇਵੈਂਟ-ਡ੍ਰਿਵਨ ਆਰਕੀਟੈਕਚਰ**:
|
|
- ਉਪਭੋਗਤਾ ਇੰਟਰੈਕਸ਼ਨ ਲਈ ਇਵੈਂਟ ਹੈਂਡਲਰ ਬਣਾਓ
|
|
- ਇਵੈਂਟਾਂ ਰਾਹੀਂ ਗੇਮ ਸਟੇਟ ਵਿੱਚ ਬਦਲਾਅ ਲਾਗੂ ਕਰੋ
|
|
- ਰੀਸਟਾਰਟ ਫੰਕਸ਼ਨਲਿਟੀ ਲਈ ਇਵੈਂਟ ਲਿਸਨਰ ਵਰਤੋ
|
|
|
|
**ਸਾਫ਼ ਕੋਡ ਅਭਿਆਸ**:
|
|
- ਸਿੰਗਲ ਜ਼ਿੰਮੇਵਾਰੀ ਵਾਲੇ ਫੰਕਸ਼ਨ ਲਿਖੋ
|
|
- ਵੈਰੀਏਬਲ ਅਤੇ ਫੰਕਸ਼ਨ ਦੇ ਨਾਮ ਵਿਆਖਿਆਤਮਕ ਰੱਖੋ
|
|
- ਗੇਮ ਲਾਜਿਕ ਅਤੇ ਨਿਯਮਾਂ ਦੀ ਵਿਆਖਿਆ ਕਰਨ ਵਾਲੇ ਟਿੱਪਣੀਆਂ ਸ਼ਾਮਲ ਕਰੋ
|
|
- ਕੋਡ ਨੂੰ ਤਰਕਸੰਗਤ ਭਾਗਾਂ ਵਿੱਚ ਸੰਗਠਿਤ ਕਰੋ
|
|
|
|
## ਸਬਮਿਸ਼ਨ ਦੀਆਂ ਲੋੜਾਂ
|
|
|
|
### ਡਿਲੀਵਰੇਬਲਜ਼
|
|
|
|
1. **ਪੂਰੀ ਗੇਮ ਫਾਈਲਾਂ**: ਸਾਰੀਆਂ HTML, CSS, ਅਤੇ ਜਾਵਾਸਕ੍ਰਿਪਟ ਫਾਈਲਾਂ ਜੋ ਤੁਹਾਡੀ ਗੇਮ ਚਲਾਉਣ ਲਈ ਲੋੜੀਂਦੀਆਂ ਹਨ
|
|
2. **README.md**: ਦਸਤਾਵੇਜ਼ ਜੋ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ:
|
|
- ਤੁਹਾਡੀ ਗੇਮ ਕਿਵੇਂ ਖੇਡਣੀ ਹੈ
|
|
- ਤੁਸੀਂ ਕਿਹੜੀਆਂ ਅੰਤ ਦੀਆਂ ਸ਼ਰਤਾਂ ਲਾਗੂ ਕੀਤੀਆਂ ਹਨ
|
|
- ਰੀਸਟਾਰਟ ਲਈ ਹਦਾਇਤਾਂ
|
|
- ਕੋਈ ਖਾਸ ਫੀਚਰ ਜਾਂ ਮਕੈਨਿਕਸ
|
|
3. **ਕੋਡ ਟਿੱਪਣੀਆਂ**: ਤੁਹਾਡੀ ਗੇਮ ਲਾਜਿਕ ਅਤੇ ਐਲਗੋਰਿਦਮ ਦੀ ਸਪਸ਼ਟ ਵਿਆਖਿਆ
|
|
|
|
### ਟੈਸਟਿੰਗ ਚੈੱਕਲਿਸਟ
|
|
|
|
ਸਬਮਿਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡੀ ਗੇਮ:
|
|
|
|
- [ ] **ਬ੍ਰਾਊਜ਼ਰ ਕਨਸੋਲ ਵਿੱਚ ਬਿਨਾਂ ਕਿਸੇ ਗਲਤੀ ਦੇ ਚੱਲਦੀ ਹੈ**
|
|
- [ ] **ਨਿਰਧਾਰਿਤ ਅਨੁਸਾਰ ਕਈ ਅੰਤ ਦੀਆਂ ਸ਼ਰਤਾਂ ਲਾਗੂ ਕਰਦੀ ਹੈ**
|
|
- [ ] **ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਰੀਸਟਾਰਟ ਹੁੰਦੀ ਹੈ** ਸਾਫ਼ ਸਟੇਟ ਰੀਸੈਟ ਨਾਲ
|
|
- [ ] **ਖਿਡਾਰੀਆਂ ਨੂੰ ਗੇਮ ਸਥਿਤੀ ਬਾਰੇ ਸਪਸ਼ਟ ਫੀਡਬੈਕ ਦਿੰਦੀ ਹੈ**
|
|
- [ ] **ਮਾਡਰਨ ਜਾਵਾਸਕ੍ਰਿਪਟ** ਸਿੰਟੈਕਸ ਅਤੇ ਬਿਹਤਰ ਅਭਿਆਸ ਵਰਤਦੀ ਹੈ
|
|
- [ ] **README.md ਵਿੱਚ ਵਿਸਤ੍ਰਿਤ ਦਸਤਾਵੇਜ਼ ਸ਼ਾਮਲ ਹੈ**
|
|
|
|
## ਅਸੈਸਮੈਂਟ ਰੂਬ੍ਰਿਕ
|
|
|
|
| ਮਾਪਦੰਡ | ਸ਼ਾਨਦਾਰ (4) | ਨਿਪੁਣ (3) | ਵਿਕਾਸਸ਼ੀਲ (2) | ਸ਼ੁਰੂਆਤੀ (1) |
|
|
|----------|---------------|----------------|----------------|--------------|
|
|
| **ਗੇਮ ਫੰਕਸ਼ਨਲਿਟੀ** | ਕਈ ਅੰਤ ਦੀਆਂ ਸ਼ਰਤਾਂ, ਸਹੀ ਰੀਸਟਾਰਟ, ਅਤੇ ਪਾਲਿਸ਼ਡ ਗੇਮਪਲੇ ਅਨੁਭਵ ਵਾਲੀ ਪੂਰੀ ਗੇਮ | ਬੁਨਿਆਦੀ ਅੰਤ ਦੀਆਂ ਸ਼ਰਤਾਂ ਅਤੇ ਕਾਰਗਰ ਰੀਸਟਾਰਟ ਮਕੈਨਿਕਸ ਵਾਲੀ ਪੂਰੀ ਗੇਮ | ਕੁਝ ਅੰਤ ਦੀਆਂ ਸ਼ਰਤਾਂ ਲਾਗੂ ਕੀਤੀਆਂ, ਰੀਸਟਾਰਟ ਵਿੱਚ ਛੋਟੇ ਮੁੱਦੇ ਹੋ ਸਕਦੇ ਹਨ | ਸੀਮਿਤ ਫੰਕਸ਼ਨਲਿਟੀ ਅਤੇ ਮਹੱਤਵਪੂਰਨ ਬੱਗਾਂ ਵਾਲੀ ਅਧੂਰੀ ਗੇਮ |
|
|
| **ਕੋਡ ਗੁਣਵੱਤਾ** | ਮਾਡਰਨ ਜਾਵਾਸਕ੍ਰਿਪਟ ਅਭਿਆਸਾਂ, ਵਿਸਤ੍ਰਿਤ ਟਿੱਪਣੀਆਂ, ਅਤੇ ਸ਼ਾਨਦਾਰ ਸਟ੍ਰਕਚਰ ਨਾਲ ਸਾਫ਼, ਚੰਗੀ ਤਰ੍ਹਾਂ ਸੰਗਠਿਤ ਕੋਡ | ਚੰਗੀ ਕੋਡ ਸੰਗਠਨਾ, ਮਾਡਰਨ ਸਿੰਟੈਕਸ, ਯਥਾਯੋਗ ਟਿੱਪਣੀਆਂ, ਅਤੇ ਸਪਸ਼ਟ ਸਟ੍ਰਕਚਰ | ਕੁਝ ਮਾਡਰਨ ਅਭਿਆਸਾਂ ਨਾਲ ਬੁਨਿਆਦੀ ਕੋਡ ਸੰਗਠਨਾ, ਘੱਟ ਟਿੱਪਣੀਆਂ | ਖਰਾਬ ਕੋਡ ਸੰਗਠਨਾ, ਪੁਰਾਣਾ ਸਿੰਟੈਕਸ, ਟਿੱਪਣੀਆਂ ਅਤੇ ਸਟ੍ਰਕਚਰ ਦੀ ਘਾਟ |
|
|
| **ਉਪਭੋਗਤਾ ਅਨੁਭਵ** | ਸਪਸ਼ਟ ਹਦਾਇਤਾਂ, ਸ਼ਾਨਦਾਰ ਫੀਡਬੈਕ, ਅਤੇ ਰੁਚਿਕਰ ਅੰਤ/ਰੀਸਟਾਰਟ ਅਨੁਭਵ ਨਾਲ ਸਹਜ ਗੇਮਪਲੇ | ਚੰਗਾ ਗੇਮਪਲੇ, ਯਥਾਯੋਗ ਹਦਾਇਤਾਂ ਅਤੇ ਫੀਡਬੈਕ, ਕਾਰਗਰ ਅੰਤ/ਰੀਸਟਾਰਟ | ਘੱਟ ਹਦਾਇਤਾਂ ਨਾਲ ਬੁਨਿਆਦੀ ਗੇਮਪਲੇ, ਗੇਮ ਸਥਿਤੀ 'ਤੇ ਘੱਟ ਫੀਡਬੈਕ | ਗੇਮਪਲੇ ਗੁੰਝਲਦਾਰ, ਅਸਪਸ਼ਟ ਹਦਾਇਤਾਂ ਅਤੇ ਖਰਾਬ ਉਪਭੋਗਤਾ ਫੀਡਬੈਕ |
|
|
| **ਤਕਨੀਕੀ ਲਾਗੂਕਰਨ** | ਗੇਮ ਵਿਕਾਸ ਸੰਕਲਪਾਂ, ਇਵੈਂਟ ਹੈਂਡਲਿੰਗ, ਅਤੇ ਸਟੇਟ ਮੈਨੇਜਮੈਂਟ ਵਿੱਚ ਮਾਹਰਤਾ ਦਰਸਾਉਂਦਾ ਹੈ | ਗੇਮ ਸੰਕਲਪਾਂ ਦੀ ਪੱਕੀ ਸਮਝ ਨਾਲ ਚੰਗਾ ਲਾਗੂਕਰਨ | ਬੁਨਿਆਦੀ ਸਮਝ ਨਾਲ ਸਵੀਕਾਰਯੋਗ ਲਾਗੂਕਰਨ | ਸੀਮਿਤ ਸਮਝ ਨਾਲ ਖਰਾਬ ਲਾਗੂਕਰਨ |
|
|
| **ਦਸਤਾਵੇਜ਼** | ਵਿਸਤ੍ਰਿਤ README ਸਪਸ਼ਟ ਹਦਾਇਤਾਂ, ਚੰਗੀ ਤਰ੍ਹਾਂ ਦਸਤਾਵੇਜ਼ੀਕ੍ਰਿਤ ਕੋਡ, ਅਤੇ ਪੂਰੀ ਟੈਸਟਿੰਗ ਸਬੂਤ ਦੇ ਨਾਲ | ਚੰਗੀ ਦਸਤਾਵੇਜ਼ੀਕਰਨ, ਸਪਸ਼ਟ ਹਦਾਇਤਾਂ ਅਤੇ ਯਥਾਯੋਗ ਕੋਡ ਟਿੱਪਣੀਆਂ | ਘੱਟ ਦਸਤਾਵੇਜ਼ੀਕਰਨ, ਘੱਟ ਹਦਾਇਤਾਂ | ਖਰਾਬ ਜਾਂ ਗੁੰਝਲਦਾਰ ਦਸਤਾਵੇਜ਼ |
|
|
|
|
### ਗਰੇਡਿੰਗ ਸਕੇਲ
|
|
- **ਸ਼ਾਨਦਾਰ (16-20 ਅੰਕ)**: ਉੱਤਮ ਲਾਗੂਕਰਨ ਅਤੇ ਰਚਨਾਤਮਕ ਫੀਚਰਾਂ ਨਾਲ ਉਮੀਦਾਂ ਤੋਂ ਵੱਧ
|
|
- **ਨਿਪੁਣ (12-15 ਅੰਕ)**: ਸਾਰੇ ਲੋੜਾਂ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ ਅਤੇ ਚੰਗੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕਰਦਾ ਹੈ
|
|
- **ਵਿਕਾਸਸ਼ੀਲ (8-11 ਅੰਕ)**: ਜ਼ਿਆਦਾਤਰ ਲੋੜਾਂ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ, ਛੋਟੇ ਮੁੱਦੇ ਹਨ
|
|
- **ਸ਼ੁਰੂਆਤੀ (4-7 ਅੰਕ)**: ਕੁਝ ਲੋੜਾਂ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ ਪਰ ਮਹੱਤਵਪੂਰਨ ਸੁਧਾਰ ਦੀ ਲੋੜ ਹੈ
|
|
|
|
## ਵਾਧੂ ਸਿੱਖਣ ਦੇ ਸਰੋਤ
|
|
|
|
- [MDN ਗੇਮ ਵਿਕਾਸ ਗਾਈਡ](https://developer.mozilla.org/en-US/docs/Games)
|
|
- [ਜਾਵਾਸਕ੍ਰਿਪਟ ਗੇਮ ਵਿਕਾਸ ਟਿਊਟੋਰਿਅਲ](https://developer.mozilla.org/en-US/docs/Games/Tutorials)
|
|
- [ਕੈਨਵਾਸ API ਦਸਤਾਵੇਜ਼](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API)
|
|
- [ਗੇਮ ਡਿਜ਼ਾਈਨ ਸਿਧਾਂਤ](https://www.gamasutra.com/blogs/)
|
|
|
|
> 💡 **ਪ੍ਰੋ ਟਿਪ**: ਸਧਾਰਨ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਫੀਚਰਾਂ ਨੂੰ ਕ੍ਰਮਵਾਰ ਸ਼ਾਮਲ ਕਰੋ। ਇੱਕ ਚੰਗੀ ਤਰ੍ਹਾਂ ਪਾਲਿਸ਼ਡ ਸਧਾਰਨ ਗੇਮ ਇੱਕ ਜਟਿਲ ਗੇਮ ਨਾਲੋਂ ਬਿਹਤਰ ਹੈ ਜਿਸ ਵਿੱਚ ਬੱਗ ਹਨ!
|
|
|
|
---
|
|
|
|
**ਅਸਵੀਕਰਤਾ**:
|
|
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀ ਹੋਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਚੀਤਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਇਸ ਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ। |