![]()
מכירים אלגוריתם ליצירת לוח סודוקו?shm
אלגוריתם לא יעיל אבל עובדעוקר הרים
אלגוריתם שפותר סודוקו הוא די פשוט.
ניתן להגריל מספרים על הלוח ולבדוק האם יש להם פתרון אחד אפשרי.
זה מאוד לא יעיל אבל עובד...
כן, שכחתי לכתוב חוץ ממנוshm
חוץ מזה שאני לא בטוח שהוא עובד.
כלומר, אם נותנים לך לפתור סודוקו ואתה סתם תגריל מספרים ורק תוודא לפני כן שהמקום שבו אתה מציב אותם לא בעייתי בשבילם, סיכוי גדול שבאיזשהו שלב תיתקע.
אז נכון, אפשר לחזור שלב אחד אחורה ולנסות משהו אחר, ואם לא עובד אז עוד אחד אחורה וכן הלאה, אב כמו שכתבת, זה ממש לא יעיל...
זה ממש לא האלגוריתם לפתרון סודוקועוקר הרים
אלגוריתם של הצבה בהגרלה מסוגל "לפתור" סודוקו לא חוקי (בעל יותר מפתרון אחד).
אלגוריתם כללי של סודוקו נראה בערך כך -
כל תא הוא אובייקט שיש לו שני מאפיינים - המספר שבתא ומערך של המספרים האפשריים בתא זה.
בתא ריק המספר יהיה null או אפס. בתא מלא מערך האפשרויות יהיה ריק.
טרימינולגיה - אזור - שורה/טור/ריבוע.
אנחנו מקבלים כקלט מיקומים של מספרים בלוח.
ישנם שני כללים מתי נסיר אפשרות ממערך האפשרויות -
- עוברים על כל אזור. מסירים ממערך האפשרויות של כל משבצת את הערכים שכבר קיימים באותו אזור.
- אם באזור מסוים יש X משבצות שיש להן את אותן X אפשרויות (לדוגמה שתי משבצות שמערך האפשרויות נראה כך [5,6]), נסיר מכל שאר המשבצות באזור את האפשרויות האלה. (למעשה, 1 הוא מקרה פרטי של 2).
ישנם שני כללים מתי נציב ערך במשבצת -
- נשארה רק אפשרות אחת במערך האפשרויות.
- גם אם ישנה יותר מאפשרות אחת, אם משבצת מסוימת היא היחידה באזור שלה שמכילה אפשרות מסוימת (לדוגמה היא המשבצת היחידה בשורה שניתן להציב בה אחד).
האלגוריתם הזה מסוגל לפתור כל סודוקו חוקי והוא מאוד יעיל. שימוש בו כדי ליצור לוח סודוקו הוא לא יעיל במיוחד.
באמת נשמע יעיל לפתרוןshm
אבל אני מחפש משהו יעיל ליצירה.
חשבתי ככה: אנחנו צריכים לעבור על כל משבצת ולשים בה ערך מסוים, מאחד עד תשע.
בשביל שהיצירה תצא אקראית, מספיק ש: או שהערך המוצב יהיה אקראי, והמעבר על המשבצות יהיה מסודר, או שהמעבר על המשבצות יהיה אקראי והערך מסודר.
בנוסף, בשביל שהמעבר על המשבצות יהיה אקראי צריך ששניים משלושת האיזורים (שורה, טור, ריבוע) יהיה אקראי.
באפשרות הראשונה רוב מוחלט של הסיכויים הוא שכשנגיע למשבצת ה-63 (אולי אפילו ל-52) ניתקע., ולמחוק אחד מהקודמים ולהציב אותו במקום אחר ייצא די מסובך. לכן החלטתי לחשוב על האפשרות השנייה.
אפשר לעבור על כל ריבוע, לבחור בתוכו משבצת בצורה אקראית, להכניס בה את המספר 1, ולעבור לריבוע הבא (כמובן צריך לבדוק לפני ההצבה שהמשבצת הזאת לא "חסומה" כבר בגלל ההצבות בריבועים הקודמים). כשבכל הריבועים יש את המספר 1 עוברים ל-2 (כמובן דואגים גם לא למחוק בטעות משבצת שכבר הוצב בה ערך).
עכשיו, גם כאן יש סיכוי סביר להיתקע כשנשארות עוד 27 משבצות (ובעצם נשארו הספרות 7,8,9), אבל, אפשר שאחרי שעוברים על כל המשבצות שנשארו ורואים שאי אפשר להציב בהן, להציב את הספרה הנוכחית על משבצת שכבר הציבו בה, ואת הערך שהיה בה להעביר למקום אחר בריבוע (כמובן, במשבצת פנויה ובאופן חוקי) ולעבור הלאה.
השאלה היא האם זה באמת יעיל וכן אם זה באמת יעבוד...
בעצם אין לאן להעביר את המספר שמוחקים...shm
לא יעיל ולא יעבוד...עוקר הרים
זה למעשה יותר גרוע מלפתור סודוקו בניחושים.
מה שאני מציע, שקודם כל תממש את האלגוריתם של הפיתרון.
אחרי שתממש אותו, תוכל להציב אקראית מספרים במקומות אפשריים, אחרי כל מספר שתגריל, תבדוק האם יש פתרון לסודוקו. ברגע שאתה רואה שיש פיתרון, תעצור.
ככה יש לך שני ייתרונות גדולים - אתה יודע שיש פיתרון אחד לסודוקו, ואתה צריך להגריל בסביבות 10-15 מספרים כדי ליצור סודוקו, השאר נפתר "לבד".
ייתרון שני - אתה יודע מה מינימום המשבצות הנדרש לפיתרון, אתה יכול לאחר מכן להוסיף עוד "רמזים" כדי לעשות את הסודוקו קל יותר.
אבל שוב, כמו שאמרת זה לא כ"כ יעילshm
יכול לקחת לו כמה דקות שלימות ליצור אחד כזה (אם כי, יכול להיות שהיתרונות שציינת ידרשו אותה כמות זמן באלגוריתמים אחרים..)
מה שעשיתי לפני ששאלתי זה פשוט להגריל משבצת ומספר ולהציב אם זה לא נוגד את החוקים. הגעתי בפחות משנייה ל-62 משבצות מלאות, ואז הוא נתקע. יכול להיות שאם אני לא אגביל אותו למשבצות שעוד לא הוצב בהן זה יעבוד. צריך לנסות, וכרגע אין לי זמן...
אני לא חושבעוקר הרים
אני לא חושב שייקח יותר משנייה-שתיים.
הייתי מוכיח את זה אם לא היה עכשיו ערב פסח והייתי צריך לנקות מטבח...
יכול להיותshm
![]()
טוב, בנתיים הפתרון שלך הכי טוב...shm
אחרי שתיקנתי את הבעיה הוא רק פעם אחת הצליח וגם זה אחרי 2 שניות...
מאין לך שזה אלגוריתם שפותר הכל?שמואלג
מחקר שעשיתי באינטרנט הראה שישנם עוד כמה דברים שצריך באלגוריתם
אין לי הוכחהעוקר הרים
אבל עוד לא מצאתי סודוקו "חוקי" (עם פתרון יחיד) שלא נפתר על ידי האלגוריתם הזה.
למעשה את כלל מספר 2 ניתן להרחיב עוד - אם יש X משבצות שמכילות X אפשרויות (לדוגמה 3 משבצות שהאפשרויות שיש בהן - [1,2],[2,3],[3,1]).
כאמור - למרות שלא מימשתי את ההרחבה הזו עוד לא מצאתי סודוקו שלא ניתן לפתירה על ידי הכללים שכתבתי למעלה.
לקחתי מעתוניםשמואלג
כאילו כבר מימשת את זה?shm
זה רק פותר לא יוצרעוקר הרים
באיזה שפה זה?shm
javascriptעוקר הרים
בחלק מהמקומות השתמשתי בתכונות חדשות יחסית של השפה (es6).
החלק המעניין נמצא בקובץ הזה.
במימוש שם כל תא מכיל רק מערך של אפשרויות. אם יש רק אפשרות אחת, אז היא הערך של התא.
..shm
.
זה מה שתהיתי איך לממשshm
האמת שחשבתי על מערך שיישאר תמיד של 9 רק שחלק יהיו ריקים (0)
תלוי באיזו שפה אתה מממשעוקר הרים
ב-javascript יותר מקובל לעשות בצורה הזו (אם כי באמת לרוב יותר יעיל לשים אפסים).
אופס. הוא כתב לי שיש שגיאה וחשבתי שלא נשלח...shmאחרונה
יש לך דרך קלה לבדוק שחוקי?שמואלג
לא תמידעוקר הרים
לפעמים פשוט רואים שמה שהאלגוריתם לא מילא יש בו יותר מאפשרות אחת.
לא ממש עובד לי להכניס לשםשמואלג
אנסה לחפש מקור עם כמות מכובדת וapi נח להוצאה
אם זה יעזור -עוקר הרים
אני יכול לחשוף API שפותר וככה יהיה אפשר לבדוק הכל בצורה נוחה...
אפשר פשוט "לפתור" לוח ריק...אלעזר300
הבעיה היא שיש אינספור פתרונות ללוח ריקעוקר הרים
אז מה?אלעזר300
אז אי אפשר לפתור, אלא רק לנחשעוקר הרים
וזה למעשה מה ש-shm כבר הציע...
הסתמכתי בעיקר על זהאלעזר300
שפעמים רבות גם פתרון סודוקו "רגיל" נזקק לניחוש כחלק משיטת הפתרון. ואם כך, משימה של יצירת לוח סודוקו זהה לגמרי למשימה של "פתירת" לוח ריק, אם לפתור סודוקו אתה כבר יודע.
ממש לאshm
אם אתה מגיע למצב של 'ניחוש' בסודוקו כנראה יש לו יותר מפתרון אחד (אלא אם כן מתברר לך בהמשך שהניחוש לא נכון והאפשרות השנייה נכונה)
נכון, אבל לפעמים הניחוש נצרך, כמו בסוגריים שלך,אלעזר300
ואין דרך לפתור בלעדיו.
אחרי מחשבה נוספת: אתה רוצה ליצור לוח סודוקו חלקי? כלומר שמישהו אחר ימשיך לפתור? ושיהיה רק פתרון אחד? - זאת באמת משימה אחרת. הייתי מתחיל דווקא מהסוף: לוקח לוח סודוקו מלא ומוחק ממנו מספרים כל עוד אפשר.
למעשה זאת הייתה התכנית מראשshm
אבל כדי למחוק מלוח סודוקו קיים, צריך לוח סודוקו קיים, ולכן השאלה. בכל מקרה בנתיים הדרך של @עוקר הרים נשמעת לי הכי טובה, אחרי שניסיתי את האחרות, אבל עדיין אני מחפש...
קורסי אקדמיית BI חינםTzachiGolan
12 שנים בתחום ה BI בתוך 5 קורסים חינמיים של כל הכלים שעבדתי איתם -
במהלך הקריירה שלי עבדתי עם כל שכבות עולם ה-Business Intelligence
מפיתוח ב-SQL Server דרך תהליכי ETL ו Data Warehouse ועד ניהול והובלת פרויקטי BI בענן
ריכזתי את כל הידע המעשי שצברתי לקורסים חינמיים ביוטיוב בדיוק כמו שעובדים BI בעולם האמיתי
אם אתם Data Analyst , BI Developer או אם אתם שואפים להיות BI System Analyst זה המקום לבנות בסיס חזק לקריירת BI
🔁 אם אתם מכירים מישהו שרוצה להיכנס לעולם ה-BI – שתפו איתו
🔗 לינק לערוץ : אקדמיית BI חינם מקצה לקצה ב YouTube
תודהavinagarאחרונה
מישהו יכול לבדוק את הקוד הזה? בפייתוןאדיר לוייי
זה צריך להיות לתוכנה שמתרגמת שמות קבצים ומסדרת אותם
נעשה עם gpt
לטענתה הכל מושלם ןיציב אבל רוצה לשמוע שזה עבד מושלם בפועל
זה הקוד:
import os
import json
import shutil
import re
from pathlib import Path
from PySide6.QtWidgets import (
QApplication, QWidget, QVBoxLayout, QPushButton,
QFileDialog, QTableWidget, QTableWidgetItem, QMessageBox
)
from PySide6.QtCore import Qt
BASE_DIR = Path(__file__).parent
ARTISTS_FILE = BASE_DIR / "artists.json"
UNDO_FILE = BASE_DIR / "undo_log.json"
# ---------- Utils ----------
def load_artists():
if ARTISTS_FILE.exists():
with open(ARTISTS_FILE, "r", encoding="utf-8") as f:
return json.load(f)
return {}
def save_artists(data):
with open(ARTISTS_FILE, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
def clean_name(name):
name = re.sub(r"[_\-\.]", " ", name)
name = re.sub(r"[\"\'`]", "", name)
name = re.sub(r"\s+", " ", name)
return name.strip()
def transliterate_hebrew(text):
table = {
"א": "a", "ב": "b", "ג": "g", "ד": "d", "ה": "h",
"ו": "v", "ז": "z", "ח": "ch", "ט": "t",
"י": "i", "כ": "k", "ל": "l", "מ": "m",
"נ": "n", "ס": "s", "ע": "a", "פ": "p",
"צ": "tz", "ק": "k", "ר": "r", "ש": "sh",
"ת": "t", "ך": "k", "ם": "m", "ן": "n",
"ף": "f", "ץ": "tz"
}
return "".join(table.get(c, c) for c in text)
# ---------- Main App ----------
class TuneMaster(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("TuneMaster – Safe Rename")
self.resize(800, 500)
self.layout = QVBoxLayout(self)
self.btn_select = QPushButton("בחר תיקייה")
self.btn_execute = QPushButton("בצע שינויים")
self.btn_undo = QPushButton("בטל שינויים")
self.table = QTableWidget(0, 3)
self.table.setHorizontalHeaderLabels(["מקור", "חדש", "נתיב מלא"])
self.table.horizontalHeader().setStretchLastSection(True)
self.layout.addWidget(self.btn_select)
self.layout.addWidget(self.table)
self.layout.addWidget(self.btn_execute)
self.layout.addWidget(self.btn_undo)
self.btn_select.clicked.connect(self.select_folder)
self.btn_execute.clicked.connect(self.execute)
self.btn_undo.clicked.connect(self.undo)
self.preview = []
self.artists = load_artists()
def select_folder(self):
folder = QFileDialog.getExistingDirectory(self, "בחר תיקייה")
if not folder:
return
self.preview.clear()
self.table.setRowCount(0)
for root, _, files in os.walk(folder):
for f in files:
path = Path(root) / f
stem = path.stem
ext = path.suffix
clean = clean_name(stem)
new_name = None
for he, en in self.artists.items():
if he in clean:
new_name = clean.replace(he, en)
break
if not new_name:
new_name = transliterate_hebrew(clean)
new_full = new_name + ext
if new_full != f:
self.preview.append((path, path.with_name(new_full)))
for old, new in self.preview:
row = self.table.rowCount()
self.table.insertRow(row)
self.table.setItem(row, 0, QTableWidgetItem(old.name))
self.table.setItem(row, 1, QTableWidgetItem(new.name))
self.table.setItem(row, 2, QTableWidgetItem(str(old)))
def execute(self):
if not self.preview:
return
undo_data = []
for old, new in self.preview:
if new.exists():
continue
shutil.move(str(old), str(new))
undo_data.append({"from": str(new), "to": str(old)})
with open(UNDO_FILE, "w", encoding="utf-8") as f:
json.dump(undo_data, f, indent=2, ensure_ascii=False)
QMessageBox.information(self, "בוצע", "השינויים בוצעו בהצלחה")
def undo(self):
if not UNDO_FILE.exists():
QMessageBox.warning(self, "אין", "אין מה לבטל")
return
with open(UNDO_FILE, "r", encoding="utf-8") as f:
undo_data = json.load(f)
for item in undo_data:
if Path(item["from"]).exists():
shutil.move(item["from"], item["to"])
UNDO_FILE.unlink()
QMessageBox.information(self, "בוטל", "כל השינויים בוטלו")
# ---------- Run ----------
if __name__ == "__main__":
app = QApplication([])
win = TuneMaster()
win.show()
app.exec()
מצחיקנקדימון
אתה מודע לזה שאין סיכוינפשי תערוג
שמישהו עם ראש על הכתפיים יריץ קוד שמישהו אחר כתב.
נכון?
לא הבנתי מה הבעיה שלך להריץ אותו.
תוריד vc code ותריץ
ומעבר לזהמבולבלת מאדדדד
אני לא חושבת שלהעתיק מפה יעבוד.
אתה לא צריך אותנוultracrepidam
תכתוב "run python online" ותראה אופציות להרצה.
ואם אתה רוצה ממש להשקיע תוריד את התוכנות הנדרשות ותריץ עצמאית
זה לא יעבוד עם online pythonנפשי תערוג
כי הוא צריך לעבוד עם קבצים
ואיך הוא יראה שינוי בשם הקובץ?
כן אני רק אוודא שזה לא יסדר לי את הקבציםאדם פרו+
בצורה שאני לא רוצה..
ולא איכפת לי לבדוק את הקוד אם הוא עובד
זה תוכנה לסידור קבצי מוזיקה לנגן שלא תומך בעבריתאדם פרו+אחרונה
או משהו כזה.
מתרגמת את שמות הקבצים לאנגלית.
משרה ממשלתיתאונמר
כן או לא?
יתרונות חסרונות?
אין לי מושג מה זה אומר ואשמח לכל מידע שיש לכם.
בנוסף - כמה אני אמורה להגיד ציפיות שכר, אם אני ניגשת למכרז - יש לי 3 שנים ניסיון full stack.
תודה לכם🙏
העסקה ישירה או דרך מיקור-חוץ? אם העסקה ישירה, האםפ.א.
בחוזה אישי או הסכם עבודה קיבוצי? יש ועד עובדים?
משכורת גלובלית או לפי שעון נוכחות?
יש מאפיינים שונים להעסקה במשרה ממשלתית.
התנאים במשרד החנוך אינם התנאים במשרד הביטחון, למשל.
הייאונמר
מיקור חוץ.
מאמינה שלפי שעון נוכחות.
דרך מיקור חוץ השכר גבוה מאשר עובדי מדינה באותו תפקפ.א.
תפקיד.
השכר הגבוה יותר מגלם את הזכויות והתנאים העודפים שיש לעובדים בקביעות באותו מקום.
בתפקידי תכנות, הנדסה, מערכות מידע - השכר במיקור חוץ יכול להיות מאוד טוב.
החסרון הבסיסי והגדול - חוץ מהשכר, אין שום תנאים נלווים שווים.
ההעסקה דרך מיקור חוץ במשרה ממשלתית - לברר בזמן הצגת הצעת השכר האם המשרה והשכר נמצאים תחת מגבלת מכסת שעות שנתיות של המעסיק.
לדוגמה האם זה לפי ממוצע 180 שעות בחודש כפול 12 חודשים, 2160 שעות שנתיות.
אם זה כך באותה משרה, ביצוע שעות נוספות אומנם מקפיץ מאוד את השכר מאוד באותו חודש, באלפי שקלים אפילו, אך השעות הנוספות אוכלות מהעוגה השנתית של מכסת השעות ויתכן שהמכסה של 2160 שעות, מהדוגמה, יאזלו חודש לפני סוף השנה או שבועיים לפני, ואז צריך לשבת בבית עד לתחילת שנת התקציב הבאה של אותו משרד ממשלתי.
אוקיי. תודה רבה!!אונמראחרונה
אני לא מבין בשכר בממשלהמשה
בגדול, זה נחשב מקומות עבודה יציבים יותר שמשלמים פחות.
תודה!אונמר
קוד לcmdפצל"פ
מישהו יכול לכתוב לי פה קוד לcmd (אני הולך לשמור אותו כקובץ bat בתיקייה הרלוונטית במחשב) שיהפוך את כל הסיומות של הקבצים שנמצאים בתיקייה של הסקריפט לאותיות גדולות?
למשל יש לי בתיקיה קבצים בשם
דוגמהא.rtf
דוגמהב.zip
ודוגמהג.doc
אחרי הקוד זה צריך להיראות ככה
דוגמהא.RTF
דוגמהב.ZIP
ודוגמהג.DOC
זה ממש יעזור לי
תודה רבה!
יהיה לך לדעתי יותר קל עם powershellמשה
בכיוון הזה
How to convert the content of the file into uppercase or lowercase?
במקרה הזה אתה בעברית אז לא צריך לפצל את הסיומת.
תודה!פצל"פאחרונה
רק לא כ"כ הבנתי מה שכתבת אחרי הקישור
וגם הוא מדבר שם (לפחות מה שאני הבנתי) על להמיר תוכן של קובץ, איך עושים את זה לשמות הקבצים? או שזה פשוט תוכן הקובץ של התיקיה הגדולה?
מדריך React Memongfxp
היי חברים, רציתי לעדכן שהעלתי סרטון חדש לYouTube - מדריך React Memo
Memo היא פונקציה (HOC) שמאפשרת לנו לדלג על רינדורים חוזרים של קומפוננטה כאשר הProps של הקומפוננטה לא משתנים
קישור לסרטון:
מה דעתכם?
איזה נושא תרצו את הסרטון הבא?
יש משהו דומה גם בVUE. יצא לי להשתמש בומשה
מה שם הפיצ'ר המקביל ב Vue?zoharelias
V-memoמשהאחרונה
Apiאפרת???
היי, אני צריכה ייעוץ דחוף ממי שמבין בזה.
אשמח לדבר בפרטי
API -+ ממשק המאפשר גישה תכנותית לספריה/תוכנה11111
זה יכול להיות יותר מידי דברים,
רצוי שתשאלי פה את השאלה על מנת שאחרים יוכלו להעזר בשאלה גם אחרים,
אבל בכל מקרה צריך שתגידי על איזה API את מדברת כי זה יכול להיות דברים שונים לחלוטין.
מה בדיוק צריכה ?Adi alon
בטח מאוחר מדימשהאחרונה
אבל לשאול שאלות אפשר.
היי חברה לגבי בריאות העיניים למתכנתים שביננוhameiri13
יש משהו שנשקרא "אור כחול" שכל המסכים פולטי והדבר הזה יכול
להכביד על העיניים כשאנו משתמשים במכך למשך זמן רב ללא הפסקה.
ממליץ לקרוא כמה מאמרים בנושא:
שמירה על העיניים כשיושבים מול המחשב
ממליץ גם על יואב טלר. יש ל מדריך חינמי על איך יושבים בתכלס מול המחשב. בחור נחמד ומומחה!
שיהיה רק בריאות חברים !
הוספת גרפיקה בתכנותמתלמד123
שאלת בורות, אבל אני רוצה להבין ולא מצאתי תשובה לבד: נניח אני מפתח משחק בC++, איפה בדיוק נכנסת הגרפיקה? ראיתי שיש פקודות למשתנים לולאות וכו', איך אני מכניס תמונה שתזוז על פי התוכנה? אני מצייר אותה בקובץ נפרד ומכניס? אם כן איך ואיפה?
לא קריטי לי כל כך להיכנס לפרטים עכשיו, אבל אני נכנס לנושא אז אני רוצה לפחות להבין בגדול.
למה C++?אליסף א
אם אתה רוצה, חיפוש ביוטיוב יוביל אותך בקלות לסידרה של בניית מכונות משחק
זוהי הדרך הארוכה שהיא קצרה
בכל אופן, ישנן שפות אחרות שיותר מתאימות לזה.
אם תכתוב מה אתה מתכנן אולי אוכל לכוון אותך
רק עבור ציור על המסךאליסף א
Write directly to screen with c++ - Stack Overflow
תקרא את התשובת שם
יותר לעומקאליסף א
Module 3. Windows Graphics - Win32 apps
לא קראתי, אבל נראה שיש שם הרבה חומר.
ושוב אני שואל , למה C++?
כי זו השפה שאתה מכיר?
אולי בפייטון יהיה לך יותר קל להתחיל.?
עוד סרטונים
https://www.youtube.com/watch?v=1KD4Ae0tX0g&list=PL-K0viiuJ2RctP5nlJlqmHGeh66-GOZR_
לפי מה ששמעתי זאת אחת השפות הטובות למשחקיםמתלמד123
הבנתי שבגרפיקה היא לא חזקה במיוחד, אבל הגרפיקה לא כל כך חשובה לי, יותר חשוב לי כל המשתנים והמעבר למה שרואים.
זה מה שהבנתי מאנשים שמלמדים פיתוח משחקים, אבל יש סיכוי שזה לא נכון, כמה אתה בטוח שC++ לא טובה?
אני חושב על משהו של אסטרטגיה בלי המון גרפיקה, לא יודע בדיוק מה...
השאלה מה אתה מנסה ללמודאליסף א
באיזה שלב אתה.
אתה יודע לתכנת ?
בכמה שפות ?
כמה נסיון יש לך?
מה המטרה שלך? לכתוב משחק? או ללמוד לתכנת?
האם שמעת על unity?
שזו פלטפורמה לכתיבת משחקים, כוללת תלת מימד.
אם המטרה היא ללמוד לתכנת
אז C++ היא בהחלט מקום טוב ללמוד בו, רק מעט קשוח.
אם המטרה היא לכתוב משחק.
אז יש פלפורטמות קלות יותר. ומתאימות יותר
יתרונה של C++ היא בקרבתה לחומרה, ולכן היא מהירה יותר. ולכן מנוע שתכתוב בה, יעבוד יותר טוב.
בהצלחה.
אני רוצה ללמוד תכנותמתלמד123
ולא מחפש עכשיו תלת ממד.
תודה על התשובות.
תתחיל עם #c יהיה לך יותר.קלמשה
אפשרות שניה, jsמשה
נכון, #C, או JS או כמובן פייתוןzohareliasאחרונה
למי שרוצה להתחיל ללמוד תכנות, אלו השפות הכי מומלצות, באופן כללי.
עם שלושתן אפשר לתכנת משחקים.
אתה צריך להוסיף אפשרות ל "לייק"אליסף א
הייתי עושה לך .