جلسه ۳: اولین برنامه جاوا – برنامه لبخند در جاوا

import com.educative.graphics.*;
class Smiley {
public static void main(String[] args) {
Canvas c;
c = new Canvas(200, 200);
// Draw the outline of the face
c.fill("yellow");
c.stroke("black");
c.circle(100, 100, 50);
// draw the mouth
// draw the eyes
c.draw();
}
}
کد پاسخ تمرین:
import com.educative.graphics.*;
class Smiley {
public static void main(String[] args) {
Canvas c;
c = new Canvas(200, 200);
// Draw the outline of the face
c.fill("yellow");
c.stroke("black");
c.circle(100, 100, 50);
// draw the mouth
c.stroke("black");
c.fill("yellow");
c.circle(100, 100, 30);
c.stroke("yellow");
c.rect(68, 68, 62, 40);
// draw the eyes
c.stroke("black");
c.fill("black");
c.circle(100 - 20, 100 - 10, 5);
c.circle(100 + 20, 100 - 10, 5);
c.draw();
}
}
// include educative's simple graphics library:
import com.educative.graphics.*;
class DrawCircle {
public static void main(String[] args) {
// set up a canvas for drawing:
Canvas c;
c = new Canvas(200, 200);
// call some graphics commands:
c.fill("yellow");
c.stroke("black");
c.circle(100, 100, 50);
// nothing is actually drawn on the screen until
// the `draw` method is called:
c.draw();
}
}
اولین مواردی که در کد بالا باید به آن توجه داشته باشید:
- توضیح های تک خطی با
//
شروع می شوند. - به تمام توابع در جاوا متد گفته می شود.
c.circle
متدcircle
را با پارامترهای ۱۰۰ ، ۵۰ ، ۵۰ فراخوانی می کند ، این سه پارامتر مختصاتx
وy
مرکز و همچنین شعاع دایره را مشخص می کنند. - برخی از فراخوانی های متد به یک شی نیاز دارند. مثلاً متد
circle
برای ترسیم به یک شیCanvas
(بوم نقاشی) نیاز دارد. چند خط اول کد اشاره گری به یک شیCanvas
را در متغیرc
قرار می دهند. سپس فراخوانی متدc.circle
بر روی آن شیCanvas
عمل می کند. - متد اصلی با استفاده از کلمات کلیدی
public static void
تعریف شده است. متد با نامmain
ویژه است: جاوا اجرای برنامه را از سطر اول متدی به نامmain
شروع می کند. - اعلان متدها در کلاسها دسته بندی می شوند.
- بیشتر خطوط کد به نقطه ویرگول
(;)
ختم می شوند بجز اعلان های متد و کلاس.
اولین برنامه: ترسیم چهره خندان
به عنوان تمرین دست گرمی ، با تغییر کدهای داخل کادر بعدی برنامه ای بنویسید که صورت خندان زرد رنگی را روی صفحه ترسیم کند. برای این منظور شما یک پنجره ۲۰۰ در ۲۰۰ در دسترس دارید. رئوس صورت را بعد از اولین خط توضیح (زیر اولین خطی که با //
شروع می شود) بکشید ولی سمیکالن (نقطه ویرگول) آخر خطوط را فراموش نکنید. چشم ها را بکشید. کد خود را برای کشیدن چشم ها بعد از دومین خط توضیح قرار دهید (زیر دومین خطی که با //
شروع می شود). چالش: دهان را بکشید. راهنما -
یک دایره بکشید و سپس قسمت بالای آن را با کشیدن یک مستطیل زرد که قسمت بالای دهان را می پوشاند اما در داخل صورت قرار دارد ، پاک کنید. (برای رسم مستطیل از متد c.rect
که چهار پارامتر دریافت می کند ، استفاده کنید.)
کد خودتان را با کد کامل شده که زیر کد پاسخ است مقایسه کنید.
کد تمرین:
import com.educative.graphics.*;
class Smiley {
public static void main(String[] args) {
Canvas c;
c = new Canvas(200, 200);
// Draw the outline of the face
c.fill("yellow");
c.stroke("black");
c.circle(100, 100, 50);
// draw the mouth
// draw the eyes
c.draw();
}
}
کد پاسخ تمرین:
import com.educative.graphics.*;
class Smiley {
public static void main(String[] args) {
Canvas c;
c = new Canvas(200, 200);
// Draw the outline of the face
c.fill("yellow");
c.stroke("black");
c.circle(100, 100, 50);
// draw the mouth
c.stroke("black");
c.fill("yellow");
c.circle(100, 100, 30);
c.stroke("yellow");
c.rect(68, 68, 62, 40);
// draw the eyes
c.stroke("black");
c.fill("black");
c.circle(100 - 20, 100 - 10, 5);
c.circle(100 + 20, 100 - 10, 5);
c.draw();
}
}
در این جلسه ضمن نوشتن کد برای ترسیم صورتک ، ساختار اساسی یک برنامه جاوا را می آموزید. در زیر یک برنامه جاوا برای رسم دایره می بینید. در ادامه آن را بررسی می کنیم.
// include educative's simple graphics library:
import com.educative.graphics.*;
class DrawCircle {
public static void main(String[] args) {
// set up a canvas for drawing:
Canvas c;
c = new Canvas(200, 200);
// call some graphics commands:
c.fill("yellow");
c.stroke("black");
c.circle(100, 100, 50);
// nothing is actually drawn on the screen until
// the `draw` method is called:
c.draw();
}
}
اولین مواردی که در کد بالا باید به آن توجه داشته باشید:
- توضیح های تک خطی با
//
شروع می شوند. - به تمام توابع در جاوا متد گفته می شود.
c.circle
متدcircle
را با پارامترهای ۱۰۰ ، ۵۰ ، ۵۰ فراخوانی می کند ، این سه پارامتر مختصاتx
وy
مرکز و همچنین شعاع دایره را مشخص می کنند. - برخی از فراخوانی های متد به یک شی نیاز دارند. مثلاً متد
circle
برای ترسیم به یک شیCanvas
(بوم نقاشی) نیاز دارد. چند خط اول کد اشاره گری به یک شیCanvas
را در متغیرc
قرار می دهند. سپس فراخوانی متدc.circle
بر روی آن شیCanvas
عمل می کند. - متد اصلی با استفاده از کلمات کلیدی
public static void
تعریف شده است. متد با نامmain
ویژه است: جاوا اجرای برنامه را از سطر اول متدی به نامmain
شروع می کند. - اعلان متدها در کلاسها دسته بندی می شوند.
- بیشتر خطوط کد به نقطه ویرگول
(;)
ختم می شوند بجز اعلان های متد و کلاس.
اولین برنامه: ترسیم چهره خندان
به عنوان تمرین دست گرمی ، با تغییر کدهای داخل کادر بعدی برنامه ای بنویسید که صورت خندان زرد رنگی را روی صفحه ترسیم کند. برای این منظور شما یک پنجره ۲۰۰ در ۲۰۰ در دسترس دارید. رئوس صورت را بعد از اولین خط توضیح (زیر اولین خطی که با //
شروع می شود) بکشید ولی سمیکالن (نقطه ویرگول) آخر خطوط را فراموش نکنید. چشم ها را بکشید. کد خود را برای کشیدن چشم ها بعد از دومین خط توضیح قرار دهید (زیر دومین خطی که با //
شروع می شود). چالش: دهان را بکشید. راهنما -
یک دایره بکشید و سپس قسمت بالای آن را با کشیدن یک مستطیل زرد که قسمت بالای دهان را می پوشاند اما در داخل صورت قرار دارد ، پاک کنید. (برای رسم مستطیل از متد c.rect
که چهار پارامتر دریافت می کند ، استفاده کنید.)
کد خودتان را با کد کامل شده که زیر کد پاسخ است مقایسه کنید.
کد تمرین:
import com.educative.graphics.*;
class Smiley {
public static void main(String[] args) {
Canvas c;
c = new Canvas(200, 200);
// Draw the outline of the face
c.fill("yellow");
c.stroke("black");
c.circle(100, 100, 50);
// draw the mouth
// draw the eyes
c.draw();
}
}
کد پاسخ تمرین:
import com.educative.graphics.*;
class Smiley {
public static void main(String[] args) {
Canvas c;
c = new Canvas(200, 200);
// Draw the outline of the face
c.fill("yellow");
c.stroke("black");
c.circle(100, 100, 50);
// draw the mouth
c.stroke("black");
c.fill("yellow");
c.circle(100, 100, 30);
c.stroke("yellow");
c.rect(68, 68, 62, 40);
// draw the eyes
c.stroke("black");
c.fill("black");
c.circle(100 - 20, 100 - 10, 5);
c.circle(100 + 20, 100 - 10, 5);
c.draw();
}
}